論文紹介
“Reward Augmented Maximum Likelihood for Neural Structured Prediction”Norouzi et al. 2016 (NIPS)
@sotetsuk
一枚で説明すると
https://docs.google.com/presentation/d/1P_ks8cqXcQmc8rBk7QlxcBHwfSdlNYnPmnWF0yj_nYs/edit#slide=id.g20593483e2_0_17
何故この論文を紹介するか
● 最近強化学習界隈ではエントロピー正則化付きの方策勾配法に関する研究が
おもしろい(e.g., PGQ, PCL)○ この文脈で引用される文献として挙げられる
● アルゴリズムのヒューリスティックさと理論的裏付けのギャップがおもしろい
背景: Seq2Seq
詳しくはSutskever et al. 2014, Cho et al. 2014, Bahdanau et al. 2015あたりを参照(Attentionメカニズムについては http://distill.pub/2016/augmented-rnns/ も参考になる)
Sutskever et al. 2014より引用
背景: Seq2Seqの最適化における問題点(トレーニング、テスト時の指標の乖離)
Seq2Seqの最適化には以下のような問題点がある :
1. テスト時に最適化したい指標を直接最適化していない( e.g., テストはBLUE、トレーニングは対数尤度)2. トレーニング時には予測する次のトークンを真の次のトークンと置き換えて条件付けるが、テスト時には
モデルによる予測で条件付けている(トレーニング時にはそれまでの自分の予測が全てあっているという条件のもとで次のトークンの予測をして尤度を計算している)
これらの問題点を解決するため、強化学習的なアプローチで最適化する研究がいくつかある(e.g., Ranzato et al. 2016, Bahdanau et al. 2017)
背景: Seq2Seqの強化学習による最適化(とその問題点)
デコーダーのを方策と見立てて現在時点までの自分の予測の系列(とコンテキスト)を現在の状態、として次のトークンを行動として予測・学習する
Ranzato et al. 2016: RNNによるDecoderの予測を確率的な方策だとして、文の最後まで予測をしたら BLUE等のスコアによって報酬を与えることで強化学習の問題に落とし、 REINFORCEで解いている。 強化学習の問題としては行動空間が大きすぎるので、クロスエントロピー誤差も組み合わせることにより解決する MIXERを提案。 具体的には、最初の方の epochはクロスエントロピー誤差だけでトレーニングし、その後で段々と REINFORCEで学習するトークン数を後ろから前に広げていく。
Bahdanau et al. 2017: REINFORCEベースの手法は勾配の分散が大きくなってしまうので、 actor-criticにして行動価値関数も推定することで分散を減らして性能の向上をさせたい。 先行研究と同じようにDecoderを確率的な方策と見なし、各トークンを予測したときに BLUE等から報酬を定めて強化学習の枠組みに落とし込み、actor-criticで解いている。 また、大きい行動空間を制限するためのヒューリスティックな工夫や、 報酬がスパースになるのを避けるため部分系列にも報酬を定義するなどの工夫もした上で対数尤度でプレトレーニングもしている。
結局のところ、 (1) 行動空間が大きすぎるのに加え、 (2) 報酬がスパース(系列の終わりだけ)という2つの問題があり、結局MLベースでプレトレーニングのようなことをしないと両手法うまく学習できない。
提案手法 (RAML)
RLの推定方策でのサンプリングを回避
特徴
● RLの目的関数をKLダイバージェ
ンスで書いたときと同じ二つの分
布のKLダイバージェンスを(前後
逆にして)最小化している
● 正則化パラメータτ↓0 でMLの目
的関数と同じになる
● 最適化時にサンプリングする分布
が推定方策でなく、定常分布qになる(推定方策の初期化がクリ
ティカルでなくなり、報酬ベースの
最適化がこれ単体で出来るように
なった)
Appendixに計算の補足を用意しました
最適化(サンプリング)
実際の最適化の計算はほぼほぼ MLと変わらない(このシンプルさが RAMLのいいところでもある)結局のところ、y*をaugmentationしてyを大量にサンプリングして、それらを報酬( BLUE等)を考慮して重み付けするだけ
実際の計算例 : 長さmの系列に対し編集距離 eを決め、y*に対して編集距離eとなる系列yをy*を編集(挿入など)してyを生成(サンプリング)し、 exp(-e/τ)を使ってImportance samplingする (Sec. 2.2):
τに応じてどれくらいaugmentationされる?(TIMITデータセット)
結果
WMT’14 英仏(BLEU)
TIMIT(PER)
どちらの実験もそれなりに大きい τで良いスコアが出ている
まとめ・感想
アルゴリズムはヒューリスティック(augumentationしたyに対して対数尤度を報酬で
重み付けしているだけ)なのに、理論的な裏付けがあるのが面白い(エントロピー正
則化付き方策勾配法と逆のKLを最適化している/τ↓0でMLと一致)
Appendix A
Appendix B
Appendix C