Slide 1

Slide 1 text

⾔語処理における GAN の展開 ⼩町守 ⾸都⼤学東京システムデザイン学部 ※図表はそれぞれ紹介する論⽂からの引⽤ 第75回⼈⼯知能セミナー 2018/08/27 「画像・⾳声・テキスト処理における GAN の応⽤」

Slide 2

Slide 2 text

• 2005.03 東京⼤学教養学部基礎科学科 科学史・科学哲学分科卒業 • 2010.03 奈良先端⼤・博⼠後期課程修了 博⼠(⼯学) 専⾨: ⾃然⾔語処理 • 2010.04〜2013.03 奈良先端⼤ 助教(松本裕治研究室) • 2013.04〜 ⾸都⼤学東京 准教授(⾃然⾔語処理研究室) • 2020.04〜 東京都⽴⼤学(予定) ⾃⼰紹介 2 2018/8/27 ⾔語処理における GAN の展開

Slide 3

Slide 3 text

深層学習の登場による ⾔語⽣成のパラダイムシフト ⾔語処理における GAN の展開 3 https://ai.googleblog.com/2016/09/a-neural-network-for-machine.html 2018/8/27

Slide 4

Slide 4 text

エンコーダ・デコーダモデル によるニューラル機械翻訳 今⽇ 暑い です ね it is today hot ⼊⼒および出⼒の両⽅が系列データ →RNN⾔語モデルを2つ⽤い、⽂脈を考慮して1単語ずつ⽣成 エンコーダ デコーダ アテンション 単語分散表現 2018/8/27 ⾔語処理における GAN の展開 4

Slide 5

Slide 5 text

ニューラル機械翻訳による 流暢な翻訳の実現 ⼊⼒ 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

Slide 6

Slide 6 text

ニューラル翻訳の弱点: 流暢性が⾼くても妥当性が低い • 消失 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

Slide 7

Slide 7 text

敵対的学習を⾏うことで、 ニューラル⾔語⽣成を改善 2018/8/27 ⾔語処理における GAN の展開 7

Slide 8

Slide 8 text

⽬次: ⾔語処理における GAN 1. 系列データと GAN 2. GAN の機械翻訳への応⽤ 3. GAN の対話への応⽤ 4. ⾃然⾔語処理における GAN の新展開 5. まとめ 2018/8/27 ⾔語処理における GAN の展開 8

Slide 9

Slide 9 text

系列データと GAN 2018/8/27 ⾔語処理における GAN の展開 9

Slide 10

Slide 10 text

GAN を⾃然⾔語の系列データ に適⽤する際の問題点 問題1: 系列を扱う場合 Generator の出⼒が離散値 なので、Discriminator の学習が困難 1. 強化学習(policy gradient)を⽤いて Generator が確率的な⽅策とみなして学習 2. Generator の出⼒を近似して、微分可能な形 にして学習 問題2: Discriminator として何を使えばいい? 1. CNN/RNN → より複雑なモデルへ…… 2. 何を敵対的サンプルとするか? ⾔語処理における GAN の展開 10 2018/8/27

Slide 11

Slide 11 text

系列データと 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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

強化学習とモンテカルロ探索で 離散的な系列データを学習 1. Generator を確率的な⽅策とみなして強化学 習を⽤いて学習 2. 各タイムステップでモンテカルロ探索を⾏う 2018/8/27 ⾔語処理における GAN の展開 13

Slide 14

Slide 14 text

将来の出⼒はロールアウトして モンテカルロ探索で⽣成・評価 2018/8/27 ⾔語処理における GAN の展開 14

Slide 15

Slide 15 text

中国詩(五⾔絶句)の⽣成では 事前知識なしに⼈間に迫る性能 2018/8/27 ⾔語処理における GAN の展開 15

Slide 16

Slide 16 text

textGAN: 強化学習を⽤いずに ⾔語⽣成のための GAN の学習 Zhang et al. Feature Matching for Text Generation (ICML 2017; textGAN) ポイント • 強化学習ではなく Soft-argmax により微分可能 にして Discriminator を学習 • 離散的な単語ではなく潜在空間で最適化を⾏う ⾔語処理における GAN の展開 16 2018/8/27

Slide 17

Slide 17 text

⽂⽣成の潜在空間を考慮して mode collapse 問題を回避 1. Generator: 潜在空間を考慮した LSTM 2. Discriminator: CNN 3. Maximum Mean Discrepancy (MMD) の最⼩化 2018/8/27 ⾔語処理における GAN の展開 17

Slide 18

Slide 18 text

潜在空間を考慮した LSTM による ⾔語⽣成 • 単語から⽂を⽣成する →最初の単語は潜在変数だけから⽣成 • So^-argmax: Gumbel So^max と同様、微分可能 にするためのトリック 2018/8/27 ⾔語処理における GAN の展開 18

Slide 19

Slide 19 text

Maximum Mean Discrepancy (MMD) の最⼩化で勾配消失問題の軽減 • 直接𝐿!"# を最適化するのではなく、𝐿$ と𝐿! を 交互最適化 2018/8/27 ⾔語処理における GAN の展開 19

Slide 20

Slide 20 text

SeqGAN より⽣成の性能が向上し、 新しい⽂も⽣成可能 2018/8/27 ⾔語処理における GAN の展開 20

Slide 21

Slide 21 text

潜在空間上の2点も textGAN なら 滑らかにつないで⽣成できる 2018/8/27 ⾔語処理における GAN の展開 21

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

ノイズが⼊った⽂も頑健にデ コードできるように学習 • Generator はエンコーダでマスクされたトーク ンをデコーダで復元するように学習 →未知の⼊⼒でも系列が出⼒できるようになる • Discriminator は REINFORCE アルゴリズムで学習 2018/8/27 ⾔語処理における GAN の展開 23

Slide 24

Slide 24 text

MaskGAN によってテキストの ための GAN の学習が安定 2018/8/27 ⾔語処理における GAN の展開 24

Slide 25

Slide 25 text

系列データと 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

Slide 26

Slide 26 text

GAN の機械翻訳 への応⽤ 2018/8/27 ⾔語処理における GAN の展開 26

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

BLEU-Reinforced Conditional Sequence GAN (BR-CSGAN) 2018/8/27 ⾔語処理における GAN の展開 29 b: ベースラインのスコア(例: 0.5) Q: MCMC で求めた出⼒の BLEU スコア

Slide 30

Slide 30 text

BR-CSGAN: BLEU と discriminator を両⽅考慮すると性能向上 • λ = 1.0 → 普通の GAN でも効果があった • λ = 0.0 → BLEU を使うだけで discriminator を使 わない(minimum risk training と等価)と、性 能向上は少ない 2018/8/27 ⾔語処理における GAN の展開 30

Slide 31

Slide 31 text

GAN を⽤いてニューラル翻訳の エンコーダの頑健性向上 Cheng et al. Towards Robust Neural Machine Translation (ACL 2018) ポイント • Discriminator はノイズが⼊った⽂と⼊っていな い⽂を識別 • ノイズが⼊った⽂からでもロバストにエンコー ドできるように学習 ⾔語処理における GAN の展開 31 2018/8/27

Slide 32

Slide 32 text

⼊⼒に摂動 (perturbation) を加え てエンコードして NMT を学習 1. 語彙的ノイズ →ランダムに位置 選択し、cos 類似 度の近い単で置換 2. 素性レベルノイズ →全ての単語の分 散表現にガウシア ンノイズを乗せる 2018/8/27 ⾔語処理における GAN の展開 32

Slide 33

Slide 33 text

摂動を加えることで頑健性が増 し、 BLEU スコアが有意に向上 • 同義語 (zhongfang = zhonguo; China) の置換に頑健 2018/8/27 ⾔語処理における GAN の展開 33

Slide 34

Slide 34 text

エンコーダとデコーダの 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

Slide 35

Slide 35 text

Local-GAN でエンコーダの更新、 Global-GAN で全体の更新 • エンコーダ、デコーダは最後の⽅の層だけパラ メータを共有する(単語埋め込み層は⾔語ごと) 2018/8/27 ⾔語処理における GAN の展開 35

Slide 36

Slide 36 text

2つの GAN で教師なしニューラル 機械翻訳の精度向上 2018/8/27 ⾔語処理における GAN の展開 36

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

GAN の対話への応⽤ 2018/8/27 ⾔語処理における GAN の展開 38

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

単語ごとに報酬を変えて 部分的な系列の評価をする Li et al. Adversarial Learning of Neural Dialogue Generation (EMNLP 2017) ポイント • Generator: seq2seq with attention (LSTM) • Discriminator: 階層的エンコーダ(2つの RNN) • 正解と⼀致する単語を予測したらニュートラル の報酬を与えたい →強化学習とモンテカルロ探索を⽤いて途中の 結果にも報酬を与える ⾔語処理における GAN の展開 40 2018/8/27

Slide 41

Slide 41 text

Generator の学習が不安定で出⼒ に多様性がない→Teacher-Forcing 2018/8/27 ⾔語処理における GAN の展開 41

Slide 42

Slide 42 text

強化学習で⼊⼒に対し特徴的な ⽣成ができる 2018/8/27 ⾔語処理における GAN の展開 42

Slide 43

Slide 43 text

微分可能なモデルを作り 強化学習を⽤いずに最適化 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

Slide 44

Slide 44 text

Generator と Discriminator は pre-train したあと GAN で更新 2018/8/27 ⾔語処理における GAN の展開 44

Slide 45

Slide 45 text

GAN では当たり障りのない出⼒ より多様性のある出⼒が出せる 2018/8/27 ⾔語処理における GAN の展開 45

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

Generator では対話⾏為を RNN でモデル化 • ※Discriminator は Max-pooling, Average-pooling, Attention-pooling の3つを提案 2018/8/27 ⾔語処理における GAN の展開 47

Slide 48

Slide 48 text

GAN で少数の事例からでもタ スク指向の対話が学習できる • 左: 強化学習における報酬の設計⽅針と性能 • 右: Discriminator の学習に使った事例数と性能 2018/8/27 ⾔語処理における GAN の展開 48

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

⾃然⾔語処理における GANの新展開 ⾔語処理における GAN の展開 50 2018/8/27

Slide 51

Slide 51 text

Discriminator を⽤いたニューラル 機械翻訳モデルの評価 松村ら. 敵対的⽣成ネットワークを⽤いた機械翻 訳評価⼿法(⾔語処理学会年次⼤会 2018) ポイント • Discriminator はシステムの翻訳か⼈⼿の翻訳か を識別 → Discriminator の返すスコアで機械翻 訳の評価ができる • 参照訳(⼈⼿の翻訳)がなくても機械翻訳の評 価が可能 ⾔語処理における GAN の展開 51 2018/8/27

Slide 52

Slide 52 text

Discriminator を⽤いたニューラル 対話モデルの評価 Kannan et al. Adversarial Evaluation of Dialogue Models (NIPS workshop 2016) ポイント • Discriminator はシステムの⽣成した応答か⼈⼿ の応答かを識別 • Discriminator は必ずしも対話の評価には使えな い(MT と違い対話は⼈⼿評価が難しい) • Discriminator のスコア⾼ = ⻑い応答、多様性の ある応答。Generator の⽋点は捉えている。 ⾔語処理における GAN の展開 52 2018/8/27

Slide 53

Slide 53 text

まとめ • Sequence-to-sequence に対する GAN • 強化学習とモンテカルロ探索で学習 • 離散的な出⼒を近似することで学習 • ⾔語⽣成への応⽤ • 対話⽣成 • 機械翻訳 • 新しい GAN の展開 • Discriminator を⽤いた⾔語⽣成の評価 • ⾔語⽣成と⾔語選択の間 ⾔語処理における GAN の展開 54 2018/8/27

Slide 54

Slide 54 text

謝辞 • ⾸都⼤学東京システムデザイン研究科博⼠前期 課程2年の尾形朋哉くん、松村雪桜くんに対 話・機械翻訳における GAN の論⽂の紹介に協 ⼒いただきました。ありがとうございました。 2018/8/27 ⾔語処理における GAN の展開 55