俺のブログ

学習メモや日記をつらつらと書きます。

夏休みDay4(DQNがだんだんわかってきた)

ずっとDQNがわからなかったんですけど
今日なんとなく理解できた気がしました。
いやーやっぱり、説明のメモ取りながら理解していくってのは重要ですね。
具体的に何が理解できていなかったのか考えてみると、DQNって学習を安定させるために色んな技術を使うんですが
Q-Networkを更新するときに少し前のQ-Networkを使うってゆうTarget Q-Netwotkという手法があって、
そいつがどう更新に関わってるのかよく分かっていなかったですね。

具体的には
f:id:tkr1205:20180806223610j:plain
(引用: 第14回 深層強化学習DQN(Deep Q-Network)の解説|Tech Book Zone Manatee )

この式の右辺にある
\gamma \max Q(S_{t+1}, a)
という項が少し前の時間のQ-Networkをつかって出力するんですけど、ちゃんとわかっていなかったですね
他にもmaxがついている項のaは a なのに、maxがついていない方の項のaは a_t ってtがついてるのかとか
基本がわかっていないとやっぱりできないんだなって思いました。
あと、心のどこかでDQNは行動を出力するもんだと思ってたんですけど、あくまでQ値を出力するんですね。DQNって思いっきり書いてあるのに勘違いしてました。それも理解の妨げになっていた気もする。

理論が少し理解できてきたから明日はDDQNやってもっと余裕があればA2CDQNの論文を読んでみようかと思います!!!

ではでは