40. Deep Belief Network
制約ボルツマンマシンを多層化したものをDeep Belief Network(DBN)という.NNが最上位層の誤差を
逆伝播させるのに対し,DBNはContrastive Divergenceによって層ごとにパラメータθを学習する.
DBNは,生成モデルと判別モデルの両方で用いることができる.
生成モデルは,データはある確率分布に従って生成されているとし,最尤推定などでその確率分布(尤もら
しいパラメータ)を学習サンプルから導出する.ノイズ除去や次元圧縮(特徴表現)ができる.
判別モデルは,最上位層にクラス分類のための層(ソフトマックスなど)を追加し,分類を行う.
DBNの各層をl=0,1,…,Lとし,可視化層をv(0),隠れ層のユニットをh(l)とする.
各層の条件付き確率分布は, p(h(l)
|h(l−1)
) =
i
f(b
(l)
i +
j
w
(l−1)
ij h
(l−1)
j )
1ユニットの条件付き確率分布は,p(h
(l)
i |h(l−1)
) = f(b
(l)
i +
j
w
(l−1)
ij h
(l−1)
j )
h(0)=vとして,各層のパラメータを逐次学習していく.
46. ここで,真の行動価値 がわかっていれば純粋な教師あり学習として とす
れば良いが,強化学習では教師信号にあたる は与えられない.そこでテーブル関数を用いたQ学
習と同様に,
Q-Network(Q値の関数近似)
DQNの生い立ち+Deep Q-NetworkをChainerで書いたhttp://qiita.com/Ugo-Nama/items/
08c6a5f6a571335972d5
強化学習の汎用化Sarsa http://www.slideshare.net/MasatoNakai1/sarsa-61840605
が何らかのパラメータθを用いて表されていて,近似された関数を と表す.Q(s,a) Qθ(s, a)
Q学習に相当する関数を近似するには,古典的には次式の勾配法によるアルゴリズムを使う.
θ ← θ − α θLθ Lθは以下の誤差関数で,Lθ =
1
2
target − Qθ(s, a)
2
Q∗
(s, a) target = Q∗
(s, a)
Q∗
(s, a)
target = r + γ max
a
Qθ(s , a )をその時点での教師信号として使う.
誤差関数の微分は,あくまで を教師信号に近づけるためとして,教師信号に対する微分は行わな
い.よって,
Qθ(s, a)
θLθ = − target − Qθ(s, a) θQθ(s, a)
= − r + γ max
a
Qθ(s , a ) − Qθ(s, a) θQθ(s, a)
以上より,更新式は,θ ← θ + α r + γ max
a
Qθ(s , a ) − Qθ(s, a) θQθ(s, a)
47. 深層強化学習(Deep Q-Network)
DQNは,強化学習の関数近似に深層学習の技術を適用したものである.DeepmindのNIPSとNatureの論文
では,両方とも畳み込みニューラルネットワークが用いられている.
DQNが最初に現れたNIPSでの論文"Playing atari with deep reinforcement learning"では
Experience Replayをミニバッチ手法と組み合わせて大規模に使っている.しかし,これでもなおオンライ
ン強化学習アルゴリズムは不安定である.
一方,Natureでの論文”Human-level control through deep reinforcement learning"ではNeural
Fitted Q Iteration + Growing Batchを適用することで、オンライン「ほとんどバッチ」強化学習による安
定化が図られている.
分散深層強化学習(Distributed Deep Reinforcement Learning)
PFNのエンジニアが開発した強化学習できる.深層学習,強化学習,分散学習,カリキュラム学習が使われ
ている.
分散学習では,各ロボットカーの経験がすべてのロボットカーに蓄積される.
カリキュラム学習では,優しいコースから順に学習を進め,だんだんと難しくする.
【PFN】分散深層強化学習でロボット制御https://research.preferred.jp/2015/06/distributed-deep-
reinforcement-learning/
YouTube版https://www.youtube.com/watch?v=a3AWpeOjkzw
【Google】Deep Learning for Robots: Learning from Large-Scale Interaction http://
googleresearch.blogspot.jp/2016/03/deep-learning-for-robots-learning-from.html