Directed-info GAIL:階層型敵対模倣学習の論文を読む

以前GAILに潜在変数によるモードを考慮したinfo GAILの論文を読みました.

neuralnetandroid.hatenablog.com

この手法ではInfoGANのしくみをGAILに取り入れることで,複数の方策が混合されたデモンストレーションデータを それぞれの方策を区別して学習を行っていました.

今回読んだ論文はその仕組みを階層型強化学習的に用いたDirected-info GAILを提案しています.

[1810.01266] Directed-Info GAIL: Learning Hierarchical Policies from Unsegmented Demonstrations using Directed Information

本記事ではInfoGAILとの違いに焦点を当てた備忘録としたいと思います.

info GAILおさらい

Info GAILは異なる複数人によるデモンストレーションデータが与えられると想定し ています.このような複数の方策の混ざったデモンストレーションデータについて教師なし学習 的に潜在変数を学習し,模倣することを目的とします. 複数方策を獲得するために潜在変数c を導入し,方策関数を \pi(a|s,c) とする.この潜在変数を行動軌跡に 結び付けるためinfoGAN における考えを利用し,潜在変数c と行動軌跡τ との相互情報量 I(c;\tau) を最大 化するような項を更新則に設ける. 実際に相互情報量を直接求めることは困難なため相互情報量の変分下限を 最大化するように学習する.変分下限は


L_{I}(\pi, Q)=\mathbb{E}_{c \sim p(c), a \sim \pi(\cdot | s, c)}[\log Q(c | \tau)+H(c) \leq I(c ; \tau) ]

であり,確率密度関数Qはニューラルネットで近似し,方策と同様に学習を行う

目的関数は

f:id:keiforbusy:20191130140039p:plain

となり,D,Q,\pi,の順にGAILのように学習を行う.

Directed-info GAIL

InfoGAILではデモンストレーションの1つの軌跡に1つの同一のモードが存在するとしていました.Directetd-info GAILは,デモンストレーションを与えるエキスパートが 階層型強化学習のような,モードを決定する上位方策Q(c_t|s_t,c_{t-1})と,モードごとの下位方策\pi(a|s_t,c_t)を持つと仮定し,これを推定するように模倣する. 学習の枠組みとしてはInfoGAILと似ているが,Directed-infoGAILは上位方策Qの事前学習をVAEによって行う. これはInfoGAILは行動生成時に一様分布から潜在変数cを決定し,軌跡のサンプリングを行っていたが,Directed-Info GAILでは行動生成時に潜在変数の事前分布である上位方策Qが 必要となるからです.

また実際の学習時には事前学習したQは方策学習時には重みを固定し,方策とDiscriminatorのみを学習します. これは上位方策と下位方策を同時に学習すると学習が不安定でうまくいかないためだと考えられます.

この論文ではMujocoの2次元2足歩行環境に適応しています.

f:id:keiforbusy:20191130141710p:plain
https://arxiv.org/abs/1810.01266 より引用

この図から歩行時の右足左足,空中の3モードに教師なし的に分離できていることが確認できます. 一方で階層強化学習によく用いられるような複雑な環境には適応しておらず,そのあたりが気になるところです.

感想

模倣対象の方策に階層モデルを仮定し推定するという考えは非常に面白いと考えられます.特に上位方策というのは,模倣対象の大まかな行動戦略を表しているともいえるため, 行動系列データの解析などにも応用できないかと期待しています.しかしDirected-Info GAILでは,上位方策はVAEのみでの学習であり,これだけだと従来のEMアルゴリズムのような隠れマルコフモデルの推定手法と同じ程度の性能しか得られないと考えられます.

初期方策から最適方策との差分を学ぶ強化学習 Residual Policy Learning

Residual Policy Learningという,モデルフリー強化学習による初期方策の最適化を試みた非常にシンプルな手法を提案している論文があったのでまとめてみました.

元の論文はこちら↓

https://arxiv.org/abs/1812.06298

概要

この論文では,ヒューリスティックに設計した初期方策π(s)と理想方策π*(s)との残差を,強化学習を用いて最適化するResidual Policy Learning(RPL)という手法を提案している.

ロボットアーム制御において強化学習を用いて方策を獲得する場合,できるだけ少ない試行で方策を獲得することが求められる. これに対して,デモンストレーションを用いたり,モデルベース強化学習を用いる手法などがある. RPLは,与えられたタスクに対して不完全な制御方策が得られている場合を想定し,与えられた初期方策を改善していくことで,少ない試行回数で適切な方策を獲得することを実現する手法である.

百聞は一見に如かずといいますしとりあえずこの動画↓を見てみるとわかりやすい.


Residual Policy Learning

具体的な手法

提案手法となるRPLでは,初期方策と最適方策の残差関数fθ(s)を更新することで目的となる方策を獲得する. パラメータθによって定まる方策πθ(s)は 初期方策π(s)と残差関数fθ(s)
πθ(s)=π(s)+fθ(s)
とする. この時,方策勾配はθπθ(s)=∇θfθ(s)となり,初期方策が微分不可能であったとしても方策の勾配が得られる. RPLではこの勾配をもとに従来のモデルフリー型の強化学習手法を用いて方策πθ(s)を最適化することで目的となる方策を学習する. この論文では強化学習手法としてDeep Determinic Policy Gradient(DDPG)を用いている.DDPGとは,モデルフリー方策オフ型のアクタークリティック手法であり, 連続行動空間での学習においてサンプル効率の良いことで知られる.

また、この論文で対象とするタスクはすべて,タスク達成によってのみ報酬が得られるタスクである. そのため以下の実験においてすべてにHindsight Experience Replay(HER)を用いている. HERとは,このような特定の状態に至ることを目的とするタスクにおいて, タスクが失敗した場合であっても,その試行の最終状態が目的であったと置き換えて学習を行うことで ,効率的に学習を行う手法である.

学習時の工夫として,価値関数が初期値のまま学習を開始すると,その価値関数によって方策が更新されるため悪い方向に学習が進む. そのため学習初期はfθ(s)について更新せずに価値関数のみを学習しQ関数のlossが閾値βを下回るまで続ける.

実験

実験では7自由度のロボットアームを用いて,対象物を押したり,L字のフックを使って引っ張ったりすることで 目的の位置まで移動させるタスクを用いている. 初期方策π(s)ヒューリスティックに設計された方策や,モデルベース強化学習手法によって獲得された方策を用いている. 比較対象となっているのは次の2つの手法である.

  • DDPG+HER:初期方策π(s)をまったく用いない従来手法

  • Expert Exploration: DDPG+HERにおいて,初期方策π(s)を用いて探索を行う手法

実験結果の例として,ComplexHookにおける各手法のステップ回数ごとのタスク成功率の変化は以下のグラフとなっている(論文より引用)

f:id:keiforbusy:20190621232758p:plain

 

ComlexHookではランダムに凹凸のあるテーブル上に,目的の物体とL字のフックがあるという環境を想定する. エージェントはL字のフックをつかみ,対象となる物体を引き寄せ,目的の位置(赤色の球体の位置)に移動させることを目的とするタスクである. 初期方策は,平らなテーブルで対象物は正方形のブロックである場合であれば,完全にタスクを達成できるような方策を採用している.

状態として凹凸および対象物の情報は与えられていないことには注意が必要である.

初期方策では,凹凸や目的物体が変化するとタスクを失敗する可能性がある.提案手法ではこのような初期方策をもとに,より 環境の外乱に強い方策が獲得できることがわかる.また従来手法と比較しても少ない試行数である程度高い成功率が得られていることがわかる.

 

読んだ感想と応用

RPLは初期方策π(s)が得られるという比較的厳しめな条件がある. 初期方策として,模倣学習によって得られた方策を用いれば,模倣学習のような問題設定においても活用できると考えられる.また,モデルベースの方策を初期方策として用いた場合であっても学習ができることが実験的に示されており,著者はこの手法がモデルベースとモデルフリーをつなぐ1つの手段となると主張している.

またRPLは既存の方策を調節するような手法であり,強化学習を応用できる可能性のある分野において, 既存手法から大きく異ならないような,より適切な方策を獲得するために用いることができると考えられる.

ランク付けされたデモンストレーションから報酬を推定する手法T-REXの論文を読む

T-REXというまたかわいい(?)名前の逆強化学習アルゴリズムが発表されたので読んでみました.ざっくり読んだ際のメモなので間違い等はご指摘ください.

本文はこちらです↓↓.

Extrapolating beyond suboptimal Demonstrations via Inverse Reinforcement Learning from Observations

T-Rexを3行でまとめると

  • 優劣情報(ランク付け)がある複数のデモンストレーションデータから報酬を推定する手法
  • 2つの行動軌跡からランク付けが正しくなるように報酬関数をニューラルネットによって回帰する
  • この報酬を使って強化学習をすることでデモンストレーションを超えるパフォーマンスを獲得

報酬を推定しているが,逆強化学習とは以下の点で大きく異なります.

  • デモンストレーションに優劣の情報が与えられている前提
  • 環境との相互作用なしに,教師あり学習的に報酬関数を近似
  • デモンストレーションデータを超えるような方策を獲得しうる

強化学習はデモンストレーションの行動を説明(再現)するような報酬関数を求めます.これに対し,T-REXでは行動軌跡の優劣を説明するような報酬を求めます.これによりデモンストレーションデータよりも優れた方策に対して,より大きな報酬が与えられるような報酬関数を推定できると期待でき,sub-optimalなデモンストレーションからでも学習が可能になっているようです.

実際読んでみて,こんなにシンプルな報酬の推定方法でうまくいくのか正直疑問に残るところがありました.実際正しく学習できるような保証は示されていないように思えます.実験ではMujocoのような前進による報酬やAtariのシューティング系の報酬(短い期間の行動が報酬に直結する),およびQ*bertやBreakoutのような状態に現在の成績がわかりやすく反映されているものについては,よいパフォーマンスが得られる一方,Heroのような報酬につながる行動がわかりにくいものについてはうまく学習ができていないように感じられました.

とはいってもこの順序のみに着目してデモンストレーションを超えるような方策に対して,より多くの報酬が与えられるようにするという考え方は非常に面白いですし,今後の進展が気になるところですね.

以下はこの論文を読んだ際のメモになります.

本文メモ

1.イントロ

強化学習においてロボットに意図した動作をさせたい. しかし報酬設計は困難である. そのため逆強化学習が考えられるが,最適なデモンストレーションが与えられるとは限らない.

提案手法であるT-Rexはランク付けされたデモンストレーションデータを用いて,その意図を推定(extrapolate) し,状態ベースの報酬を学習する.(生成にちかい) 逆強化学習はデモンストレーションを正当化(再現)するような報酬を求める一方で,T-Rexはデモンストレーションのランク付けを説明するような報酬関数を求める. この報酬関数を最大化するように強化学習を行うことで,デモンストレーションを超えるような方策を獲得する可能性がある.

この利点として2つ挙げられる

  1. ランク付けに関連する特徴がわかる.
  2. 高次元のデータから特徴量を学習するとき,エキスパート(demonstrator)が訪れたごく一部の状態にオーバーフィットすることを防ぐ.つまりsuboptimalなデモによって多様性のあるデータを与えることで,いいことと悪いこと,どちらも学習しうる.

2.関連研究 省略

3.問題定義 省略

4.手法

報酬関数$$r_\theta(s)$$をパラメータ$$\theta$$でのニューラルネットワークで近似することを考える.パラメータ$$\theta$$はデモンストレーションの各軌跡$$\tau_i$$の一対比較についてランクが大きい方の累積報酬が大きくなるように学習する.具体的には式(3)のloss関数について最適化して報酬関数を求める.

f:id:keiforbusy:20190430141404p:plain

 訓練データを増やすため,各軌跡$$\tau_i$$について一部だけをとって比較するように学習を行う.これにより少数のデモンストレーションデータでも学習が可能になる.

学習の手順としては

  1. 軌跡\tau_i\tau_jを選びその中から長さLの部分軌跡を取り出す.
  2. この軌跡について現在の報酬関数r_\theta(s)で得られる累積報酬をもとめ式(3 )の損失関数に基づきr_\theta(s)を更新
  3. 1,2を繰り返す.
  4. これによって学習した報酬関数に基づき強化学習を行う.

実験(Mujoco)

デモンストレーションデータ

  • 報酬によって順位付けした
  • 生成された時間(学習初期から末期にかけて)によって順位付け

の2種を試している.

1000stepの軌跡についてL =50 の5000ペアについて報酬r_\theta(s)を学習 オーバーフィット防止のため報酬r_\theta(s)は5つのDNN(3×256dense)について標準化したのちアンサンブル(平均値)をとる.

エージェントはこの報酬に加えてOpenAI Gymのコントロールペナルティ(ロボットのトルクを最小化させるもの)を加える.(これよいのかな?)

結果(従来手法との比較)

表1

table1(https://arxiv.org/pdf/1904.06387.pdf)

figure.2 は横軸に真の報酬,縦軸にTrexによって推定された報酬を表しており,赤色が実際のデモにおける報酬,青色がデモンストレーションを超えるような軌跡での報酬を表している. つまり(Hopperでは特に)デモンストレーションデータにないような軌跡での報酬推定もうまくできていることを示す.

Atariでの結果

Table.2(https://arxiv.org/pdf/1904.06387.pdf)

12個のデモンストレーションデータから学習

Table2は与えたデモンストレーションと各模倣手法の成績を表しており,Enduro,Hero,Pong以外ではデモンストレーションを超えるような成績を獲得している.

順番のノイズに対するロバスト

デモンストレーションデータのランク付けについてある程度ランダムに入れ替えてもある程度機能すると主張.

これはつまり人間がラベル付けをする際に厳密でなくてもある程度うまくいく可能性を示す.

複数の方策の混ざったexpertから複数方策を模倣学習するInfoGAIL論文の要約

[1703.08840] InfoGAIL: Interpretable Imitation Learning from Visual Demonstrations

この論文のメインとしては深層模倣学習GAILの自動運転への応用であり

  1. 状態をpixelデータで受け取ること
  2. デモンストレーションの方策が単一でなく複数のモードが混ざって構成されていると仮定しその分類と習得(infoGANの応用)

をメインとしているが,私が調べた限りはGAILの報酬に環境からの外的報酬を加えることでデモンストレーションを超える方策を学習することが述べられている最初の論文であり,そちらに焦点を当てて読んでみました.

InfoGAIL本文

intro

問題提起

強化学習において報酬設計は時にむずかしい(たとえば自動運転)
GAILはエキスパートの行動をまねる模倣学習の一つでGANのようにDiscriminatorを用いて性能を向上させている。
模倣学習においてはexpertは人の動作をもちいることが多いが、人によって方策は異なるし、外的な要因はシミュレータでとらえきれない。

アプローチ

この論文ではinfoGANとアナロジーして、人のデモから教師なし的に似た理解できる概念を学ぶことを目的とする。
この論文での新規性は

  1.  infoGANに似た方法でGAILを改良し、低レベルの行動をより抽象的なハイレベルな変数でコントロール
  2. 高次元空間での人のような動作をピクセルでのインプットで模倣学習
  3. 自動運転への応用

2.背景

2.1 変数の定義

特に変わった点はなし

2.2 模倣学習

Behavior CloningとApprenticeship learning(AL)(逆強化学習と同義にとらえているっぽい)の問題点はデモンストレーションが完全でないことと複数の方策が混ざっていることがあることである.

2.3 Generative Adversarial Imitation learning

GAILについて解説.

3.visual inputによる理解できる模倣学習

人の行動は人によっても、その時々によってもさまざまである.
そこからこの章では
(1)潜在的な要因を発見し、(2)方策を学び,(3)外的な情報としてvisual inputのみをもちいる.
の三つを実現する.

この論文ではエキスパートの方策についてn個の方策が混ざったものとして考えている。
このn個の方策はある潜在変数cによって確率的に決定されていると仮定している。

3.1 Interpretable Imitation Learning

GAILは単一の方策を持つexpertを想定しているため複数の方策を持つexpertからクラスタリングの要領で複数方策を学ぶ方法が必要

複数の方策を表現する方法として、新たな潜在変数cを導入し方策をsだけでなくsとcの関数π(a|s,c)とした。これだけではうまくいかない。
cと軌跡τを結びつけるためこれらの相互情報量I(c;τ)を導入する。(infoGANのアイデア)
https://logics-of-blue.com/information-theory-basic/(相互情報量はこのサイトがわかりやすい)

I(c;τ)を直接求めるにはP(c|τ)が必要なため式(2)のような近似Lを導入しQ(Qlearningとは無関係)を推定することで求まる.

全体としてはGAILにLを加えた式(3)のような形になる。
これによって潜在変数cとexpert軌跡τの関係も学習し、複数方策を分類できる。

なお実際にはQは軌跡τではなく状態行動対の関数として近似している。
アルゴリズムはシンプルにD,Q,πを順に更新していく流れになっている.

3.2Reward augmentation

imitation learningではexpertの方策が完全でない場合そこで頭打ちになる.
模倣学習において事前知識的に報酬を加えることをReward augmentationという(初耳)http://journals.sagepub.com/doi/abs/10.1177/0278364917745980
式(4)のようにη(状態にのみ依存する報酬(例えばタスク達成時にもらえるもの))を導入することで事前知識的に報酬があたえられる.

3.3 最適化の工夫

pixelベースの高次元空間にGAILを持ち込むに当たってGANが持つ勾配消失などの諸問題をWGANの技術を使って改善した.

またベースライン,リプレイバッファーなどのテクニックも使用.
DにはTMSprop,QにはAdam,πにはTRPOを用いた.
InfoGANと違いD,Q間でパラメータは共有しないことに注意.

4.実験

4.1 toy task

fig1を見れば潜在変数cによるモード分解がうまくいっているのがわかりやすい.

 

4.2~ 運転の模倣

インプットはImage Netの事前学習モデルで畳み込む.

運転において2つの動作を想定し,それぞれ二つのモードが存在する.

  1. 曲がる(内側・外側)
  2. 追い抜く(右から・左から)

潜在変数の分布$$ p(c)$$は一様分布を仮定.

追い抜きタスクにおいて,infoGAILでは各モードを分別し,それぞれ等しい頻度で行動できている.一方,通常のGAILは混合方策を分別できていない.から追い抜く頻度が非常に大きいが,左から追い抜く方策も模倣しようとするため,追い抜く直後に大きく左に曲がるような動作が見られた(GAILは文脈的な情報は加味しないためこういうことが起こるともいえる).

 

モードの分類性能を比較すると,K-means法やPCAと比べ高い正解率を誇り,81.9%となっている.なお教師あり学習のCNNでは90.8%であった.

(本来は状態遷移を考慮した教師なし学習も比較すべきではありそう.シミュレータ内でデモンストレーションデータ以外でのデータが得られているというのが要因としてある.)

感想

冒頭で述べたようにRewardAugmentationに興味があったためInfoGANの知識のないままざっくり読んだので間違いが多いかもしれません.モード分解についてはのちに階層型に応用してる論文があったのでまた今度読もうと思います.

[1810.01266] Directed-Info GAIL: Learning Hierarchical Policies from Unsegmented Demonstrations using Directed Information

 

 

 

 

【DQfD】デモンストレーションから事前学習するDQNの論文を読む

 スパースな報酬環境(たとえばMontezuma Revenge)での強化学習は学習が難しく,さまざまなアプローチがこころみられています.今回はデモンストレーションを用いることでこの問題に取り組んだ,論文(2017,Deepmind)

[1704.03732] Deep Q-learning from Demonstrations

を読んだのでそのメモを残してみます.

ざっくりいうとDQfDとは

 この論文の目的は,深層強化学習において現実世界への応用の観点から少ない試行回数でよい成績を出すことにあります.大まかにまとめるとDQfDは

  1. Agentが実際行動する前に,デモンストレーションの動作からQ関数を事前学習
  2. Q関数をもとに探索,デモンストレーションと実際の経験の混ざったリプレイデータを作成
  3. 混合リプレイデータで優先的経験再生(Prioritized experience replay)を用いて学習

新規性としては,デモンストレーションをもちいた事前学習をしていることと,損失関数にデモンストレーションを模倣するような項を加えていることになります.

強化学習の枠組みの中で学習初期の足掛かりとしてデモを用いているため,最終的にデモを超えるようなスコアを達成している点が通常の模倣学習とは異なります.

本文要約

イントロ

 さまざまなRLで,以前の経験を利用する手法が大きな成果を挙げている. RLを実世界で使うには学習に必要な試行回数が多く危険. それらの操作には,人であったり何らかのもともとの手法があり,sub-optimalなデモンストレーションは作成可能であるので,それを利用する手法DQfDを提案する. 

背景

 マルコフ決定過程での変数の定義,ベルマン方程式とQ learningの説明などなど.

Double DQN(2016)では次の状態の価値計算と,現在の行動の価値計算に使うQネットワークを分けることで,通常のQlearningの更新によるバイアスを軽減する.

Prioritized experience replay(2016)ではTDエラーが大きかった経験を優先的に重点サンプリングで経験再生することで学習を早める. 

関連研究

imitationとしてDAGGERとその改良版,GAILがあるがデモ以上の性能は出ない.
転移学習としてHATアルゴリズム,デモとエージェントの経験を混ぜる方法としてHERが挙げられていた.
もっとも近い手法としてAccelerated DWN with Expert Trajectories(ADET)があり,これではクロスエントロピーlossをもちいておりその部分がDQfNで改良する.

Deep Q-Learning from Demonstrations本文

目的としてはpre-train段階でベルマン方程式を満たしながらデモを学ぶこと.
ネットワークの学習には4つの損失関数(loss)を用いる.
1. 1step double Qlearning loss
2. n-step double Qlearning loss
3. supervised large margin classification loss
4. L2 regularization loss
デモはデータ数が少ないく,多くの状態行動対(s,a)は取られない.そのため,通常のQ-learningでの更新だと実際の価値関数とは大きく異なったものになる.そのため3のlarge margin classification loss(2014,https://link.springer.com/chapter/10.1007/978-3-662-44851-9_35)
を導入する.

この損失関数Jは,ある状態sにおいてagentとexpert(demo)の行動aが同じでJ=0,異なる場合J=(その時の2つの行動の価値Qの差+定数l)となる.つまりagentとexpertの行動が異なる場合,少なくともl分は損失関数Jが大きくなる
もちろんこれだけだとベルマン方程式を満たさないので損失関数1と2を導入する(普通のQ-learning的考え).
4はDemoデータへのオーバーフィット防止にもちいている.

全体としての損失関数Jはこの4つの重み付け和としている.(結構シンプル)

流れとしてはD-replayにエキスパートの状態行動対でQネットを学習→実際に行動してその経験もDに記憶

DemoとAgentの行動の優先経験再生の割合はイプシロンを用いて調整

実験

atariで実験.
CNNとしてDueling state-advantage convolutional network architecture(wang et al.2016)を使用.
人とデモを近づけるためreward clipをなくし報酬を対数関数とした(報酬の大小含めて学習させた).
結果は本稿を参照ください.

Discussion

DemoデータによってQ関数を事前学習することで環境とのインタラクション初期からよいスコアをだした.特にスパースな報酬を持つゲームではSOTAを達成.またDemoデータよりも良い成績を出すことも確認された.
4つの損失関数の組み合わせを用いることで事前学習と本学習の切り替えに問題なく対応できると考えられる.

まとめ

ざっくりいうと

  1. 損失関数にラージマージン分類誤差の導入
  2. Demoデータでoff plicy学習
  3. ReplayデータにDemoと実際の経験の混在

を行うことで模倣強化学習(Demoを有用(情報量の多い)経験と考える+デモに似せるような損失関数の追加)しましたよっていう話だと思われます.デモを手本に強化学習的にデモを超えるような方策を獲得するのが一番の売りといえると思います.

毎度のことですが,勘違い等多々あると思いますのでご指摘よろしくお願いします.

ICLR2019 GAILのinteraction効率を高めたDACの論文を要約

 

ICLR2019の模倣学習Discriminator Actor-Critic(DAC)の論文を読む

ICLR2019で強化学習といえばR2D2がもてはやされていますが.GAILの改良するアプローチの論文があったので読んだ際のメモとして書いてみる.

Discriminator-Actor-Critic: Addressing Sample Inefficiency and Reward Bias in Adversarial Imitation Learning | OpenReview

ざっくりした内容

模倣学習というとGANの敵対学習を応用したGAILやそれを逆強化学習の枠組みで考えたAIRLが有名ですが,これらは試行回数効率があまりよくないという問題と,とくにGAILでは得られる報酬にバイアスがかかっているという問題があります.この問題をoffpolicyの強化学習手法を用いることと,終端状態も含めた学習をすることによってそれぞれ解決するとのことです.

本文要約メモ

読んだ内容をメモとして残してみます.読みながらメモった内容なので間違いがありましたらコメントで指摘していただけるとありがたいです.

Abstract

GAILやAIRLといったGANのアイデアを使った深層模倣逆強化学習の環境とのインタラクション効率を改善するDiscriminator-Actor-Criticを提案する

1.イントロ

模倣学習としてGAILやAIRLが台頭しているがこれらには2つ問題がある

  1. 収束までに試行回数が多数必要
  2.  得られる報酬にバイアスがかかることと,終端状態の扱い方のせいで方策が悪くなっている

1についてはMuJoCoのロボアームではTRPOで2500万,PPOにしても1000万試行必要でありoff policyの強化学習によりこれを改善する.

また,報酬の設計法により方策のパフォーマンスは大きく変わるのでその知見も取り入れる

この論文では

  • 得られる報酬のバイアスを改善する
  • 試行回数の削減を行う
  • 提案するDiscriminator-Actor-Critic(DAC)のパフォーマンスを示す.

2.関連研究

気になったものを抜粋するとスパースな報酬の強化学習に模倣学習を組み合わせ効率化するというものでDeepMindスタンフォードの論文

https://arxiv.org/abs/1802.09564

またexpertの状態遷移のみ(行動の情報を使わない)で模倣を行うBCOの論文

https://arxiv.org/abs/1807.06158

これをベースにしているみたい

3.Background

3.1マルコフ決定過程

absorbing stateについて言及

3.2逆強化学習

GAILの解説

本来GAILは状態行動対(s,a)がサンプルされる必要がありoff-policyで行うにはなんから手を加える必要があった.

4.Discriminator-Actor-Critic

4.1報酬関数内のバイアス

既存手法で得られる報酬にはバイアスがかかっている

  • AIRLやGMMILのバイアスは終端状態を報酬0と決めつけている(生存意欲が減る)
  • GAILのlogDやlog(1-D)を報酬とする場合は報酬が正か負に定まってしまっているためにタスクによっては最適方策に収束しない
4.1.1上記のバイアスの詳細説明

この章ではGAILでは報酬の時間割引率γの設定によってはGAILではエキスパートの行動一つ一つをまねることで得られる報酬を求めた結果,全体としてはエキスパートの遷移でないものになることがあるということをfig4.1を用いて示している.

またAIRLはそのGAILの報酬が正(負)だけになることを改善している一方で終端状態の報酬が0であることから生存意欲が減ること,また学習初期ではDが強く報酬が負の方向にバイアスがかかってしまうことを指摘.

4.2バイアスのない報酬関数

ここからが上記の問題の解決策となっている.DACでは終端状態(absorbing states)の部分の報酬についても学習する.

GAILのDにabsorbing statesかどうかかを示す新たな次元を与えることでabsorbing statesを学習させる.具体的にはabsorbing stateのときに1,それ以外で0となるような次元を追加する.(あまりスマートではないような気がするが,,)

4.3 sample効率について

DACではGAILが行動軌跡を使っていたのに変わって,off-policyの訓練中に得られたリプレイバッファーを用いる.(現在とはことなる過去の方策での経験も含め学習する)

式(2)では今の方策に対して過去の方策を多く使用したリプレイデータとなっているため,本来は式(3)のように重要サンプリングとすべきだが収束が難しいためこれは使われていない.

またoff-policyでの最適化手法としてTD3というアルゴリズムを使っている.

5実験

実験環境,ハイパーパラメータ,gradient penaltiesの使用などについて言及

結果としてfig4を見るとわかるがサンプル効率がすさまじく改善されている.

5.2 報酬のバイパス

GAILについて学習初期ではエキスパートの1/3のパフォーマンスでも1000もの報酬を受け取るなどおかしな点を指摘.(?)

また無学習でもランダムに比べ性能が良かったりすることから報酬の設計だけでもRLの性能は大きく変わることをfig5で示す.

fig6ではkuka環境での性能,fig7ではAIRLでの報酬設計を用いた場合にabsorbing stateの学習を行うかで性能が大きく変わることを示している.

6.結論

まとめ

従来のGAILなどからの改良点としては

  1. サンプル効率問題をoff-policyの強化学習手法をもちいてリプレイ学習(?)を行うことで解決
  2. 報酬にかかるバイアス(GAILだとすべて正(負)となっていること)の弊害をabsorbing states(終端状態)をふくめて学習することで防いでいる.

と読み取れました.

結果のグラフを見るとなかなかすさまじいですが実際に実験して確かめてみたいですね.