1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Q学習(Q-learning)

Posted at

Q学習とは強化学習のTD学習のひとつである。

Q値

Q値という名前の由来は、「統計学でのP値の次の文字ということでQ値」という説が有力。

Q(s,a) = E [ \sum ^{\infty }_{t=0} \gamma ^{t} r_{t}|s_{0}=s,a_{0}= a ] 
  • $Q(s,a)$は状態$s$で行動$a$をとった場合の$Q$値。
  • $\gamma$は割引率で、将来の報酬の価値を現在の報酬よりも低く評価するための係数。(通常は$0$以上$1$以下の値で、$0.9$程度に設定されることが一般的。)
  • $r_t$は時刻$t$における報酬を表す。

Q学習手続き

(1) 全ての$Q$値を乱数により初期化する。
(2) 学習が十分進むまで以下を繰り返す。
(2-1) 動作の初期状態に戻る。
(2-2) 選択可能な行動からQ値に基づいて次の行動を決定する。
(2-3) 行動後、Q値を更新する。
(2-4) ある条件(目標状態、あるいは一定の時間経過)に至ったら、(2-1)に戻る。
(2-5) (2-2)に戻る。

Deep Q-Network(DQN)

Q学習と深層学習を組み合わせたもの

ε-greedy法

単にQ値が一番大きいものを選択するだけではQ学習はうまくいかない。もしそうすると、初期値の乱数でたまたま大きな値となった行動だけが常に選択されてしまい、いくら動作を繰り返してもそれ以外の行動が選択されることはない。

その対策として、ε-greedy法と呼ばれる方法がある。まずあらかじめεを$0$から$1$の間の適当な定数として決めておく。行動選択に際しては、$0$から$1$の間の乱数を生成し、この値がε以下であればランダムに行動を選択する。またεを超えていれば、Q値の大きいものに対応する行動を選択する。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?