エンジニアの吉田です。
ICLR2018の参加報告を計4回にわたって行なっており、今回は3回目にあたります。

第1回の報告では、ICLR2018の概要(ハコ)と強化学習の研究領域の簡単な紹介をしました。第2回からは、ICLR2018で発表された論文(ナカミ)の紹介をしています。第2回では強化学習における転移に関して整理し、また、関連する論文を紹介しました。

今回は、強化学習におけるカリキュラム生成と模倣学習に関連する論文を紹介します。まずはA1. 強化学習における報酬の機能とA2. その機能が果たされないときに生じる問題、A3. その解決策になりうる模倣学習とカリキュラム生成という研究分野に関して整理します。その後、B. ICLR2018において発表された論文を模倣学習とカリキュラム生成それぞれについて1つずつ紹介します。

▼目次

\vspace{5px}

強化学習における報酬の機能

強化学習における報酬の機能は2つあります。1つは、方策の学習を効率化し早く学習が進むようにさせることで、1つは、学習後の挙動を意図したものになるようにさせることです。強化学習エージェントにとって報酬は、方策学習のための唯一の教師シグナルであり、どう行動すればよいかの唯一の手がかりになります。そのため、報酬の設計次第で、方策の学習ができるかどうか、学習できたとしても学習後のエージェントが設計者の意図した挙動をするかどうかが分かれます。

第1回で整理した強化学習研究の整理表において2つの機能がどこに当たるか見ておきましょう。
表のオレンジの箇所が報酬の機能に当たります。

課題作業ブロック対象アプローチ打ち手
タスク設計が難しい場合ありタスク設計状態空間タスクを解くために必要十分な入力情報の選定実機検証(?)
行動空間再現性が高い形で行動空間を設計実機検証(?)
報酬関数シミュレータ活用
エキスパート軌道から報酬復元(?)
逆強化学習、模倣学習
試行回数を十分増やせず学習しきれない可能性あり方策初期化方策方策の事前学習転移学習、メタラーニング
方策学習更新法データを再利用オフポリシー手法
安定的な方策更新信頼領域法
取った行動の良し悪しのフィードバック頻度の増加探索効率化、
モデルベース強化学習、
カリキュラム生成、
模倣学習

実際に強化学習を機械制御に応用させる前には、しばしばタスクを設計する必要があります。これは、適用対象の機械やその機械で達成したい操作がまだ強化学習のタスクとして設計されていないことが多いためです。タスク設計においては、状態空間、行動空間、報酬関数それぞれを設計します。中でも設計が難しく、研究対象として注目されているのが報酬関数の設計になります。実際に、複雑な制御・操作においては、実験結果を踏まえた報酬関数の改良を繰り返すことが多いです。
この2つの機能を果たす完璧な報酬を人が設計することは非常に難しく手間がかかります。次の章では報酬設計の不備が引き起こす問題に関して説明します。

報酬設計の不備による問題

報酬設計の不備によって主に方策の学習ができない、学習できたとしても学習後のエージェントの挙動が意図した挙動でないという2つの問題が生じます。

この章では過去の研究文献で報告された報酬設計の不備によって生じた問題について取り上げます。

方策学習ができない

Deep Mindが2013年に発表したDeep Q Network(DQN)は強化学習の華々しい成功例の1つです。DQNはAtari 2600の49種類のゲームを同じアルゴリズムで解いた結果29種類のゲームにおいて人間の得点を上回るという成果を上げています。
このうちDQNが全く解くことのできなかったゲームにMontezuma’s Revengeというものがあります。

Nature版DQNの結果。Montezuma’s Revengeは最下段[Mnih et al., 2015]
Montezuma’s Revengeは報酬の得られる頻度が非常に少なくランダムな行動をしていてはほとんど報酬を得られないゲームになっています。このような報酬のことを「疎な報酬」と呼びます。疎な報酬の問題設定では方策の教師シグナルがほとんど得られないため学習できず強化学習の苦手なタスクになってしまいます。

学習後のエージェントの挙動が設計者の意図した挙動と乖離する

DeepMindによるロボットハンドに器用な物体操作を学習させる論文で、学習後のエージェントの挙動が意図したものにならなかった例が紹介されています。
ロボットハンドが赤いレゴブロックを持ち上げて青いレゴブロックにはめて積み上げるタスクを行った結果が下図になります。
初期実験では、この時赤いレゴブロックの底面の高さを報酬にするという簡単な報酬設計を行っていましたが、結果として意図しない「赤のレゴブロックをひっくり返す」という挙動をロボットハンドがしてしまっています。

ロボットハンドが赤いブロックをひっくり返すことで底面の高さを高くして報酬を稼いでいる[Popov et al., 2017]。
これに対してPopovらは下図のように報酬を作りこむことで意図した挙動をさせています。

作り込んだ報酬。中間ゴールを設け、報酬の値を細かく調整している[Popov et al., 2017]。
しかし、このような報酬を作り込むことは非常に手間がかかりますし、大量の試行錯誤を要するため、特に実機制御においては、コストが大きいです。

報酬の引き起こす問題の解決法

方策の学習ができない問題を解決する方法としてカリキュラム生成を、設計者の意図した挙動にならない問題を解決する方法として模倣学習を取り上げます。

カリキュラム生成

方策の学習が進まない問題は、教師シグナルが与えられる頻度を増やすことで解決できます。強化学習におけるカリキュラム生成という分野はなるべく簡単な事から始めて難しいことを徐々にできるようにすることで、教師シグナルを増やすことを目指しています。
AIを研究する非営利団体であるOpen AIが発表した論文で、Hindsight Experience Replay(HER)という手法が提案されています。
これはゴール状態を引数に取る特殊な価値関数を用いることで、どの状態に到達したとしてもその状態に行きたかったと思い込むことで教師シグナルを増やす手法です。これは失敗した経験を簡単なタスクとして捉えて、どんどん難しいタスク(成功)に向かわせる暗示的なカリキュラム生成の手法と見ることが出来ます。これによってたとえ失敗の試行であったとしてその経験を学習に活かすことが出来ます。この手法を用いて疎な報酬においてもタスクを解けることを報告されています。

箱を掴んで目的の位置に持っていった時のみ報酬が入るタスクを実機で成功させている[Andrychowicz et al., 2017]。
HERはゴール状態を水増しすることで教師シグナルを増やしていましたが、タスクの難易度を調整させることで方策の学習を促すカリキュラム生成の研究もあります。
その一例が、UC Berkeleyのチームが発表した研究です。この研究では、初期状態を最初はゴール状態に近いところにして徐々にゴール状態から離していくようなカリキュラムを自動生成させ、疎な報酬であるタスクでも方策の学習を容易にしています。

模倣学習

報酬設計の不備によって設計者の意図した挙動と違う挙動をエージェントが行ってしまう問題は、エージェントに真の報酬を推定させることにより解決できます。このアプローチにより問題の解決をしようというのが、模倣学習になります。
模倣学習とはエキスパートの軌道データD=\left\{ \tau_i ; i=1,\cdots,n \right\}, \tau_i=\left\{s_1^i,a_1^i, \dots , s_{T_i}^i,a_{T_i}^i\right\}は与えられるが、報酬は与えられない問題設定において、エージェントが最適な方策を学習する手法です。
模倣学習には大きく分けて、教師あり学習のアプローチと逆強化学習を用いて報酬を推定するアプローチがあります。代表的な手法として、それぞれBehavior CloningとMaximum Entropy Inverse Reinforcement Learningとその発展形であるGenerative Adversarial Imitation Learningというものがあります。

Behavior Cloning

Behavior Cloningは入力をエキスパートの状態、出力をエキスパートがその状態で行った行動として回帰を行う手法です。
下図はNVIDIAが行ったBehavior Cloningを自動運転に応用する研究の概要です。

運転席から見える画像を入力、その状態での人間のドライバーのハンドル操作を出力として、教師あり学習で方策を学習[Bojorski et al., 2016]
しかし、この方法はエキスパート軌道に含まれない状態においてどう行動を取ればいいかわからないため、一度エキスパートから外れると誤差が蓄積して望まない挙動をすることになります。
この問題に対する解決策は2つあります。1つの解決策はできるだけ多くのエキスパート軌道を集めることです。上で紹介したNVIDIAの研究では正面の画像だけでなく左前・右前を撮影するカメラを搭載することでデータを水増ししています。ただ真っすぐ走っているデータでも、左前や右前の画像が正面に見えたときに、車線を復帰しようとしている行動と捉えて水増ししています。

3つの視点の画像を撮影することでBehavior Cloningのデータを水増ししている[Bojorski et al., 2016]
もう1つの解決方法が、以下に説明する逆強化学習を用いた模倣学習になります。報酬を復元して探索を含む強化学習をすることでエージェントが色々な状態を経験して、エキスパート軌道にない状態での最適行動を学習します。

Maximum Entropy Inverse Reinforcement Learning [Ziebart et al., 2008]

Maximum Entropy Inverse Reinforcement Learning(MaxEntIRL)は、逆強化学習の基礎となるアルゴリズムです。
報酬を1つ決めると以下の目的関数を最大化するように最適方策が1つに定まる、と仮定します。

(1)   \[argmax_{\pi(a|s)}E_{\tau\sim{\pi}}\left[R(\tau) - log(\pi(\tau))\right],\ \sum_{\tau} \pi(\tau) = 1 \]

ここでR(\tau)は軌道が得る累積報酬R(\tau)=\sum_{t=0}^T\gamma^tR(s_t,a_t)を表し、
\pi(\tau)\pi(a_t|s_t)をロールアウトして得られる軌道の分布を表します\pi(\tau)=\rho_0(s_0)\prod_{t=0}^T\pi(a_t|s_t)T(s_{t+1}|s_t,a_t)
この目的関数の第二項は1つの報酬に対して最適方策が複数あるという曖昧性を除去することを狙ったものです。(下図)
エントロピーを最大化することは、最適方策から最適軌道を生成する以外の情報をなるべく除去することを意味しています。このことで、最適方策が最適な軌道を100%生成して他の軌道を全く生成しないという不自然な分布になることを防げます。さらに、エキスパート軌道がsub-optimalでもロバストな報酬推定を行えるようになります。

MaxEntIRLの意図。エントロピーの大きい方策を選ぶことで最適軌道を説明する方策を一意に定める。

ラグランジアンは以下

(2)   \[L(\pi(\tau),\lambda)= \sum_{\tau} \pi(\tau) \left( R(\tau) - log\pi(\tau) \right)+\lambda \left(1-\sum_{\tau}\pi(\tau) \right)\]

(3)   \[\frac{\partial L}{\partial \pi(\tau)}=R(\tau) -1 -log\pi(\tau) - \lambda=0\\ \iff \pi^\ast(\tau) =\frac{exp(R(\tau))}{exp(\lambda+1)} \]

これを(1)の制約条件の式に代入して

(4)   \[\pi^\ast(\tau) =\frac{R(\tau)}{\sum_{\tau}exp(R(\tau))}\]

この\pi^\ast(\tau)とエキスパートの方策が作る軌道分布\pi_E(\tau)と一致させる報酬R(s_t,a_t)を求めたいので、

(5)   \[min_{R(s_t,a_t)}D_{KL}(\pi_E(\tau)||\pi^*(\tau))\ =max_{R(s_t,a_t)}E_{\tau\sim\pi_E(\tau)}\left[log(\pi^*(\tau))\right] \]

結果として(4)式で表される軌道分布における手元にあるエキスパート軌道の尤度を最大化する問題に切り替わることになります。
ただし、この手法では尤度を最大化する際に勾配降下法で報酬を変更するたびに変更後の報酬における最適方策を求める必要があります。そのため、勾配降下法のステップ数分だけ強化学習や動的計画法を回すため非常に効率の悪い方法になっています。
そこで、考案されたのが次に紹介する報酬と方策を交互に学習する手法になります。

Generative Adversarial Imitation Learning (GAIL)

この研究ではGANsをImitationに用いて(6)式を最適化する手法を提案しています。

(6)   \[min_{\theta}max_{\psi}\ E_{\pi_E}[logD_{\psi}(s,a)]+E_{\pi_{\theta}}[log(1-D_\psi(s,a))] \]

方策\pi_{\theta}-log(1-D_\psi(s,a))を即時報酬としてみてこの累積報酬を最大化するようにTrust Region Policy Optimization(TRPO)を用いて方策を学習します。対して、D_\psi(s,a)はある状態sで行動aを取るエージェントがエキスパートである確率を出力するDiscriminatorであり、Discriminatorが学習が終了すると暗示的にDiscriminatorの表現の内部に報酬を復元していることになります。
このようにGAILはGANsの要領で方策と報酬を交互学習して模倣学習を達成する手法です。この方法を用いると交互最適の最中にエージェントが探索を行いそこで経験する状態に関してDiscriminatorがフィードバックを与えるためBehavior Cloningで生じたロバスト性の問題を解決できます。

以上、強化学習における報酬の機能とその機能が果たされないときに生じる問題、その解決策になりうるカリキュラム生成と模倣学習について整理しました。次に、ICLR2018で発表された論文を具体的に紹介したいと思います。

ICLR2018のカリキュラム生成と模倣学習の論文

ICLR2018で発表されたカリキュラム生成の論文としてIntrinsic Motivation and Automatic Curricula via Asymmetric Self-Play[Sukhbaatar et al.]を、模倣学習の論文としてLearning Robust Rewards with Adversarial Inverse Reinforcement Learning[Fu et al.]を紹介します。

Intrinsic Motivation and Automatic Curricula via Asymmetric Self-Play [Sukhbaatar et al.]

この論文は強化学習におけるカリキュラム生成に関する論文です。
カリキュラム生成に関する研究の中でも、特に、中間ゴールを水増して、方策学習の促進を解決しようとする研究です。具体的には、どうやって環境中の状態を遷移していけばいいのかを教師無し学習の形で事前学習することで、タスクが与えられた際に早く学習できることを目指しています。

背景

エージェントが環境から得られる外部報酬とは別に内部報酬を受け取って探索を促進する手法は内発的動機づけ(Intrinsic Motivation)と呼ばれています。従来研究では新しい状態をエージェントが経験すると内部報酬を得る手法が多く提案されていました。しかし、既に経験した状態であってもエージェントが苦手な状態であれば、そこに到達したことに対して報酬を貰える方が方策の成長に役立ちます。逆に、新しい状態であってもエージェントが簡単に到達できるのであれば、そこを経験しても対して方策の成長に役立ちません。

この論文では、エージェントになるべく苦手な状態に到達させるカリキュラムを生成して、方策を成長させることを目指しています。

提案手法

脳内に2つの似通ったエージェントであるAliceとBobを用意して、Self-Playという報酬なしで環境中をエージェントがウロウロする設定においてBobが解けそうで解けなさそうなサブゴールをAliceが生成してそれをBobが解いていくことでBobの方策を成長させるコンセプトになっています。
具体的には
1. Aliceがある状態まで動いてStop actionを出す
2. BobがStop actionが出たところから初期値まで戻る/初期値からStop actionが出たところまで行く
という方式で環境中をウロウロします。
AliceとBobの報酬は以下のようになっていて、t_a, t_bはそれぞれAliceがサブゴールを作るまでにかかった時間とBobがサブゴールから戻るのに/まで行くのにかかった時間を表します。
この報酬がGANs likeになっています。

実験・結果

実験としてMaze baseという離散状態行動空間にて高い性能を出しています。ただ、Self-Play中のエピソードを横軸に入れていないのでUnfairな比較になっている印象です。

実験とその結果[Sukhbaatar et al.]。
その他にも連続状態行動空間での実験も行っていました。

この論文は脳内エージェントが競い合いながら強くなるというアイデアがユニークで示唆的だなと感じました。

ただし、ターゲットタスクに必要な方策の能力以上に方策が成長して、ターゲットタスクをオーバーキルする可能性があり、Self-Play中に必要以上な試行錯誤をする可能性が高いとも感じました。とはいえ、ターゲットタスクがどう指定されるかわからない問題設定では、ある環境にエージェントを投入すると探索を事前に済ませてくれるため有用ではないかと思います。

また、この手法により方策の学習は容易になりますが、追加的な内部報酬を得るため、設計者が本当にしてほしい挙動と学習後の方策が生成する挙動に齟齬が生じる可能性があります。
カリキュラム生成の章で説明した、初期状態を変えるカリキュラム生成やゴール状態を明示的に扱うカリキュラム生成とはこの点が異なります。

Learning Robust Rewards with Adversarial Inverse Reinforcement Learning[Fu et al.]

背景

MaxEntIRLやその発展形であるGAILはエキスパート軌道を生成させる方策が複数あるという最適方策の曖昧性を解決しようというものでした。しかし、最適方策を生成させる報酬も複数あるという最適報酬の曖昧性の問題は残ったままでした。これはReward Shaping [Ng et al., 1999]として知られています。
Reward Shapingは任意の関数\Phiを用いて

    \[r_{new}(s,a,s')=r(s,a,s')+\gamma \Phi(s') - \Phi(s)\]

と報酬を変形させてr_{new}で最適方策を学習した時と、元のrで最適方策を学習した時に得られる最適方策が一致する性質を指します。
これは以下のように累積報酬がr_{new}rで定数項を除いて一致することからわかります。
\sum_{t=0}^{\infty}\gamma^t(r(s_t,a_t,s_{t+1})+\gamma\Phi(s_{t+1})-\Phi(s_t))
=\sum_{t=0}^{\infty}\gamma^tr(s_t,a_t,s_{t+1})+\gamma^{\infty}\Phi(s_{\infty})-\Phi(s_0)
=\sum_{t=0}^{\infty}\gamma^tr(s_t,a_t,s_{t+1})-\Phi(s_0)

GAILではDiscriminatorは学習の仕組みは下記のようになっています。まず、エージェントが報酬を学習します。その学習した報酬における最適方策が得られます。さらに、その最適方策によって得られる軌道分布が得られます。その軌道分布がエキスパートの軌道分布と一致するようにDiscriminatorを学習してします。ここで学習したDiscriminatorの内部には暗示的に報酬が獲得されています。しかし、この暗に獲得された報酬がReward Shapingで生成される無数の報酬のうちどれに当たるのかが分からない問題があります。
これは同じエージェントが同じ環境において模倣学習をする場合には問題になりません。同じ環境下で有効な最適方策が得られれば十分だからです。しかし、身体パラメタの異なるエージェントや異なる環境に対しても、獲得した報酬を転移・転用させたい場合には問題が生じます。
そのような転移学習の問題設定においては報酬関数を状態sにのみ依存する形で獲得する必要があります。なぜなら、もし報酬関数が行動にも依存する形で定義されると状態遷移確率の情報も報酬関数に入り込む必要があり、転移先の環境での状態遷移確率を得るのは容易ではないからです。よってsのみに依存する関数を明示的に扱ったDiscriminator設計して、その関数に報酬を学習させていくことが有効であり、その手法をこの論文では採っています。

提案手法

DiscriminatorをD(s,a,s')=\frac{exp(f_{\theta,\phi}(s,a,s'))}{exp(f_{\theta,\phi}(s,a,s'))+\pi(a|s)}という形にするとf_{\theta,\phi}に報酬が学習されていくことが先行研究(GAN-GCL[Finn et al., 2016])で報告されています。
そこでf_{\theta, \phi}(s,a,s')=g_{\theta}(s)+\gamma h_{\phi}(s')-h_{\phi}(s)という形にして学習すると最適値では

    \[g^*(s)=r^*(s)+cons.\]

    \[h^*(s)=V^*(s)+cons.\]

となり、h(s)に価値関数という環境の状態遷移モデルの情報が入った関数が押し込められ、gに純粋なその状態sの即時報酬が獲得されていきます。
ちなみに、最適値におけるfは以下のようにアドバンテージ関数と解釈できます。

    \[f_{\theta, \phi}(s,a,s')=r^\ast(s)+\gamma V^\ast(s')-V^\ast(s)\]

以下が詳細なアルゴリズムになります。

提案手法のアルゴリズム[Fu et al.]
エージェントの身体や環境が異なるタスクにおいて報酬を再利用する手順は以下のようになります。

  1. 軌道を与えられたエキスパートと同じ身体のエージェントを同じ環境で操作して上のアルゴリズムを用いて状態sにのみ依存する報酬g(s)を獲得する
  2. g(s)を用いて強化学習を行い1と異なるエージェントもしくは環境においてタスクを解く

実験・結果

基礎実験として、離散有限状態行動空間において状態sにのみよる報酬を復元できるか実験していました。結果は以下のようになり、gにはground truthと等しい報酬が獲得されfには状態遷移行列の情報を含んだアドバンテージ関数が獲得されているのが分かります。

[Fu et al.]
[Fu et al.]
また、状態遷移行列をランダムに変更して、fgを用いてValue Iterationで方策を学習した結果は以下のようになっており、gを用いたときのみ成功しているのが分かります。

報酬転移のタスクとしては、下の図のような2つの連続状態行動空間におけるタスクを用意していました。

報酬転移タスク。右は青色のエージェントが緑色のゴールに行く迷路タスク(Poinmass-Maze)。迷路形状が変わる(Ant-Disabled)。左はアリ型のロボットを速く走らせるタスク。前足の長さが変わる。[Fu et al.]
下表のように既存手法(GAN-GCL)より高い性能を出していました。

GAN-GCLより良い性能が出ている[Fu et al.]。
\vspace{3px}
ICLR2018参加報告の第3回にあたる本記事では、前半でカリキュラム生成と模倣学習についてを整理し、後半でICLR2018で発表されていた強化学習に関する2本の論文を紹介しました。
次回は、強化学習・逆強化学習をデータ解析や他の機械学習分野へ応用する研究分野の概要とICLR2018で発表されたその研究分野に関する論文について説明・紹介する予定です。
\vspace{3px}

著者紹介

吉田岳人
東京大学大学院情報理工学専攻修士2年。
大学院にて、強化学習のうち模倣学習を中心に研究を行う。
DeepXでは、研究領域の強化学習技術の産業応用を目指し、特に、機械自動化に向けた模倣学習の活用法の開発を行う。