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

文献紹介_20181123_SeqGAN_ Sequence Generative Adversarial Nets with Policy Gradient

hrsma2i
November 23, 2018

文献紹介_20181123_SeqGAN_ Sequence Generative Adversarial Nets with Policy Gradient

文献紹介

hrsma2i

November 23, 2018
Tweet

More Decks by hrsma2i

Other Decks in Research

Transcript

  1. 文献紹介 SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient author:

    Lantao Yu, Weinan Zhang, Jun Wang, Yong Yu AAAI 2017 accepted 1
  2. Abstruct - task: text (discrete sequence) generation - 主流のRNNとMLE(maximum likelihood

    estimation)を用いた手法は exposure bias という問題を抱えていた - GAN と Reinforcement Learning を用いて、生成した text 全体を評価することで 対処 - text generation と music generation の task で既存手法を上回った 2
  3. Introduction - Text Generation - task: text (discrete sequence) generation

    - RNNとMLE(maximum likelihood estimation)を用いることが主流 4 LSTM cell true word LSTM cell Word Embed ... LSTM cell Word Embed true word true word true word Cross Entropy Cross Entropy Cross Entropy + loss ピ ザ だ ! This is pizza! CNN RNN image caption machine translation text generation
  4. Introduction - Exposure Bias - text generation の従来手法が抱える問題 - training

    時には真の word を入力し、次の word を予測する - inference 時は真の word が使えないため、生成結果が悪くなる 5 LSTM cell LSTM cell ... LSTM cell LSTM cell LSTM cell ... LSTM cell true word true word
  5. Introduction - Related Work - Scheduled Sampling [Bengio, et al.

    2015] - schedule learning を用いて、exposure bias に対処した手法 - schedule learning:簡単な問題を学習させてから、難しい問題を学習させる手法 - 初めは真の word を入力して学習し、次は自身の予測 word を入力とする学習に切り替える 6 LSTM cell LSTM cell ... LSTM cell LSTM cell LSTM cell ... LSTM cell true word true word
  6. Introduction - exposure bias への他の解決策として、 生成した文全体の評価を行う - MLE では次の単語を予測できているかしか評価してないため exposure

    bias が起こるとも考えら れるため - Reinforce Learning と BLUE を使って文全体を評価 - BLUE は machine translation の指標なので、 poem genelation などに最適とは限らない - → GANを使おう! 7
  7. Introduction - GANs: Generative Adversarial Networks - 設計の難しい loss 関数に対し、その

    loss 関数すら Neural Network で学習させて しまおうという手法 - image generation, text generation などの多くの応用先 - 生成モデル(generative model) ≒ 教師なし (unsupervised) - P(X) をモデリング (X: 画像など) Generator c.f. ProgressinGAN gaussian noise generated image OR Discriminator real image True 1 / False 0
  8. Introduction - Reinforcement Learning - return が最大になるように value/policy を学習 -

    return:最終的な reward の合計 - value:ある状態において、こう行動すると最終的にどれくらいの return が得られるかの見積もり - policy:この状態なら、こういう行動をするという方針 - value/policy どちらかを学習する( value-based/policy-based) 9
  9. SeqGAN - Generator 11 LSTM cell 〜 〜 word LSTM

    cell 〜 word Word Embed ... LSTM cell 〜 word Word Embed word 〜
  10. SeqGAN - Discriminator 12 Word Embed T words k dim

    Conv k dim l words Linear, Highway, sigmoid 〜 Generator real text or
  11. SeqGAN - Policy Gradient - 初期状態における return の見積もり(value)が最大になるように、 agent の

    policy を gradient ascent で 学習する方法 - generator を agent の policy とみなして強化学習 - state:今まで生成した sequence - action:次の word - return:生成した sequence に対する discriminator による評価(2) - 以下の式(1)を最大にする policy (generator) を学習する - 自然な文ができるような wordの選び方(policy)を学習 13 y1= 食 s0 y1= ザ y1= ピ G=0.6 G=0.3 G=0.1 Q高い Q低い
  12. SeqGAN - Policy Gradient - Gradient Ascent には目的関数の勾配(6)が必要だが、生成途中の sequence に

    対する value が必要 - しかし、 discriminator は完結した sequence しか評価できない 14
  13. SeqGAN - Monte Carlo Search - Monte Carlo search で生成途中の

    sequence の続きを N本 sample して、完結させる - generator を使って続きを生成する - Monte Carlo search:たくさんサンプルして、確率分布を推定する方法 - 今回は sequence の続きを確率変数とみなしている - 無理矢理完結させた N本の sequence に対する discriminator の評価の平均を生成途中の sequence の value とする - つまり生成途中の sequence からどんな sequence が最終的に得られるかをシミュレーションして、 途中 の sequence の価値を決める 15
  14. SeqGAN - 学習の流れ - generator と discriminator の学習を 交互に繰り返す -

    各 d-step で、 negative samples (generator が生成した sequence)の セットは異なる - 各 epoch k では、 negative samples は同じセットが使われる 16
  15. Experiments - Synthetic Data Exp. - 目的 - 従来手法との性能比較のため -

    SeqGANへの理解を深めるため - task - input: なし - output: synthetic sequence generated by oracle (random initialised LSTM Goracle) - training/test data: synthetic sequence generated by oracle - synthetic data を用いるメリット - training data が簡単に多く手に入る - oracle を用いて正確に評価できる 18
  16. Experiments - Synthetic Data Exp. - eval metric: NNLoracle(LSTMのlossみたいなもの→小さいほど良い) -

    baselines - random - MLE - SS (Scheduled Sampling) - PG-BLEU (policy gradient BLEU) 19
  17. Synthetic Data Exp. - Results - 従来手法に比べ、大幅に良い - generator 部分はどの手法も同じ

    - seqGANで評価する方法が generator の限界を向上させた 20
  18. Synthetic Data Exp. - Results - discriminator を generator よりも先にちゃんと学習させたほうが早く収束する

    - discriminator の epoch 数を増やすより、 d-step を増やしてさまざまな negative sample を使った方が 早く収束する - d-step のたびに generator から毎回異なる negative sample を生成する 21
  19. - task - input: なし - output: text - training/test

    data - Chinese Poems - Barack Obama political speeches Real Data Exp. - Text Generation 22
  20. - eval. metric - BLEU-3, 4 - baselines - MLE

    Text Generation - Obama Speeches Generation 24
  21. - task - input: なし - output: text - training/test

    data: Nottingham (music of folk tunes in midi file format) - eval. metric - BLEU-4 - MSE (mean squared error) - 音階は連続値なので MSE でも評価できる Real Data Exp. - Music Generation 25
  22. Conclusion - sequence generation の task において主流であるRNNとMLE(maximum likelihood estimation)を用いた手法は exposure

    bias という問題を抱えていた - GAN と Reinforcement Learning を用いて、生成した text 全体を評価することで 対処 - synthetic/real どちらにおいても sequence generation の既存手法を上回った 27