行動価値関数

概要

とは、強化学習において、ある行動どのくらい価値があるのかを算出する関数。その行動により将来得られる報酬の期待値を数値の大小で表現する。

解説 強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

強化学習ではボードゲームでいう盤面に相当する「状態」と、指し手に相当する「行動」の組み合わせで対象をモデル化する。コンピュータが一手ずつ行動するたびに状態が変化していき、目的に対して有利な状況になったり不利な状況になったりする。

は、ある状態において取り得るある行動が「どのくらい良いか」を数値として与える関数で、状態と行動を入力として与えると、将来に渡って得られる報酬を積算したものを返す。将来の報酬は一手遡るごとに特定の割引率に従って割り引かれ、遠い将来の報酬は小さく、近い将来の報酬は大きく評価される。

ある行動を取った結果現れる状態とその報酬は一つに確定するが、次にどんな行動を取るかは複数の選択肢に分かれる。強化学習では行動を選択する基準を「方策」(policy)と呼び、どの状態でどの行動を取るかは確率として与えられる。このため、先々の報酬は確率を加味した期待値として表される。

ある状態sにおいてある行動aを取ったときのは慣習的に Q(s,a) と書き表され、その評価値のことは「Q値」と呼ぶことがある。一方、ある状態sの価値を算出するものは「状態価値関数」という。こちらは慣習的に V(s) と表す。と状態価値関数を合わせて「価値関数」と総称することがある。

(2025.10.15更新)