Physically Embedded Planning: 強化学習の新しいチャレンジ!? ロボットはシンボリックなゲームを解くことが出来るのか
3つの要点
✔️ 新しいPhysically embedded planning problemsに関するRLの環境を提案
✔️ 問題を解くためのベンチマークとなる手法を提案
✔️ Expert plannerを使うことで、問題を解くことは出来るが効率は現状悪い
Physically Embedded Planning Problems: New Challenges for Reinforcement Learning
written by Mehdi Mirza, Andrew Jaegle, Jonathan J. Hunt, Arthur Guez, Saran Tunyasuvunakool, Alistair Muldal, Théophane Weber, Peter Karkus, Sébastien Racanière, Lars Buesing, Timothy Lillicrap, Nicolas Heess
(Submitted on 11 Sep 2020)
Comments: Accepted at arXiv
Subjects: Artificial Intelligence (cs.AI); Machine Learning (cs.LG)
Paper Official Code COMM Code
はじめに
DeepMindから出た強化学習における新しいチャレンジについて言及した論文を紹介します。強化学習を用いたアプリケーションで有名なものとして、DeepMindから出たAlpha Goをまず思い浮かぶのではないかと思います。Alpha Goでは、囲碁において最適な配置を学習することができ、実際にプロの囲碁プレイヤーに勝ったことは記憶に新しいかと思います。しかし、Alpha Goなどでは、最適な配置を見つけることは出来ても実際に碁を動かすのは人です。実際の対決ではAlpha Goから出力された配置を元に人間がその場所に碁を置いています。では、人ではなくロボットが、どこに碁を置くかを考えた上で、碁を掴み、そして置きたい場所に正確に碁を置くことが出来るのでしょうか?下の図を見てみましょう。3つのそれぞれシンボルを使ってゲームの状態を表すことがゲーム(白を0、黒を1など)において、強化学習はこれらを解くことが出来ますが、果たしてロボットなどがそのゲームを操作するという状況において、正しく解くことが出来るのでしょうか?このようなものをPhysically Embedded planning problemsといいます。これは、強化学習にとって難しいとされ、なぜならperception(知覚)、reasoning(理由づけ)、motor control(モーター制御)をlong-horizon(長い時間)にかけて考慮しなければならないからです。これらのような問題を提供した環境がDeepMindから提供されてるので、気になる方は是非ご確認ください。本記事では、これらの問題についてより詳しく説明していき、最後に論文にて示された簡単な実験結果等を紹介していきます。
背景
本章では、モーター制御に関するチャレンジと、Long-horizonタスクにおいて理由付け(reasoning)において何故難しいのかを紹介します。
モーター制御におけるチャレンジ
ロボットの制御に関する研究は多岐にわたって行われています。例えば、ロボットの器用さについて着目した研究や、long-horizonなタスクについて研究したものが多くあります。しかし、このロボットアームの操作の複雑さとlong-horizonなタスクの組み合わせについてはあまり研究がされていません。また、このような問題は高次元な入力、例えば画像などだと特に難しく、また、action spaceが連続である場合も特に問題を難しくします。基本的に画像の入力から、抽象的な情報(物体を掴む、物体を置くなど)を抽出することが出来ると問題が解くことが出来るようになりますが、この情報を抽出することが現状困難なため、モーター制御を難しくしています。
Long-horizonなタスクでの理由付け
Long-horizonのタスクはとても難しく、例えば囲碁などにおいて、ある一つの決定が未来に大きな影響を与えることが多く、その時に行ったactionに対してポジティブな報酬がとても遅れて来る場合はそのactionとそれによる未来に起きた影響を理由づけすることがとても難しくなります。このように、high-levelでの理由付けと、その理由付けを元に行うロボットのコントロールを学習するのはとても難しい問題です。その他にも、強化学習でよく問題になる、hard explorationが特にlong-horizonなタスクに置いて顕著に現れます。つまり、様々な戦略がある中で、報酬が貰えるようなレアな戦略を探し当てなければならない時に、その戦略に行き着く可能性はとても低いです。このhard explorationを解決する方法としては、報酬をより細かく定義し、エージェントに対して情報を与える方法が考えられます。また、少しずつ解く問題を難しくするcurriculum learningというような手法から、エキスパートなエージェントから得られるdemonstrationを用いて学習する方法、そしてintrinsic reward (内在的報酬)というエージェントが未知のstateに訪れた際に報酬を渡すことでより新しいstateを探索するように促す方法などがあります。
環境
DeepMindが用意した環境の例は上の図の通りで、囲碁の問題などが含まれています。本章では、それぞれのゲームについてより詳細に紹介してきます。
MuJoBan
MuJoBanは一人用のパズルを解くSokobanというゲームが元となった、MuJoCoシミュレーションを利用して作られた環境です。下図2種類の環境の左側は上から見たときの図で、右側はプレイヤーから見た図を表してます。このパズルでは、エージェントが黄色の物体を押すことは出来ますが、引くことは出来ません。よって、計画的に物体を押さなければ、押した後に物体を引くことが出来ないため、パズルを解くことが出来なくなってしまいます。よって、planningがとても重要になってきます。この提供された環境では、環境の外観や迷路の難しさ、そしてサイズなどが異なったものが提供されています。この環境でのエージェントは2DoFで、体を物体に対して回転させることにより物体を動かすことが出来ます。ただし、物体自体は回転はしません。Observationとして使えるのは、joint torqueやvelocityそして物体の位置などの情報や、上から見たときの環境の画像、そしてエージェント視点の画像の3つがあります。上から見たときのエージェントの状態が分かるように、エージェントには耳が着いており、左が青、右が赤色となっています。もし、エージェントがそれぞれの物体を赤いパッドの上に動かして問題を解くことが出来た場合、そのエピソードの終了時に報酬として$10$、また物体を赤いパッドにのせるごとに$1$の報酬、そして解けなかった場合に$-1$の報酬が与えられます。基本的に簡単な問題は、エージェントを約200回動かせば解けるものから、難しいものに至っては900回程度動かす解くこと必要があるものもあります。
また、Sokobanのゲームをこのようにエージェントが物体を押して解くような場合だと、全てのルールを正確に反映することが出来なかったりします。例えば、エージェントが物体を引くことが出来ないため、迷路の角にある物体を押すことが出来ません。よって、この環境ではルールが少し変わっており、エージェントが物体に対して擦るように動くことで、その摩擦により物体が角から離れ、動かすことがが出来るようになります。その他にも、物体を斜めに動かすことが出来ないような制約もあります。
MuJoXO
MujoXOでは、tic-tac-toeのゲームを物理エンジン内にて実装したもので、ロボットアームが盤上の正しいパッドを触ることで、そのパッド上にエージェントの色のピースが現れます。そして、ピースが置かれた後に、相手のピースがabstract plannerを用いて置かれます。パッドの位置は現実世界での状況を鑑みて、ノイズが加えられています。そして、エピソードの最初とそれぞれの動きの後に、ロボットの盤上の位置がランダムに変わります。様々な問題の難しさを表現するために、相手の動きが$\epsilon$-greedyを使った方法で与えられ、$\epsilon$の確率でランダムな動きが、そして残りの確率で最適な動きが行われます。
報酬は、ゲームの間は$0$で、ゲームに勝った場合は$1$、引き分けた際は$0.5$が与えられる。ObservationとしてはJoint angle、velocity、torque、end-effectorの座標、そしてボードに関する座標が与えられます。その他に下図のような画像の入力も利用可能です。学習されたエージェントを利用すると、約100ステップでゲームを終えることが出来ます。
MuJoGo
最後に囲碁をMuJoCoにて実装したMuJoGoを紹介します。この環境では7×7のグリッドが用意され、各グリッドの交差部分にパッドがあり、ロボットのend-effectorが交差部分にタッチすることで碁が置かれます。また、下図の右が示している、碁盤の左右のスペースにタッチをすることで、パスをすることが出来ます。この問題を解くための制限時間が与えられており、制限時間を超えた場合は負けになります。効率的なエージェントを用いた場合、約50回の動きでゲームを終えることが出来ます。相手の碁の動きはGNU Programという囲碁のプログラムを用いて決められます。相手の強さは、MuJoXOと同様に、$\epsilon$-greedyを利用して決められます。
実験
本論文では、今後この環境を研究で使っていくためのbaselineとして実験を行っています。State-of-the-artのRLの手法を利用して学習しても基本的に学習に成功しませんが、actor-criticにexpert plannerに関する情報を与えることでどのタスクにおいてもある程度良い結果が出ることが分かっています。これにより、報酬関数をより細かく定義することによって、high-levelな戦略に関する情報がRLのエージェントに伝わり、planを学習することを示しています。では、通常のRLの手法がこのような環境においてどのような欠点を持っているかを確かめるために、どの程度のタスクに関する抽象的な情報、例えばstate, dynamics, もしくは解法などを与えなければならないかを調査しました。具体的には以下の3つの条件において実験をしています。
1. State、Dynamics、Solutionに関する情報を与える (Expert Planner condition)
2. State、Dynamicsの情報を与えるが、Solutionに関しては情報を与えない (Random Planner conditoin)
3. 最低限、もしくは全く抽象的な情報を与えない (Vanilla agent condition)
Agentの構造
Agentの構造は以下のようになっており、actor-critic networkが利用されます。学習はdistributed IMPALA actor-criticアルゴリズムを使って学習されます。この下の構造は、他のcontinuous controlで用いられる手法の構造と異なる部分が2つあります。一つは、expert plannerというground truthの抽象的なstatesをターゲットの抽象的なstatesとそこに到達するためのゲームのactionにマッピングするものを含んでいるということです。これらのstateは画像などからの情報からでは推定することが難しく、またこの抽象的な情報があれば問題を解くことが十分に可能なことから、この情報を組み込むことにより、これらの情報が問題を特にあたってどのような役割を担っているかを調査することを考慮しています。
もう一つの異なる部分としては、abstract statesにおけるexpertの指示に従うというauxiliary taskを追加しています。これは、エージェントがexpertによって与えられたstate-space transition (遷移)に訪れることが出来た時に、報酬を受け取ることが出来るというものです。このauxiliary taskはタスク本来のエピソードの長さより短いものとされ、制限時間が決まっています。そしてこのauxiliary taskは、エージェントがこのauxiliary taskを解いた時、もしくは時間制限を過ぎてしまった時にリセットされます。このタスクを与えることにより、abstract state spaceに関する情報をエージェントに与えることが出来、その上で、low-levelなロボットの動きがどのようにstate-spaceに影響を与えるかを伝えることが出来ます。
Actor-criticを使ったこの手法において、valueを予測しなければなりません。本手法では、2つの異なるneural networkを用いてmain taskに関するvalueとauxiliary taskに関するvalueをそれぞれ別で学習させました。最終的なエージェントの更新に必要なpolicy gradientの式は以下のように与えられます。
$$\nabla \mathcal{L}^{e n v}=\mathbb{E}_{x_{s}, a_{s}}\left[\rho_{s} \nabla_{\omega} \log \pi_{\omega}\left(a_{s} \mid x_{s}\right)\left(r_{t}^{e n v}+\gamma^{e n v} v_{s+1}^{e n v}-V_{\theta}^{e n v}\left(x_{s}\right)\right)\right]$$
$$\nabla \mathcal{L}^{a b s}=\mathbb{E}_{x_{s}, a_{s}}\left[\rho_{s} \nabla_{\omega} \log \pi_{\omega}\left(a_{s} \mid x_{s}\right)\left(r_{t}^{a b s}+\gamma^{a b s} v_{s+1}^{a b s}-V_{\theta}^{a b s}\left(x_{s}\right)\right)\right]$$
一番目の式は、main taskに関するもので、二番目はauxiliary taskに関するものです。$\gamma$はdiscount factor、$x_{t}$はstate、$v_{s+1}$はvalue target、$r_{t}$は報酬、$a_{s}$はmotor action、$\pi_{\omega}$はpolicy、そして$\rho_{s}$はimportance sampling weightを表しています。
Expert plannerを利用した場合の手法では、現在のabstract stateとexpert plannerによって予測されたtarget abstract stateがvalueとpolicyの入力として利用されます。その他入力としては、画像情報、そしてvelocity、touch、position、accelerationなどのタスクに応じてエージェントの与えられます。
結果
以下のグラフは、MuJoBanに関する実験結果を表しており、通常のRLの手法では、学習が難しいことを表していますが、逆にplannerを使った場合だと精度が高くなっています。"With grid pegs"というのは、物体を斜めに押すことが出来ないため、より本来のSokobanに近い状態になっており、タスクとしてもより難しいものになっています。下のグラフから分かるように、"With grid pegs"の場合は、expert plannerありのときが成功率がrandom plannerよりも高く、逆に"Without grid pegs"の場合だとrandom plannerのほうが成功率が高くなっていることが分かります。これは、"Without grid pegs"の場合、斜めに動かすことが出来る等の柔軟性から、expert plannerと実際の問題があまりマッチしていないことが問題かと考えられ、それによりexpert plannerの情報があまり有用ではなくなっている可能性があります。逆に"with grid pegs"の場合、より解きたい問題と近く、予測されたsubgoalが基本的に最適なpathの上にあることを仮定出来ることから、expert plannerの情報がより有用で、それにより成功率がrandom plannerの結果と比べても高くなっていると考えられています。
最後に、MuJoXOとMuJoGoに関する結果を紹介します。MuJoXOは他のタスクと比べて分岐が少ないために、planningも比較的簡単ではありますが、それにも関わらず、expert planenrを使った場合でも学習に必要なデータはとても多くなっています。Random plannerを使ったものは、はじめはaverage returnが上がっていますが、すぐに、学習しなくなってしまっています。それに対して、expert plannerを使った場合は本来のゲームと物理シミュレーション上のゲームでミスマッチが無いために、最適な戦略をexpert plannerは選ぶことが出来ますが、それにも関わらず、エージェントが高い信頼性のもとで勝利するための方法を見つけるのには十分ではないことがacerage returnの値が比較的低いことから分かります。
MuJoGoに関しては、ゲーム自体が長いことやより複雑なことから、学習がより難しいものとなっています。通常のRLは、探索がとても難しいことから、学習が全く進んでいません。Expert plannerを利用したエージェントでは、最終的に相手に勝利することがでいるようになりましたが、学習がとても非効率になっています。実験では、勝率が60%に達すまで、約4Mのゲームを行わなければならないのが現状です。このように、基本的に通常のRLでは、解くことが困難ですが、expert plannerを利用することで、学習は効率的ではないとはいえど、問題を解くことができることが現状分かりました。
まとめ
本記事では、強化学習における新たなチャレンジについて紹介しました。本記事で紹介したゲームは抽象的な理由付けとそれに伴うモーター制御が重要で、強化学習を使ってこの方向性について研究するためにはとても有用な環境が提案されていると思います。人間は様々な方法で、例えば、expertのデモンストレーションや、他のゲームからヒントを得ています。このようなことを考慮しつつ、この新しい環境で、どのような新しいRLのアルゴリズムを使えばより効率的に解くことができるのか、今後の動きに期待していきたいです。
この記事に関するカテゴリー