状態価値関数 (G検定)

状態価値関数

1. 定義と概要

状態価値関数とは、状態sにエージェント(環境の中で行動を選び学習する主体)がいるとき、方策πに従って行動を選び続けた場合に将来得られる割引累積報酬の期待値を表す関数です。この関数はV^π(s)と表記されます。

将来得られる報酬の合計は収益(将来にわたって得られる報酬を、時間が経つほど小さく見積もりながら足し合わせた値)と呼ばれます。どれだけ割り引くかは割引率(将来の報酬をどれだけ割り引いて今の価値に換算するかを決める0から1の数値)という数値で決まります。

期待値という言葉のとおり、行動の選び方には確率的なばらつきがあるため、状態価値関数は平均してどれだけの収益が見込めるかを表します。数式ではV^π(s)=E^π[G_t | S_t=s]と表され、Eは期待値、G_tは時刻tから将来にわたる割引報酬和を示します。

具体的には、迷路探索ではゴールに近いマスほど状態の価値が高くなり、将棋や囲碁の対局では勝利に近い局面ほど状態の価値が高くなります。

強化学習(試行錯誤を通じて報酬を最大化する行動のルールを学ぶ、機械学習の一分野)の目的は、累積報酬を最大化する行動の選び方を見つけることです。最適な方策を直接探すのではなく、状態や状態と行動の組に価値を割り当てて評価し、その価値が最大になるよう学習を進めるアプローチが検討されてきました。

状態価値関数は状態そのものの良し悪しを評価する指標です。行動価値関数Q^π(s,a)(ある状態で特定の行動をとった場合に将来得られる収益の期待値を表す関数)とともに、価値ベースの強化学習(状態や行動の価値を推定し、その価値をもとに行動を選ぶ強化学習の考え方)の中核をなします。

すべての方策の中で状態の価値を最大化する状態価値関数は最適状態価値関数(あらゆる方策の中で状態の価値を最大にする価値関数)V*(s)と呼ばれます。方策評価(今の方策がどれだけの価値を生むかを見積もる作業)・方策改善(見積もった価値をもとに、より良い方策に更新する作業)の計算で使われる基準になります。

2. 試験対策ポイント

まず整理したいのは、V^π(s)の定義と数式表記です。状態sにおける状態価値関数V^π(s)は、方策πのもとで得られる割引累積報酬の期待値としてV^π(s)=E^π[G_t | S_t=s]と表され、この式が定義の柱になります。

あわせて、Bellman方程式(今の状態の価値を、即時の報酬と次の状態の価値との関係式として表したもの)による再帰的な定義が重要な論点です。現在の状態の価値は、その状態で得られる即時報酬の期待値に割引率をかけた次状態の価値の期待値を加えたものとして表され、価値関数を1ステップ先の価値関数との関係式で書き直せる点がポイントになります。

また、行動価値関数Q^π(s,a)との対応関係は、取り違えやすい点です。方策πのもとではV^π(s)=Σ_a π(a|s)Q^π(s,a)という関係が成り立ち、状態sの価値は、各行動を選ぶ確率π(a|s)でQ^π(s,a)を重み付けした期待値に等しくなります。状態の価値は、その状態から選びうる行動の価値を集約したものとして表せるという整理です。

最適状態価値関数V*(s)=max_π V^π(s)という定義も、押さえておきたいポイントです。あらゆる方策の中で状態の価値を最大にする価値関数を指し、方策評価・方策改善の計算で使われる基準になります。

方策評価・方策改善の具体的な手法には、価値関数の更新を繰り返して最適な価値関数に近づける価値反復法や、方策の評価と改善を繰り返して最適な方策に近づける方策反復法などがあります。状態価値関数は、こうした最適化の手続き全体を支える土台の一つに位置づけられます。

3. 関連概念との比較・相違点

行動価値関数Q^π(s,a)との最大の違いは、評価する対象が状態だけか、状態と行動の組かという点にあります。状態価値関数V(s)は状態sそのものの価値を評価するのに対し、行動価値関数Q(s,a)は状態sで特定の行動aをとった場合の価値を評価します。

両者はV^π(s)=Σ_a π(a|s)Q^π(s,a)という関係で結び付いており、状態の価値は行動の価値を方策の選択確率で集約したものとして表せます。Q(s,a)がどのように計算されるかという内部構造の詳細は行動価値関数を扱う記事に譲りますが、状態価値関数との対応関係そのものは、この2つの概念を理解するうえで欠かせない知識です。

即時報酬との違いは、評価する範囲の広さにあります。即時報酬はある1回の行動によって得られる単発の値であるのに対し、状態価値関数は将来にわたって得られる報酬を割引率で割り引きながら合計した収益の期待値であり、単発の報酬とは別の量です。3つの概念を、評価する対象と評価する範囲という軸で並べると次のようになります。

概念 評価する対象 評価する範囲
状態価値関数V(s) 状態sそのもの 将来にわたる割引累積報酬の期待値
行動価値関数Q(s,a) 状態sで行動aをとった場合 将来にわたる割引累積報酬の期待値
即時報酬 ある1回の行動 その場で得られる単発の値

Bellman方程式では、即時報酬は次状態の価値とあわせて状態価値関数を構成する一部の要素として扱われますが、それ自体が状態の価値を表すわけではありません。

4. ビジネス・実務での活用シナリオ

将棋や囲碁のAIでは、盤面を状態とみなし、状態ごとに価値を評価する仕組みが使われています。盤面評価関数として状態価値関数の考え方を用いることで、より有利な局面に近づく手を選べるようになり、勝率の高い局面ほど高い価値が与えられます。膨大な局面をすべて検討する代わりに価値の高低で手を絞り込めるため、限られた計算時間でも実戦的な判断につながります。

倉庫内搬送ロボットや自律移動ロボットでは、現在位置を状態としてとらえ、ゴールまでの近さを価値として推定する仕組みが使われています。価値の高い方向へ移動する経路を選ぶ仕組みにより、障害物を避けながらゴールに近づく最短ルートを都度算出できます。

システム運用の自動制御では、サーバーの負荷状況やリソース使用率を状態とみなし、安定運用に近い状態ほど高い価値を与える運用が広がっています。価値の変化を手がかりに負荷の平準化やスケーリングの判断を自動化することで、人手による監視だけに頼らない体制が実現します。

5. 要点まとめ

  • 状態価値関数V(s)は、状態sから方策に従って行動し続けた場合に将来得られる割引累積報酬(収益)の期待値を表す関数です。
  • Bellman方程式により、現在の状態の価値は即時報酬の期待値と次状態の価値の期待値の和として再帰的に定義されます。
  • V(s)は行動価値関数Q(s,a)を方策の選択確率で重み付けした期待値(V^π(s)=Σ_a π(a|s)Q^π(s,a))に等しく、状態の価値は行動の価値の集約として表せます。

6. 確認問題

問1状態価値関数V(s)は、状態sから方策πに従って行動を選択し続けた場合に、将来得られる割引累積報酬(収益)の期待値を表す。

解答・解説をみる

○ 正しい

状態価値関数の定義そのものです。数式ではV^π(s)=E^π[G_t | S_t=s]と表されます。

問2状態価値関数V(s)は、状態sである行動を1つ選んだ直後に得られる即時報酬の値を表す。

解答・解説をみる

× 誤り

正しくは将来にわたる割引累積報酬の期待値であり、1回分の即時報酬とは異なる量です。即時報酬はBellman方程式の中で価値関数の一部として使われる要素にすぎません。

問3状態価値関数V^π(s)と行動価値関数Q^π(s,a)は、V^π(s)=Σ_a π(a|s)Q^π(s,a)という関係で結び付いている。

解答・解説をみる

○ 正しい

V(s)は方策πのもとで各行動のQ値を選択確率で重み付けした期待値に等しく、状態の価値は行動の価値の集約として表されます。