「部屋をきれいにする」「指定された料理を作る」といったタスクをロボットが解けるように学習するには、どのような技術が必要だろうか? 候補技術の1つとして、環境とのインタラクションを通じて目的のタスクを達成するような行動選択を獲得する、強化学習という技術が盛んに研究されている。

 強化学習では「どのような状態に達したらタスクの成功と言えるか」を表現するために、報酬関数を定義する必要がある。しかし、この定義は大変で、獲得したい行動ごとに報酬関数を定め、膨大な数のインタラクションをし、環境の探索を行いタスク成功につながる行動方策を学習させる必要がある。そこで、タスクごとに報酬関数を人間が設計しなければならないという課題からの脱却と、新たなタスクの効率的な達成のための工夫としてLEXA(Latent Explorer Achiever)という技術を紹介する。

タスクが達成された状態をエージェント自身で扱いやすくする

 環境とのインタラクションを通じてタスクの達成につながる行動を獲得する強化学習では報酬関数の定義が必要である。

 ある物体を位置(x)から指定の位置(y)へ動かすというタスクを例にとって考える。報酬関数は、物体の現在位置と指定位置との間の距離の2乗のマイナス値として定義すると、マイナスの値を小さくするために物体を動かすという行動が強化学習の結果として期待される。報酬関数はタスクごとに適切に設定する必要があり、また報酬関数を定義するために追加の情報が必要となることがある(前述の例では物体の位置xや目的の位置yを知るために何かしらのセンサーが必要)。

 タスクごとに新しく報酬関数を定義するのは大変なため、人間が都度設計する報酬関数ではなくエージェント自身が扱いやすい形として報酬関数を定めることを考える。その1つの方法として、目標が達成された状態を潜在空間上のある地点とし、現在の状態との差分で報酬関数を定義する。潜在空間とは画像のような高次元な入力空間をより低次元な空間で表した空間である。潜在空間の表現の方法はいくつかあるが、LEXAでは深層生成モデルの一種であるVAEのエンコーダーを用いて表現する。

世界モデルを活用して効率的に環境を探索するExplorer

 LEXAでは同じ環境での新たなタスクへの効率的な適応を目指しており、適応をしっかりと行うためにうまく環境を探索する必要がある。LEXAではエージェントを取り巻く環境をモデル化(「世界モデル」と呼ばれる)。この世界モデルを活用してエージェントにとって驚きの大きいような場面を探索するExplorerを学習する。

 Explorerの学習には過去の経験から想像することを可能にする世界モデルの利点を生かし、予測がしづらく、ばらつきが生じるような場面を訪れるように工夫がされている。“街の探索”を例にした場合、JR山手線沿線で何度も下車したことのある駅の街並みは想像が容易だが、下車したことのない駅の街並みは想像が困難であり、そのような駅を訪れるように行動をする、といったことを目指している。

この記事は会員限定(無料)です。

2
この記事をいいね!する