今回は強化学習の基礎ともいえる状態価値関数と行動価値関数を取り上げてみたいと思います。
方策
方策
まずはそれぞれの定義を書いてみましたが、これだけでは抽象的でなかなか理解できませんね。
ここからはこれらを理解する前提となる知識を含めて順を追って説明をしていきたいと思います。
累積報酬とは?
まずは状態価値関数と行動価値関数の定義に登場した累積報酬という言葉の中身から明らかにしていこうと思います。
機械学習の大分類で説明したように、強化学習というのは以下に示すような設定で行なわれ、エージェントが行動した際に得られる報酬を大きくすることが目的でした。
用語 | 一般的な定義 | 自動運転の場合 |
---|---|---|
エージェント | タスクの主要プレイヤー | 自分の車 |
環境 | タスクの土台となる条件 | 道路、天候、他車両、歩行者など |
行動 | エージェントの動作 | ハンドルやブレーキの操作など |
状態 | 環境がどのようであるかの情報 | 路面状態、車両の数・位置など |
報酬 | 行動の結果によってもたらされる価値 | 無事故、目的地到達など |

累積報酬というのは文字通り報酬を足しわせたものという意味なので、あるステップから最終ステップまでに得られるであろう報酬の合計値です。
tステップ目の状態、行動、報酬をそれぞれ
基本的には言葉通りに報酬の足し合わせを意味する数式になっているかと思います。ただし、皆さんもすでにお気づきのように各ステップの報酬に
ここまでが累積報酬の説明です。強化学習ではとにかくこの累積報酬を大きくするように行動していくことが目的になります。
どうやって累積報酬を最大にするのか?
ここまでで累積報酬を最大にすればよいということは分かりましたが、累積報酬が最大になるような行動を取らせるためには何をすればよいでしょうか?
累積報酬は、数式をご覧いただくと、任意のt番目のステップに対して定義可能であることが分かると思います。つまり、あらゆるステップにおいて累積報酬を計算しておけば、それがtステップ目の状態
このようにして各状態
ここまで累積報酬がそのまま状態価値関数であるかのように記述しましたが、厳密に言うと、状態価値関数は累積報酬の期待値です。累積報酬は各ステップの報酬の単純な和ですが、各ステップの報酬と言うのは一意的に決まるものではありません。なぜなら、各ステップにおいて選択できる行動は基本的に複数あり、どの行動を選ぶかによって得られる報酬は異なるからです。言い換えれば、ある状態
さて、期待値を計算するには各行動を取った際に得られる報酬に加えて、各行動を取る確率も必要です。この確率を決めるのが方策です。方策は行動の指針や戦略のようなもので、例えば「○○な状況ではハンドルを右に切る」「△△な状況ではブレーキを踏む」といったものと考えればよいでしょう。方策が決まれば、各状態においてどんな行動をどのくらいの確率で選択するかが分かるので、報酬の期待値を計算することができます。
状態価値関数の定義式に
状態 | 方策1での確率 | 方策2での確率 | 報酬 |
---|---|---|---|
ハンドルを右に切る | 0.5 | 0.2 | 10 |
ハンドルを左に切る | 0.4 | 0.3 | 5 |
ブレーキをかける | 0.1 | 0.5 | 15 |
方策1での報酬期待値:
方策2での報酬期待値:
繰り返しになりますが、ここまでで状態の価値を定義することができたので、累積報酬を大きくするには、価値が高い状態を見つけ出して辿っていけばよいということになります。すなわち、最適な状態価値関数を求めることが累積報酬を最大にすることにつながると言えます。
(状態関数の最適化については、また別の機会に記事にしてみようと思います)
行動価値関数とは?
最後に行動価値関数を導入します。
ただ、状態価値関数が理解できたのであれば、行動価値関数はそれほど難しいものではありません。
状態価値関数
数式の見た目で言っても、変数に行動
ここまでで見てお分かりいただけるように、状態価値関数と行動価値関数は「ある状態において全ての行動を考慮するのか、またはある1つの行動だけに着目するのか」といった違いだけで本質的に大きく変わるものではありません。これらの価値関数は、その最適化の手法に応じて使いやすいものを使っていくという使い分けになります。
最後に
今回は強化学習の基礎になる状態価値関数と行動価値関数を解説してみました。
少し抽象的なところもあって初学者の方には難しく感じるかもしれませんが、おそらく何度か読んでいただければ理解も進むと思いますので、1回で理解できなくても全然気にしないでくださいね。
本格的にAIを学ぶならキカガク長期コース
本記事では、基礎的な内容について解説を行ないましたが、より本格的にAIを学んでみたいという方にはキカガク長期コースの受講をお薦めします。
- 基礎理論からAI搭載のWEBアプリ開発まで幅広く学習可能
- 将来追加されるものも含めて、プロによる全ての講義動画がずっと見放題
- 質問し放題のチャットや定期的な個別メンタリングなどのサポート体制
- IT専門のキャリアアドバイザーによる転職サポート
- 中央省庁からの給付金対象であるため受講料が最大70%
- ディープラーニングE資格の受験資格を獲得可能
興味はあるけど、いきなり受講を申し込むには抵抗があるという方は、キカガク長期コースの無料オンライン説明会も是非活用してみてください!!