Q学習で、エージェントが状態sで行動aを選んだところ、報酬2を得て状態s'に移った。更新前の行動価値はQ(s,a)=4である。状態s'で選べる行動は「右」と「左」で、行動価値はQ(s',右)=10、Q(s',左)=6である。エージェントは次の行動として、ε-greedy方策の探索により「左」を選んだ。学習率を0.5、割引率を0.9とするとき、Q学習による更新後のQ(s,a)の値として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 B
この問題の論点:Q学習の更新式の計算
ポイント
Q学習は、次の状態で最大の行動価値を使って更新する方策オフ型の手法です。実際に選んだ行動の価値を使うSARSAとはここが異なります。
選択肢ごとの解説
- A
不適切
SARSAの更新で得られる値です。実際に選んだ「左」の価値6を使うと、
4 + 0.5×(2 + 0.9×6 − 4) = 4 + 0.5×3.4 = 5.7です。Q学習は、次に選んだ行動ではなく最大の価値を使います。 - B
適切 正解
Q学習は次の状態で最大の行動価値を使います。
4 + 0.5×(2 + 0.9×10 − 4) = 4 + 0.5×7 = 7.5です。探索で「左」を選んでも、更新には「右」の10を使います。 - C
不適切
割引率を掛け忘れた値です(
4 + 0.5×(2 + 10 − 4) = 8)。次の状態の価値は1ステップ先からの見込みなので、割引率0.9を掛けてから報酬に足します。 - D
不適切
目標値
2 + 0.9×10 = 11をそのまま新しい値にしています。学習率0.5のときは、目標値と現在の値の差(TD誤差)7の半分だけ、現在の値を動かします。
補足
Q学習の更新式はQ(s,a) ← Q(s,a) + α(r + γ max Q(s',a') − Q(s,a))です。αは学習率、γは割引率で、かっこの中をTD誤差と呼びます。SARSAではmax Q(s',a')の代わりに、次に実際に選んだ行動a'のQ(s',a')を使います。
試験での狙われ方
Q学習とSARSAの更新式の違いを、数値の計算や、探索で選んだ行動が更新に使われるかどうかで問う形が考えられます。