行動価値関数(Q値)

Action Value Function / Q-Value

行動価値関数とは

行動価値関数(Action Value Function)Q(s,a)とは、状態sで行動aを取り、その後は方策πに従って行動した場合に得られる将来の累積報酬の期待値を返す関数です。Q値(Q-Value)とも呼ばれ、Q^π(s,a) = E_π[Σ γ^t r_t | s_0 = s, a_0 = a] として定義されます。

Q値の重要性

Q値は状態と行動のペアの価値を直接評価するため、最適な行動選択に直結します。各状態でQ値が最大となる行動 a* = argmax_a Q(s,a) を選べば最適な方策が得られます。この性質により、Q学習やDQNなどの価値ベース手法の基礎となっています。

Q値の推定方法

Q値は経験データから推定します。Q学習ではTD更新則 Q(s,a) ← Q(s,a) + α[r + γ max_a' Q(s',a') - Q(s,a)] を用いて逐次的に更新します。テーブル形式では全ての状態-行動ペアのQ値を表として保持しますが、大規模問題ではニューラルネットワークで近似するDQNが使用されます。

最適行動価値関数

最適行動価値関数 Q*(s,a) はすべての方策の中で最大のQ値を返す関数です。Q*が分かれば、各状態でargmaxを取るだけで最適方策が直ちに得られます。ベルマン最適方程式 Q*(s,a) = E[r + γ max_a' Q*(s',a')] を満たし、これを近似的に解くことがQ学習ベースの手法の目標です。