24 |
Pongと強化学習 (7) |
割引率$\gamma$や$max Q$について深堀りします。
強化学習における $\gamma$ (ガンマ) とは割引率(discount factor)を表し、将来の報酬を現在の価値に割り引くために使用されます。$max$ は次の状態で可能な全ての行動に対するQ値の中から最大値を選ぶ操作を示しています。この概念は、特にQ学習やDQN(Deep Q-Network)のような強化学習アルゴリズムにおいて重要です。
$\gamma$(割引率)
- 割引率 $\gamma$ は、0から1の間の値を取ります。この値は、将来の報酬をどの程度現在の価値に割り引いて考慮するかを示します。
- $\gamma = 0$ の場合、エージェントは将来の報酬を全く考慮せず、即時の報酬のみを最大化しようとします。
- $\gamma$ が1に近づくにつれて、エージェントはより遠い未来の報酬も重視するようになります。つまり、長期的な報酬を最大化しようとする戦略を採用します。
- $\gamma$ の値は、具体的なアプリケーションや目標に応じて調整されます。一般に、長期的な報酬を重視するタスクでは高い値が選ばれます。
$max Q$(最大Q値)
- $max Q(s', a')$ は、次の状態 $s'$ において取り得る全ての行動 $a'$ から得られるQ値の中で最大のものを指します。これは将来の行動がもたらす期待報酬の最大値を示しており、現在の行動選択の価値を決定するのに使用されます。
Q値の計算と更新
Q値の更新式は以下のように表されます:
$$Q(s, a) \leftarrow Q(s, a) + \alpha [r + \gamma \max_{a'} Q(s', a') - Q(s, a)]$$
ここで、
- $Q(s, a)$ は現在の状態 $s$ で行動 $a$ を取ったときのQ値です。
- $\alpha$ は学習率で、Q値の更新の際に新しい情報をどの程度受け入れるかを決定します。
- $r$ は行動 $a$ を取った結果として直接得られる報酬です。
- $\gamma \max_{a'} Q(s', a')$ は、次の状態 $s'$ における最大のQ値に割引率 $\gamma$ を乗じたもので、将来得られる報酬の現在価値を示します。
この更新式は、エージェントが行動を選択し、その結果として得られる報酬と次の状態を観察することで、Q値を繰り返し更新していくことにより、最適な行動方針(ポリシー)を学習していきます。