はじめに
『ゼロから作るDeep Learning 4 ――強化学習編』の独学時のまとめノートです。初学者の補助となるようにゼロつくシリーズの4巻の内容に解説を加えていきます。本と一緒に読んでください。
この記事は、3.5.2節の内容です。最適方策の定義を確認します。
【前節の内容】
【他の記事一覧】
【この記事の内容】
3.5.2 最適方策
最適な方策を考えます。
・最適方策の定義
まずは、最適方策の定義式を確認します。
最適な方策では、価値が最大となる(1つの)行動を選ぶので、確率論的方策(確率分布)$\pi_{*}(a | s)$ではなく、決定論的方策(関数)$a = \mu_{*}(s)$になります(2.2.3項)。また、ベルマン最適方程式では、価値が最大となる「値を得る」ためにmax演算子を使いました(3.4節)。最適方策では、価値が最大となる「行動(引数)を得る」ためにargmax演算子を使います。
よって、$\mu_{*}(s)$は、最適行動価値関数(行動価値が最大となる行動価値関数)$q_{*}(s, a)$を用いて、次の式になります。
ちなみに、$\mathrm{argmax}_x x$は、np.argmax(x)
と同じ役割です(恐くないよ)。
3.3.2項で求めた行動価値関数(3.13)より、最適行動価値関数
で置き換えます。
「次の状態$s'$の最適状態価値関数$q_{*}(s')$」により「最適方策$\mu_{*}(s)$」が得られることが分かります。
・最適方策の計算
最適方策(3.21)に具体的な値を代入して、最適方策を求めます。3.5.1項と同様に、2マスのグリッドワールド(図3-7)を考えます。問題設定については「3.2.1:状態価値関数のベルマン方程式の例【ゼロつく4のノート】 - からっぽのしょこ」を参照してください。
この例では、決定論的に状態が遷移するので、最適方策は、次の式になります。
また、「3.5.1:ベルマン最適方程式の適用【ゼロつく4のノート】 - からっぽのしょこ」で求めたこの例の最適状態価値は
です。
割引率を$\gamma = 0.9$として、初期状態$s$がL1の場合を考えます。行動$a$がLeftのとき次の状態$s'$がL1、行動$a$がRightのとき次の状態$s'$がL2になるので、次のようになります。
同様に、$s = L2$の場合を考えます。$a = \mathrm{Left}$のとき$s' = L1$、$a = \mathrm{Right}$のとき$s' = L2$なので、次のようになります。
最適方策が得られました。
この章では、MDPで行う計算について確認しました。次章では、最適方策を得るためのアルゴリズムを確認します。
参考文献
- 斎藤康毅『ゼロから作るDeep Learning 4 ――強化学習編』オライリー・ジャパン,2022年.
- サポートページ:GitHub - oreilly-japan/deep-learning-from-scratch-4
おわりに
これで3章終了です!お疲れ様でしたー。2章から数式たっぷりで大変でしたね。4章はどうなんでしょうか、これから読みます。
投稿日前日に公開された新MVをどうぞ!
早く世間に見つかってほしいなぁ。
【次節の内容】