状態価値関数とは?強化学習での意味・計算方法・行動価値関数との違い

状態価値関数とは?強化学習での意味・計算方法・行動価値関数との違い

AIの初心者

「状態価値関数」とは何ですか?数式を見る前に、イメージから知りたいです。

AI専門家

簡単に言えば、今いる状態から先に、どれくらい良い結果を期待できるかを数値で表す関数です。迷路なら、ゴールへ安全に早く到達しやすい地点ほど高い価値を持つように学習できます。

AIの初心者

今の状態だけでなく、そこから先に得られる報酬まで考えるのですね。

AI専門家

その通りです。ただし、価値は報酬の決め方や行動方針によって変わります。定義と計算方法を順に確認しましょう。

強化学習では、エージェントが環境の中で行動し、得られた報酬を手がかりに行動方針を改善します。その中心にある考え方の一つが状態価値関数です。本記事では、定義、数式、ベルマン方程式による計算、行動価値関数との違いを初心者向けに解説します。

状態から将来の報酬を見通す状態価値関数の概念図

状態価値関数とは

状態価値関数は、ある状態から方策に従って行動を続けたとき、将来得られる収益の期待値を返す関数です。強化学習における「状態」は、迷路なら現在位置、将棋なら盤面、ロボット制御なら位置・速度・センサー値などを指します。

ここで重要なのが「方策」です。方策とは、各状態でどの行動をどの確率で選ぶかを定めたルールです。同じ迷路の同じ地点でも、ゴールへ向かう方策とランダムに動く方策では、将来得られる報酬が異なるため、状態価値も変わります。

また、状態価値が高いことは、必ずしも物理的にゴールへ近いことを意味しません。近道に大きな危険や罰があれば、安全な遠回り側の状態が高く評価されることもあります。価値の大小は、報酬設計・遷移確率・方策によって決まります。

状態価値関数を数式で定義する

\(V^{\pi}(s)=\mathbb{E}_{\pi}\left[G_t\mid S_t=s\right]=\mathbb{E}_{\pi}\left[\sum_{k=0}^{\infty}\gamma^k R_{t+k+1}\mid S_t=s\right]\)

\(V^{\pi}(s)\) は、方策 \(\pi\) のもとで状態 \(s\) にいるときの価値です。\(G_t\) は時刻 \(t\) 以降の割引収益、\(R_{t+k+1}\) は将来受け取る報酬、\(\gamma\) は0以上1以下の割引率を表します。\(\mathbb{E}\) は、行動や状態遷移の不確実性を含めた平均、つまり期待値です。

割引率 \(\gamma\) が0に近いと直近の報酬を重視し、1に近いほど遠い将来の報酬も重く見ます。継続タスクでは収益を有限に保つため \(\gamma<1\) とすることが多く、終了があるエピソード型タスクでは \(\gamma=1\) を使える場合もあります。

時間とともに割り引かれる将来報酬のイメージ

迷路の例で仕組みを理解する

迷路で「ゴール到達はプラス10、1歩ごとにマイナス1、落とし穴はマイナス10」と設定したとします。ゴールへ短く安全に進める地点では、高い収益を期待できます。一方、ゴールに近くても落とし穴へ進みやすい地点や、遠回りが必要な地点の価値は低くなります。

エージェントは、隣の状態の価値や各行動の結果を参考に行動を改善できます。ただし、状態価値関数そのものは「右へ進め」と直接指示するものではありません。環境の遷移が分かる場合は、各行動の直後の報酬と次状態の価値を比較して行動を選べます。遷移が不明なら、経験から行動価値を学ぶ方法が便利です。

迷路の各地点に状態価値の高低を表した俯瞰図

ベルマン方程式と状態価値の計算方法

\(V^{\pi}(s)=\sum_a\pi(a\mid s)\sum_{s’,r}p(s’,r\mid s,a)\left[r+\gamma V^{\pi}(s’)\right]\)

ベルマン期待方程式は、現在の状態価値を「次に得る報酬」と「次状態の割引された価値」に分解します。\(\pi(a\mid s)\) は状態 \(s\) で行動 \(a\) を選ぶ確率、\(p(s’,r\mid s,a)\) は次状態 \(s’\) と報酬 \(r\) が生じる確率です。

環境の遷移確率が分かる小規模な問題では、全状態に初期値を置き、この式で更新を繰り返す反復方策評価が使えます。値の変化が十分小さくなれば、現在の方策に対応する状態価値へ近づいたと判断します。

遷移確率が分からない場合は、実際の経験から更新します。モンテカルロ法はエピソード終了後の実収益を使い、TD学習は次状態の推定価値を利用して逐次更新します。状態が非常に多い、または連続値なら、表を作る代わりにニューラルネットワークなどで価値関数を近似します。

報酬から各状態へ価値が反復的に伝わる様子

状態価値関数と行動価値関数の違い

比較項目 状態価値関数 行動価値関数
表記 \(V^{\pi}(s)\) \(Q^{\pi}(s,a)\)
評価対象 状態 \(s\) 状態 \(s\) と行動 \(a\) の組み合わせ
答える問い この状態から先はどれほど有望か この状態でこの行動を選ぶとどれほど有望か
行動選択 遷移モデルなどと組み合わせて比較 各行動のQ値を直接比較しやすい
\(V^{\pi}(s)=\sum_a\pi(a\mid s)Q^{\pi}(s,a)\)

状態価値は、方策が選ぶ確率で重み付けした行動価値の平均です。単純な算術平均ではなく、よく選ぶ行動ほど強く反映されます。また、Q学習やSARSAが直接更新する中心的な対象は、名前の通り行動価値関数です。状態価値関数を学ぶ代表例にはTD(0)などがあります。

状態価値関数Vと行動価値関数Qの評価対象の違い

状態価値関数の主な活用例

ゲームAIでは盤面が勝利につながる度合いを評価し、先読みや方策改善に利用します。すべての手順を最後まで探索できない複雑なゲームでも、途中の盤面を価値で評価できれば探索を効率化できます。

ロボット制御では、位置、速度、姿勢などから将来の安定性や目標達成度を見積もります。転倒や衝突に罰を与えることで、安全性を含む価値を学習できます。

資源管理では、在庫、電力、貯水量などの現在状態から将来の利益や不足リスクを評価します。目先の利益だけでなく、将来の需要に備える判断を表現できる点が強みです。

初心者が注意したいポイント

第一に、状態価値は現在すぐ受け取る報酬ではなく、将来分を含む期待収益です。第二に、高い価値は「成功確率」そのものとは限りません。低確率でも非常に大きな報酬がある場合、期待値は高くなることがあります。

第三に、学習された価値は常に正解とは限りません。経験が少ない状態、環境が変化した場面、関数近似の誤差が大きい場面では推定が外れます。学習時には、既知の高価値行動を選ぶ活用だけでなく、未知の行動を試す探索も必要です。

最後に、報酬設計が不適切だと、エージェントは人間の意図と異なる方法で高い収益を得ようとします。何を望ましい状態とするかを報酬へ正しく反映し、評価指標や安全上の制約も併せて確認することが大切です。

まとめ

状態価値関数は、ある状態から方策に従ったときの将来の割引収益を期待値で表します。強化学習では、状態の有望さを評価し、方策評価や方策改善、ゲームの盤面評価、ロボット制御などに利用されます。

理解の要点は、価値が方策と報酬設計に依存すること、ベルマン方程式で現在と次状態の価値を結べること、行動価値関数は状態と行動の組み合わせを評価することです。この3点を押さえると、動的計画法、TD学習、Actor-Criticなど次の学習へ進みやすくなります。

更新履歴

日付 内容
2025年2月1日 初回公開
2026年7月22日 方策依存の定義とベルマン方程式、V・Qの正確な関係を追記