第35回 強化学習勉強会・論文紹介 [lantao yu : 2016]
TRANSCRIPT
![Page 1: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/1.jpg)
SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient
Lantao Yu† , Weinan Zhang† , Jun Wang‡ , Yong Yu† †Shanghai Jiao Tong University, ‡University College London
{yulantao,wnzhang,yyu}@apex.sjtu.edu.cn, [email protected]
第 35 回 強化学習勉強会 2016/10/05 関根 嵩之
![Page 2: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/2.jpg)
概要
• GAN(Generative Adversarial Nets) は生成モデルの学習にそれを支援する識別モデルを用いたもの• 画像などの現実のデータの生成において大きな成功を収めた• しかし GAN は離散トークンの系列に対しては上手く働かない
• SeqGAN という系列の生成の枠組みを提案する• データの生成器を強化学習における確率的な方策として扱うことでこの問題を回避• 合成データや現実のタスクといった幅広い実験で大きな性能向上が見られた
![Page 3: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/3.jpg)
GAN[Goodfellow:2014]• GAN は D( 識別器 :Descriminator) を用いて学習データセットと見分けがつかないようなデータを生成する G( 生成器 :Generator) を獲得すること• G は一様分布などからサンプルされた乱数 z を入力とした出力
x を生成する• D は G が生成したデータが学習データか生成データなのかを識別する分類器• 画像などの現実のデータの生成において大きな成功を収めた
![Page 4: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/4.jpg)
GAN の課題
• 離散トークンの系列の生成に対しては上手く学習できない• [ 問題 1]: 連続値を前提としたモデルであるため G からの出力が離散
値となってしまうと、 D から G への勾配の更新が困難になる
• [ 問題 2]: 生成される系列が部分的なものに対しても、 D は完全な系列しか評価することができない
• 部分的に生成された系列に対しては評価できない• そのため D は現在の評価値と将来の評価値のバランスをとるのが難しい
![Page 5: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/5.jpg)
本論文での提案
• GAN を系列的な決定プロセスとして、 G を強化学習のエージェントとして扱う
![Page 6: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/6.jpg)
本論文での提案
• [ 問題 1] に対して• G をパラメータを含む確率的な方策とみなした• 直接、方策勾配法による方策 (G) を学習するため、今までの GAN
における離散データの微分の問題を自然と避けることができる
• [ 問題 2] に対して• 方策勾配法において状態 - 行動の値を推定するためにモンテカル
ロ探索を採用することで D は現在の評価値と将来の評価値のバランスを取れるようになる
![Page 7: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/7.jpg)
関連研究
• [ 深層生成モデルの研究の系譜 ]
• DBN [Hinton.2006], DAE [Bengio:2013] ,VAE(Variational Autoencoder)• 最尤推定によりデータの生成を行う• [Goodfellow: 2014] は尤度最大化は確率的推定計算の困難さを伴うことを指摘
• GAN• 最尤推定による学習に伴う困難さを回避、自然画像生成においてめまぐるしい成功 [Denton:2015]• 一方 , GAN を系列データ生成に用いてもほとんど進歩がない [Huszar:2015]
![Page 8: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/8.jpg)
強化学習の表記
s’ 以外の他の状態 s’’ に対しては
s は必ず a を取ると決定的に s’ へ遷移する
系列生成において強化学習を適用するために、状態、行動を以下のようにする1 から T までのトークンの系列
状態と行動と次の状態 遷移確率
![Page 9: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/9.jpg)
G( 生成器 ) と D( 識別器 )
状態 s から行動 a をとって遷移する確率、すなわち方策そのもの( 状態は可変長 )
Descriminator
Generator
固定長の全系列に対して自動生成か本物かの 2 値分類の確率を返す。これが Generator への報酬になる
本物のデータセットからの値を positive, G から生成されたおのを negativeとして学習を行う
![Page 10: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/10.jpg)
SeqGAN
※ G から生成された次の状態は、そのまま D には渡せない。 D は完全な系列を受け取るため、のこりの t から T の系列はモンテカルロ探索を 行い、全系列をシミュレーションしてそれを D にフィードバックする
![Page 11: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/11.jpg)
SeqGAN
中間的な報酬はないため、最後の遷移でもらう報酬を とすると から始まる最大化する期待累積報酬は
( は初期状態 s で行動 a をとったのちに方策 G に従った時の行動価値関数 )
![Page 12: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/12.jpg)
行動価値関数 (1)行動価値関数をどう推定するかが問題となるが、 は本物の報酬であるため
最終的な系列に対しては以下とする (REINFORCE algorithm)[Williams:1992]
問題は途中の系列に対してであるが、前までのトークンのみの情報で推定するのではなく将来の結果を考慮したい。そのため モンテカルロ探索を roll-out policy を用いて使用
( が roll-out policy によってサンプリングされる。 N は回数 )
![Page 13: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/13.jpg)
行動価値関数 (2)
以上より、完全な系列と途中の系列は合わせて
本研究では roll-out policy は Generator の方策と同じにしたが、モンテカルロ探索のスピード向上のため、 Generator に比べてシンプルな方策が使われることも (AlphaGo[Silver:2016])
![Page 14: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/14.jpg)
Descriminator の更新
D を報酬関数とする利点は、反復的に報酬を動的に更新することができることにある。G が学習し終わったら以下のように D を更新する。
データセットから生成:G から生成:
交差エントロピーの最小化
両者のデータ数は同じにしている
![Page 15: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/15.jpg)
Generator の更新G は方策勾配法で求めるので (1) 式の微分を求める( 決定的な遷移であること、中間報酬がないことから導出できる : Appendix 1)
[Glynn:1990][Sutton:1999] による尤度比を用いると unbiased な推定値が求められる
更新式 :
![Page 16: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/16.jpg)
アルゴリズム
![Page 17: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/17.jpg)
G の詳細・ RNN(Recurrent neural network) を使用 .
・トークンの系列 の分散表現 を入力値としてへと変換 ( )
・ソフトマックス層 z で h をトークンの分布へマップ
・関数 g には LSTM を使用・別の RNN の亜種として GRU(gated recurrent unit)[Cho:2014] やsoft attention mechanism[Bahdanau:2014] などを SeqGAN の G としては使用できる
![Page 18: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/18.jpg)
D の詳細
・近年テキストや系列トークンの識別問題に対して高い性能を示すことで知られるCNN(Convolutional Neural Network) を使用 [Zhang,LeCun:2015]
・ CNN に入れる前に k 次元の分散表現を獲得しベクトルを結合してから CNN の入力へ
・異なる window サイズのカーネルを多数使用して畳み込み
・プーリングは max-over-time pooling
・性能向上のためにプーリングに highway archtecture[Srivastava:2015] を追加
![Page 19: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/19.jpg)
実験 1 [Synthetic Data] (1)・正確に性能評価を行うためまずはモデルがわかっている LSTM を Oracle として使用。・普通MLE といえば 本物の分布 p,予測 q として の最小化だが、 生成モデルの評価では Turing テストのように、人間の事前知識に基づいた分布
を用いると を最小化するのが適切・ここでは Oracle が人間の観測者だとして
を評価基準とする
![Page 20: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/20.jpg)
実験 1 [Synthetic Data] (2)Training:10000 系列 , Test:100000 系列 ( 長さは 10)
黄色の垂直線より左側が SeqGAN の pre-trainingSeqGAN が既存のモデルよりも良い評価値
![Page 21: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/21.jpg)
実験 1 [Synthetic Data] (3)(a) ~ (c):g-steps, d-steps, k などのメタパラメータがG の収束や精度に大きく影響することがわかるd-steps に対して g-steps が多すぎると、 D が適切に更新されきらない状態になってしまう(d) :(a)~(c) では k 回の D の更新時に同じ同じデータセットを使用 (d) では正解データは同じだが不正解データは毎回 G から生成して異なるものを使用→ 総じて安定性が向上する
![Page 22: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/22.jpg)
実験 2 [Real-world Scenarios]・系列トークンを扱う問題として1) Chinese poem Generation2) Obama speech Generation3) Music Generationを扱った。・比較対象は G からの MLE と SeqGAN
・どのタスクにおいても SeqGAN が MLEを上回る結果に・ (1) に対しては human score も実験したReal data のスコアと比較できるレベル
![Page 23: 第35回 強化学習勉強会・論文紹介 [Lantao Yu : 2016]](https://reader036.vdocuments.pub/reader036/viewer/2022062223/587148841a28ab55588b5f3f/html5/thumbnails/23.jpg)
結論・今後の計画
・系列の生成手法として方策勾配に基づいた SeqGAN を新たに提案・ GAN を系列モデルに適応させた初めての例・合成データによる実験では、他のベースラインに比べて SeqGAN が非常に優れていることを 陽に示すために、 Oracle を用いての評価を使用した・現実の 3 つの異なる問題に対しても、非常に良い性能を示した
・大規模データやより長い系列のデータに対して、行動選択を改良すべく、モンテカルロ木探索に加え Value Network[Silver:2016] の構築を計画今後の計画
結論、まとめ