On October 23rd, 2014, we updated our
Privacy Policy
and
User Agreement.
By continuing to use LinkedIn’s SlideShare service, you agree to the revised terms, so please take a few minutes to review them.
9.
Caffeで実現された技術例例(1)
Deep Q Network*(深層学習で強化学習)
PongSpace Invader
藤⽥田康博さん
「CaffeでDeep Q-Networkを実装して深
層強化学習してみた」**
松元叡⼀一さん
PFIインターン2014 最終発表***
* Playing Atari with Deep Reinforcement Learning, Volodymyr Mnih, Koray Kavukcuoglu, David
Silver, Alex Graves, Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller NIPS Deep Learning
Workshop, 2013
** http://d.hatena.ne.jp/muupan/20141021/1413850461
9
*** http://www.ustream.tv/recorded/53153399
11.
⽤用語:アーキテクチャ関連
• Net:Neural Net(NN)のアーキテクチャ全体
• Blob:Node、Neuron、(ややこしいが)○○層とも
• Layer:異異なる階層のBlobをつなぐモジュール
NetBlobLayer
x
1
x
N
h
1
h
H
k
1
k
M
y
1
y
M
t
1
t
M
Forward
Backward
11
12.
Layerに関する注意
• 論論⽂文ではNodeの中で活性化関数を含む事が多いが、実装では活性化関
数をLayerで実現することが多い
X
W
Y=σ(WX)
X
W
WX
σ
Y
12
13.
minibatch j
⽤用語:訓練関連
Epoch 1
Epoch 2
Epoch i
Epoch N
Epoch i
全訓練データを
シャッフル
minibatch 1
訓練データ 2
minibatch 2
minibatch j
minibatch M
訓練データ 1
訓練データ B
パラメータ更更新
時刻
• Epoch (Iteration):全訓練データを1巡する事
→ 各訓練データはNetにN回与える
• Solver:Netを訓練するモジュール
• minibatch:少数の訓練データをまとめてNNに
与えた後にパラメータ更更新
13
16.
prototxtの記述(1):Train/Test⽤用のNet
Train/Test
mnist
ip
loss
label
Net
LayerでTop Blob
とBottom Blobを指定
Blob
Layer
data
ip
データはData Layer
として抽象化
損失関数はLoss Layer
として抽象化
16
17.
prototxtの記述(2):Deploy⽤用Net
Net
ip
Deploy
prob
data
ip
Layerに挟まれないBlobは
4次元テンソルで指定
Blob
probLayer
17