砂のトラックを走行する実自動車での強化学習の論文を読む
下図の様な砂のトラックを走行する自動運転ではアクセルやハンドルの伝達誤差また砂利面との滑りや摩擦があり、予想し得ない事象が頻発すると想定する必要がある。下記の論文は実際の自動車での強化学習をMPPI(Model Predictiv Path Integral)と云う手法で実験した論文を読んでみる。
https://www.cc.gatech.edu/~bboots3/files/InformationTheoreticMPC.pdf
DQNやActor-Criticの様なModel-freeモデルでは、環境から持続的な特徴量の変化を抽出して最大報酬を得る様に行動決定のパラメータを調整するが、様々な原因で変異や誤差がある環境では学習に相当時間(2,3日)かかる事が報告されている。一方で実際の課題に沿ったモデル化から最適化を図るModel-Baseモデルは学習効果が著しいとされる[1]。
(1) モデル
この論文は対象を限定せず制御誤差があり罰則(コスト)が設定されている動作物体の最適操作について汎用的に記述しているが、具体的にトラックを周回する自動運転での説明とする。
動力エンジンの機構や地面との摩擦等により操作が自動車の制御機能に伝達するには誤差があるとして、その誤差を多変量正規分布とする。コストはゴール前の離脱やトラック(走行路)を逸脱すると与えられるとする。この論文では、この様な条件でコストを最小化する経路上の操作量を求める。
(1-1) 状態遷移モデルの定義
状態の遷移過程は次の関数とし、具体的には観測された状態と操作の記録により全結合のニューロで学習する。
(1)
ここで
は時刻での状態
は運転操作の量(アクセル、ブレーキ、ハンドル回転量)
は実際に自動車に伝わる制御分布。平均はで分散をとする正規分布
は状態遷移関数で全結合のニューロで学習される。
(1-2) 操作と制御の分布およびコスト関数の定義
以下ではコスト関数の自由エネルギーの最小化を考え、経路上の時刻での操作量を次の(8)式から(26)式で求める。
ここで制御の経路を使って以下の定義をする。
・制御の分布
(2)
・運転誤差の分布
(3)
・コスト関数
(6)
ここではゴールに失敗のコストでは状態でのコスト
(1-3)コスト関数の自由エネルギーの導入
ここで制御の分布について期待値を取ったコスト関数の自由エネルギーを定義して、この最小化によりコストが最小になる操作を推定する。この手法については文献[2]が詳しい。
(8)
上式の自由エネルギーを運転誤差の分布についての期待値に変換する。
(9)
ここで を使った。
(9)式はJensenの不等式を使うとが期待値の中に入り次式になる
(10)
式(10)で操作誤差分布が次の時、両辺とも定数になり不等式が一致するので自由エネルギーが最小になる。
(14)
ここでは分配関数でを確率0~1にしている。
上式を(9)と(10)式に投入するとJensenの不等式が一致することが分る。
そこで全経路について(14)式にできるだけ一致する操作をで求める。
経路の集合ではの定義より次の様になる。
上式の第一項では(14)式、は(2)式より操作と無関係なので
上式の第二項を最大化すれば最適なが求まる。
(16)
(16)式の中のは定義(2)と(3)式より以下となる。
(17)
(16)式は以下に変形できる。
(18)
(18)式をと置きについて微分すると
(19)
上式を0とすると操作の最適下は以下となる
(20)
(1-4) 実装のためのImportanceサンプリング手法の導入
ここからは(20)式を実用的に使うため次式に変形してImportanceサンプリング導入する。
(21)
ここで とすると
(22)
Importanceサンプリングは(17)式と(14)式を使うと
(23)
ここで観測で得られた時間毎の誤差を使うと なので(23) 式は
(24)
ここでである
誤差が分っている場合、(22)の経路の集合での積分を観測可能な経路の集合に置き換えてサンプリングして、その総和で置き換えると操作の最適制御は次式で更新できる。
但し (26)
(1-5) 状態遷移関数の学習
コストを最小化(または報酬を最大化)する操作は(26)式で求められたが、この操作によって状態がどの様に推移するかは次のニューロで学習する。
ここで
状態はシステムの状態とその変化とする
は全結合のニューロで、状態のモニタリングと操作の記録により学習する。
(2) 実験
実験は下図の様な砂のトラックの実験場で以下の条件の自動運転で行う。
まず人間が30分程度毎に様々なスピードで多様な運転を行ってパラメータを取得している。安定的な自動走行が可能になった後、砂上トラックでの自動運転の実験を行っている。
(2-1)実験条件
・誤差
ハンドル: 0.20 スロットル:0.25
・(6)式のコスト関数
ここで
は走行時のspeed
は設定speed
学習時 9m/s
試験時 10m/sから13m/sに速度を上げて行う
はトラック内を格子状にして設定したコスト
トラックを外れるとコストが大きい
は横滑り許容角度を超える場合のコスト
学習時の許容角度は15.76度 試験時の許容角度 21.5度
はクラッシュした場合は1 ゴールした場合は0
(2-2) 実験結果
訓練は5回行い(45回の周回)、試験はスピードを10m/s から 13m/sに徐々に上げる。下図は上段が訓練時、下段が試験時である。コーナではトラックから逸脱しない様に減速し、直線では増速していることが分る。
(3) 感想
この論文では制御機能と運転操作の伝達に多変量正規分布の誤差がある場合で、定められたコストを最小にする強化学習を提案している。
学習はImportantサンプリングによる最適操作量と状態遷移とで2重に行われている。そのため安定するまで相当な走行が必要と思うが詳細な記述が無い。特に(26)式では観測できる経路の全てについて(24)式のImportantサンプルを求める事が必要である。
またこのモデルは残念な事に(26)式にある様に全経路と各時点での操作と制御間のエラーの量が予め求められている必要がある。実験ではハンドルとスロットルの誤差のみ設定しているが、本当は各トラック上での操作誤差は事前のトラックの周回中の観測で得ている思われる。本論文のMPPIはパラメータの設定が難しいので、複雑な経路や凹凸がある場所での実機の試験については文献[1]の実績にある様に、短区間のみMPPIを使い、全区間ではメタ学習による更新ロジックと組み合わせるモデルが現実的と思われる。
[1]メタ学習による実世界での変異や誤差に対応した学習の論文を読む - mabonki0725の日記
[2]https://homes.cs.washington.edu/~todorov/papers/TheodorouCDC12.pdf