Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Generative Adversarial Network for Natural Language Processing

Generative Adversarial Network for Natural Language Processing

人工知能学会主催・第75回人工知能セミナー(2018.8.27)「画像・音声・テキスト処理におけるGenerative Adversarial Networkの応用」にて話した「言語処理における GAN の展開」というトークのスライドです。

目次
1. 系列データと GAN
2. GAN の機械翻訳への応用
3. GAN の対話への応用
4. 自然言語処理における GAN の新展開

http://www.ai-gakkai.or.jp/no75_jsai_seminar_test/

Mamoru Komachi

August 28, 2018
Tweet

More Decks by Mamoru Komachi

Other Decks in Research

Transcript

  1. • 2005.03 東京⼤学教養学部基礎科学科 科学史・科学哲学分科卒業 • 2010.03 奈良先端⼤・博⼠後期課程修了 博⼠(⼯学) 専⾨: ⾃然⾔語処理

    • 2010.04〜2013.03 奈良先端⼤ 助教(松本裕治研究室) • 2013.04〜 ⾸都⼤学東京 准教授(⾃然⾔語処理研究室) • 2020.04〜 東京都⽴⼤学(予定) ⾃⼰紹介 2 2018/8/27 ⾔語処理における GAN の展開
  2. エンコーダ・デコーダモデル によるニューラル機械翻訳 今⽇ 暑い です ね it is today hot

    ⼊⼒および出⼒の両⽅が系列データ →RNN⾔語モデルを2つ⽤い、⽂脈を考慮して1単語ずつ⽣成 エンコーダ デコーダ アテンション 単語分散表現 2018/8/27 ⾔語処理における GAN の展開 4
  3. ニューラル機械翻訳による 流暢な翻訳の実現 ⼊⼒ Google ニューラル 機械翻訳 Google フレーズ ベース統計翻訳 私は悲しい映画は

    嫌いだ。 I dislike sad movies. I am sad movie hate. 彼は刑事だ。 He is a detective. He is a criminal. 彼が来ようが来ま いが、私は⾏く。 I will go whether he will come or not. He will Koyo but come Mai, but I go. 彼は⽬をとしてそ こに座りました。 He sat there with his eyes wide open. He sat there as the eye. ⾔語処理における GAN の展開 5 OpenNMT-py によるニューラル機械翻訳演習 (https://goo.gl/KmQFLM) 2018/8/27
  4. ニューラル翻訳の弱点: 流暢性が⾼くても妥当性が低い • 消失 under-transla+on • ⼊⼒: ホームベーカリーの⽣地作りコースで⽣地を作 る。 •

    NMT: Make the dough using the dough se@ng. • 挿⼊ over-transla+on • ⼊⼒: 紙に包んで • NMT: Wrap the cake in the cake paper • 重複 repe++on • ⼊⼒: 2時間程度圧⼒をかけて炊きましたら、⼀度、鍋を 開けて中を確認します。 • NMT: If you have Dme , eave to steam for about 2 hours, and open the pot, and open the pot to make sure they’re done. ⾔語処理における GAN の展開 6 2018/8/27
  5. ⽬次: ⾔語処理における GAN 1. 系列データと GAN 2. GAN の機械翻訳への応⽤ 3.

    GAN の対話への応⽤ 4. ⾃然⾔語処理における GAN の新展開 5. まとめ 2018/8/27 ⾔語処理における GAN の展開 8
  6. GAN を⾃然⾔語の系列データ に適⽤する際の問題点 問題1: 系列を扱う場合 Generator の出⼒が離散値 なので、Discriminator の学習が困難 1.

    強化学習(policy gradient)を⽤いて Generator が確率的な⽅策とみなして学習 2. Generator の出⼒を近似して、微分可能な形 にして学習 問題2: Discriminator として何を使えばいい? 1. CNN/RNN → より複雑なモデルへ…… 2. 何を敵対的サンプルとするか? ⾔語処理における GAN の展開 10 2018/8/27
  7. 系列データと GAN • Yu et al. SeqGAN: Sequence Generative Adversarial

    Nets with Policy Gradient (AAAI 2017; 初出 arXiv:1609) • Zhang et al. Feature Matching for Text Generation (ICML 2017; textGAN) • Fedus et al. MaskGAN: Better Text Generation via Filling in the ____ (ICLR 2018) ⾔語処理における GAN の展開 11 2018/8/27
  8. SeqGAN: 系列データのための GAN の古典的論⽂ Yu et al. SeqGAN: Sequence Generative

    Adversarial Nets with Policy Gradient (AAAI 2017) ポイント • 系列を扱う場合 Generator の出⼒が離散値なの で、Discriminator の学習が困難 →強化学習を⽤いて Generator を学習 • Discriminator は完全な系列しか評価できない →モンテカルロ探索を⾏う ⾔語処理における GAN の展開 12 2018/8/27
  9. textGAN: 強化学習を⽤いずに ⾔語⽣成のための GAN の学習 Zhang et al. Feature Matching

    for Text Generation (ICML 2017; textGAN) ポイント • 強化学習ではなく Soft-argmax により微分可能 にして Discriminator を学習 • 離散的な単語ではなく潜在空間で最適化を⾏う ⾔語処理における GAN の展開 16 2018/8/27
  10. ⽂⽣成の潜在空間を考慮して mode collapse 問題を回避 1. Generator: 潜在空間を考慮した LSTM 2. Discriminator:

    CNN 3. Maximum Mean Discrepancy (MMD) の最⼩化 2018/8/27 ⾔語処理における GAN の展開 17
  11. 潜在空間を考慮した LSTM による ⾔語⽣成 • 単語から⽂を⽣成する →最初の単語は潜在変数だけから⽣成 • So^-argmax: Gumbel

    So^max と同様、微分可能 にするためのトリック 2018/8/27 ⾔語処理における GAN の展開 18
  12. MaskGAN: ⾔語⽣成に適した GAN の学習 Fedus et al. MaskGAN: Be`er Text

    Generaaon via Filling in the ____ (ICLR 2018) ポイント • エンコーダ・デコーダモデルで GAN を使って ⽣成するには Teacher-Forcing をしたりしないと 学習が安定しない →エンコーダをマスクしてデコード時に未知の ⼊⼒から復元できるように学習する ⾔語処理における GAN の展開 22 2018/8/27
  13. 系列データと GAN • Yu et al. SeqGAN: Sequence Generative Adversarial

    Nets with Policy Gradient (AAAI 2017; 初出 arXiv:1609) • Zhang et al. Feature Matching for Text Generation (ICML 2017; textGAN) • Fedus et al. MaskGAN: Better Text Generation via Filling in the ____ (ICLR 2018) ⾔語処理における GAN の展開 25 2018/8/27
  14. GAN の機械翻訳への応⽤ • Yang et al. Improving Neural Machine Translation

    with Conditional Sequence Generative Adversarial Nets (NAACL 2018; 初出 arXiv:1703) • Cheng et al. Towards Robust Neural Machine Translation (ACL 2018) • Yang et al. Unsupervised Neural Machine Translation with Weight Sharing (ACL 2018) ⾔語処理における GAN の展開 27 2018/8/27
  15. CSGAN: GAN のニューラル機械 翻訳への応⽤の古典的論⽂ Yang et al. Improving Neural Machine

    Translation with Conditional Sequence Generative Adversarial Nets (NAACL 2018; 初出 arXiv:1703) ポイント • GAN をニューラル機械翻訳に適⽤ • Discriminator はシステムによる翻訳か⼈⼿によ る翻訳かを識別 • (arXiv のバージョン間でかなり⼿法が違う) ⾔語処理における GAN の展開 28 2018/8/27
  16. BLEU-Reinforced Conditional Sequence GAN (BR-CSGAN) 2018/8/27 ⾔語処理における GAN の展開 29

    b: ベースラインのスコア(例: 0.5) Q: MCMC で求めた出⼒の BLEU スコア
  17. BR-CSGAN: BLEU と discriminator を両⽅考慮すると性能向上 • λ = 1.0 →

    普通の GAN でも効果があった • λ = 0.0 → BLEU を使うだけで discriminator を使 わない(minimum risk training と等価)と、性 能向上は少ない 2018/8/27 ⾔語処理における GAN の展開 30
  18. GAN を⽤いてニューラル翻訳の エンコーダの頑健性向上 Cheng et al. Towards Robust Neural Machine

    Translation (ACL 2018) ポイント • Discriminator はノイズが⼊った⽂と⼊っていな い⽂を識別 • ノイズが⼊った⽂からでもロバストにエンコー ドできるように学習 ⾔語処理における GAN の展開 31 2018/8/27
  19. ⼊⼒に摂動 (perturbation) を加え てエンコードして NMT を学習 1. 語彙的ノイズ →ランダムに位置 選択し、cos

    類似 度の近い単で置換 2. 素性レベルノイズ →全ての単語の分 散表現にガウシア ンノイズを乗せる 2018/8/27 ⾔語処理における GAN の展開 32
  20. エンコーダとデコーダの GAN で 教師なし機械翻訳のモデル改善 Yang et al. Unsupervised Neural Machine

    Translation with Weight Sharing (ACL 2018) ポイント • Discriminator は以下の2種類 • Local-GAN: 元⾔語と⽬的⾔語のどちらのエンコーダ でエンコードされたかを識別 • Global-GAN: デコーダの出⼒が翻訳によるものか、 それともオートエンコーダによるものか識別 • どのエンコーダからも同じ潜在空間にマッピン グできるように Generator を学習 ⾔語処理における GAN の展開 34 2018/8/27
  21. GAN の機械翻訳への応⽤ • Yang et al. Improving Neural Machine Translation

    with Conditional Sequence Generative Adversarial Nets (NAACL 2018; 初出 arXiv:1703) • Cheng et al. Towards Robust Neural Machine Translation (ACL 2018) • Yang et al. Unsupervised Neural Machine Translation with Weight Sharing (ACL 2018) ⾔語処理における GAN の展開 37 2018/8/27
  22. GAN の対話への応⽤ • Liu et al. Adversarial Learning of Neural

    Dialogue Generation (EMNLP 2017) • Xu et al. Neural Response Generation via GAN with an Approximate Embedding Layer (EMNLP 2018) • Liu et al. Adversarial Learning of Task-Oriented Neural Dialog Models (SIGDIAL 2018) ⾔語処理における GAN の展開 39 2018/8/27
  23. 単語ごとに報酬を変えて 部分的な系列の評価をする Li et al. Adversarial Learning of Neural Dialogue

    Generation (EMNLP 2017) ポイント • Generator: seq2seq with attention (LSTM) • Discriminator: 階層的エンコーダ(2つの RNN) • 正解と⼀致する単語を予測したらニュートラル の報酬を与えたい →強化学習とモンテカルロ探索を⽤いて途中の 結果にも報酬を与える ⾔語処理における GAN の展開 40 2018/8/27
  24. 微分可能なモデルを作り 強化学習を⽤いずに最適化 Xu et al. Neural Response Generation via GAN

    with an Approximate Embedding Layer (EMNLP 2018) ポイント • Generator: seq2seq without attention (GRU) • Discriminator: CNN • モンテカルロ探索は遅い →近似層を⽤意することで、サンプリングしな くても微分可能なモデルにして、強化学習を使 わない ⾔語処理における GAN の展開 43 2018/8/27
  25. タスク指向の対話モデルを GAN で敵対的に学習 Liu et al. Adversarial Learning of Task-Oriented

    Neural Dialog Models (SIGDIAL 2018) ポイント • Generator: LSTM による対話エージェント • Discriminator: Bi-LSTM • 強化学習では報酬を設計するのが困難 →報酬を対話から直接学習、⽐較的少数の学習 事例でも学習できるように ⾔語処理における GAN の展開 46 2018/8/27
  26. GAN の対話への応⽤ • Liu et al. Adversarial Learning of Neural

    Dialogue Generation (EMNLP 2017) • Xu et al. Neural Response Generation via GAN with an Approximate Embedding Layer (EMNLP 2018) • Liu et al. Adversarial Learning of Task-Oriented Neural Dialog Models (SIGDIAL 2018) ⾔語処理における GAN の展開 49 2018/8/27
  27. Discriminator を⽤いたニューラル 機械翻訳モデルの評価 松村ら. 敵対的⽣成ネットワークを⽤いた機械翻 訳評価⼿法(⾔語処理学会年次⼤会 2018) ポイント • Discriminator

    はシステムの翻訳か⼈⼿の翻訳か を識別 → Discriminator の返すスコアで機械翻 訳の評価ができる • 参照訳(⼈⼿の翻訳)がなくても機械翻訳の評 価が可能 ⾔語処理における GAN の展開 51 2018/8/27
  28. Discriminator を⽤いたニューラル 対話モデルの評価 Kannan et al. Adversarial Evaluation of Dialogue

    Models (NIPS workshop 2016) ポイント • Discriminator はシステムの⽣成した応答か⼈⼿ の応答かを識別 • Discriminator は必ずしも対話の評価には使えな い(MT と違い対話は⼈⼿評価が難しい) • Discriminator のスコア⾼ = ⻑い応答、多様性の ある応答。Generator の⽋点は捉えている。 ⾔語処理における GAN の展開 52 2018/8/27
  29. まとめ • Sequence-to-sequence に対する GAN • 強化学習とモンテカルロ探索で学習 • 離散的な出⼒を近似することで学習 •

    ⾔語⽣成への応⽤ • 対話⽣成 • 機械翻訳 • 新しい GAN の展開 • Discriminator を⽤いた⾔語⽣成の評価 • ⾔語⽣成と⾔語選択の間 ⾔語処理における GAN の展開 54 2018/8/27