価値関数

Value Function

価値関数とは

価値関数(Value Function)とは、ある状態や状態-行動ペアの「良さ」を数値で表す関数です。具体的には、その状態(または状態-行動ペア)から始めて方策に従って行動した場合に、将来にわたって得られる累積報酬の期待値を返します。価値関数は強化学習の中核的概念であり、最適な行動決定の基盤となります。

状態価値関数と行動価値関数

価値関数には2種類あります。状態価値関数 V(s) はある状態にいることの価値を表し、行動価値関数 Q(s,a)(Q値)はある状態で特定の行動を取ることの価値を表します。Q値が分かれば、各状態で最もQ値の高い行動を選べばよいため、行動選択に直結する有用な情報となります。

価値関数の推定

価値関数の真の値は通常未知であり、経験データから推定する必要があります。モンテカルロ法はエピソード終了後にリターンの平均で推定し、TD学習は1ステップ先の推定値を使ってブートストラップ的に更新します。深層強化学習ではニューラルネットワークで価値関数を近似します。

価値ベースと方策ベース

価値関数を学習して行動を決定するアプローチを価値ベース手法(Q学習、DQNなど)、方策を直接最適化するアプローチを方策ベース手法(REINFORCE、PPOなど)と呼びます。両者を組み合わせたActor-Criticも広く使われています。