続きです。
MuZeroアルゴリズム
- MuZeroアルゴリズムについて詳しく説明する。
- 予測は、各タイムステップtで、
ステップのそれぞれについて、過去の観測
および将来の行動
を条件とするパラメーター
を使用したモデル
によって行われる。
- モデルは、3つの将来の量を予測する:
方策
価値関数
即時報酬
- ここで、
は真の観測報酬、
は実際の行動の選択に使用される方策、
は環境の割引関数である。
モデルの目的
- 内部的には、各タイムステップtで、モデルは表現関数、ダイナミクス関数、および予測関数の組み合わせによって表される。
- ダイナミクス関数
は、各仮想ステップkで即時報酬
および内部状態
を計算する再帰プロセスである。
- これは、特定の状態と行動に対して予想される報酬と状態遷移を計算するMDPモデルの構造を反映している*1。
- ただし、モデルベースRLへの従来のアプローチとは異なり、この内部状態
には環境状態のセマンティクスが関連付けられていない。
- これは単にモデル全体の隠れ状態であり、その唯一の目的は関連する将来の量(方策、価値、および報酬)を正確に予測することである。
- この論文では、ダイナミクス関数は決定論的に表される。確率的遷移への拡張は将来の作業のために残されている。
- 方策と価値の関数は、AlphaZeroの方策と価値の結合ネットワークと同様に、予測関数
によって内部状態
から計算される。
- 「ルート」状態
は、過去の観測値
をエンコードする表現関数を使用して初期化される。
- 繰り返すが、これには将来の予測の支援を超える特別なセマンティクスはない。
モデルを使用したプランニング
- このようなモデルが与えられると、過去の観測
が与えられた場合に、仮想の将来の軌跡
を探索できる。
- たとえば、単純な探索では、価値関数を最大化するkステップ行動シーケンスを単純に選択できる。
- より一般的には、ダイナミクス関数によって引き起こされる内部報酬と状態空間に、MDPプランニングアルゴリズムを適用できる。
- 具体的には、私たちはAlphaZeroの探索に似たMCTSアルゴリズムを使用する。これは、単一エージェントドメインと中間報酬を許可するように一般化されている(Methodsを参照)。
- 各内部ノードで、現在のモデルパラメーター
によって生成された方策、価値、および報酬の推定値を利用する。
- MCTSアルゴリズムは、推奨方策
および推定価値
を出力する。
- それから、行動
が選択される。
モデルの訓練
- モデルのすべてのパラメータは、各仮想ステップkの方策、価値、および報酬を、kの実際のタイムステップが経過した後に観測された対応するターゲット値に正確に一致するように一緒に訓練される。
- AlphaZeroと同様に、改善された方策ターゲットはMCTS探索によって生成される。
- 最初の目標は、予測方策
と探索方策
の間の誤差を最小化することである。
- また、AlphaZeroと同様に、ゲームまたはMDPをプレイすることにより、改善された価値目標が生成される。
- ただし、AlphaZeroとは異なり、探索価値
から未来へのnステップをブートストラップすることにより、割引と中間報酬を伴う長いエピソードを許可する。
- ボードゲームの最終結果{負け,引き分け,勝ち}は、エピソードの最終ステップで発生する
の報酬として扱われる。
- 具体的には、2番目の目標は、予測価値
と目標価値
の間の誤差を最小化することである。
- 報酬目標は、単に観測された報酬である。
- したがって、3番目の目標は、予測された報酬
と観測された報酬
の間の誤差を最小化することである。
- 最後に、L2正則化項も追加され、全体的な損失になる。
- ここで、
、
、および
は、それぞれ報酬、価値、および方策の損失関数である。
- 補足図S2は、MuZeroアルゴリズムがどのように計画、行動、学習するかを制御する式をまとめたものである。
補足図S2
図1:学習モデルを使用したプランニング、行動、および訓練
(A)MuZeroがモデルを使用してプランニングする方法
(B)MuZeroが環境でどのように動作するか
- Aで説明したように、モンテカルロ木探索は各タイムステップtで実行される。
- 行動
は、ルートノードからの各アクションの訪問回数に比例する探索方策
からサンプリングされる。
- 環境は行動を受け取り、新しい観測値
と報酬
を生成する。
- エピソードの終わりに、軌跡データはリプレイバッファに保存される。
(C)MuZeroがモデルを訓練する方法
- 軌跡は、リプレイバッファからサンプリングされる。
- 最初のステップでは、表現関数
は、選択された軌跡から過去の観測
を入力として受け取る。
- その後、Kステップのモデルが再帰的に展開される。
- 各ステップkで、ダイナミクス関数
は入力として前のステップからの隠れ状態
と実際の行動[tex:a_{t+k}を受け取る。
- 表現、ダイナミクス、および予測関数のパラメーターは、3つの量を予測するために、backpropagation-through-timeによりエンドツーエンドで一緒に訓練される。
- 3つの量:方策
、価値関数
、および報酬
- ここで、
はサンプルの収益(最終報酬(ボードゲーム)またはnステップ収益(Atari))である。
感想
MuZeroのアルゴリズムは図1を見るとわかりやすいです。
図1(A)を見ると、表現関数、ダイナミクス関数
、予測関数
を使用してMCTSでシミュレーションを行っています。
UCBの式は付録で解説があるので、別途読んでいきます。
AlphaZeroでは手を指した後の局面は、実際にゲームの盤面に手を適用して進めていますが、MuZeroでは、ダイナミクス関数を使用して次の局面の隠れ状態を取得する点が異なっています。
図1(B)の行動の選択は、AlphaZeroと同じく訪問回数に応じて選択されています。
図1(C)の学習は、リプレイバッファから取得した軌跡について、開始状態から予測関数とダイナミクス関数
に従いKステップ分展開した系列と、実際にMCTSに従い選択した軌跡が一致するように学習されています。再帰的な関数になるため、リカレントニューラルネットワークで使用されるbackpropagation-through-time(BPTT)を使用してエンドツーエンドで学習されています。実装する場合は、この部分が難しそうです。
(続く)