More Related Content Similar to DeepLearningTutorial (20) More from Takayoshi Yamashita (13) DeepLearningTutorial18. 注目のきっかけ(1)
音声認識・画像認識のベンチマークでトップ
音声認識(2011)
F. Seide, G. Li and D. Yu, “Conversational Speech Transcription Using
Context-Dependent Deep Neural Networks.”, INTERSPEECH2011.
多層(7つ)結合.事前学習あり
一般物体認識(2012)
A. Krizhevsky, I. Sutskever and G. E. Hinton. "ImageNet Classification
with Deep Convolutional Neural Networks." NIPS. Vol. 1. No. 2. 2012.
多層のCNNで従来性能を大きく上回る
18
20. Deep Learning界隈の動向
Deep Learningの
手法がトップ
Facebook
AI Research設立
LeCunが所長
Googleが
DeepMindを買収
(5億ドル)
PFIがPFN設立
トヨタ・ファナック・パ
ナソニックが出資
Toyotaが米国に研究
所を設立
10億ドル/5年
人の認識精度を上回る
AlphaGoが囲碁世界
チャンピオンに勝利
2012年 2016年
Baiduが1つのネットワーク
で2つの言語を認識
ロボットの動作を学習
2014年
様々な問題へ応用が進む
20
25. DNNとDBN
Deep Neural Networks(DNNs) Deep Belief Networks(DBN)
教師あり学習(Back propagation)
すべてのパラメータを同時に学習
教師なし学習(Contrastive Divergence)
階層ごとにパラメータを学習
+
教師あり学習(Back propagation)
すべてのパラメータを同時に学習パラメータ更新
パラメータ更新
パラメータ学習
入力層入力層
隠れ層
隠れ層
出力層
入力層
出力層
入力層
出力層
出力層
25
27. ニューラルネットワークの歴史(1)
1960 1980 2000 201019901970
マカロックとピッツが形式ニューロンを発表
(1943)
ローゼンブラットがパーセプトロンを発表
(1953)
ミンスキーとパパートが単純パーセプトロンは
線形分離不可能なパターンを識別できない事
を示す(1969)
27
28. ニューラルネットワークの歴史(2)
1960 1980 2000 201019901970
ホップフィールトがホップフィールドモデルを提案
(1986)
ラメルハートらが誤差逆伝播法を提案
(1986)
福島らがネオコグニトロンを提案
(1980)
ルカンらが畳み込みニューラルネットワークを
提案(1998)
28
46. パーセプトロンのトイプロブレム(12)
パーセプトロン
学習データ
入力x1 入力x2 正解
0 0 0
1 0 0
0 1 0
1 1 1
更新されたパラメータ w1=0.5,w2=-0.5,h=1,α=0.5より
式
入力x1 入力x2 出力
1 1 0 ×
更新式より
w1 = 0.5 ⇒ 1
w2 = -0.5 ⇒ 0
h = 1 ⇒ 0.5
2サイクル目
h h ↵(r y)
wi wi + ↵(r y)xi
y = f(
nX
i=1
wixi h)
46
51. パーセプトロンのトイプロブレム(17)
パーセプトロン
学習データ
入力x1 入力x2 正解
0 0 0
1 0 0
0 1 0
1 1 1
パラメータ w1=1,w2=0.5,h=0.5
入力x1 入力x2 出力
0 0 0 ○
4サイクル目
パラメータ w1=1,w2=0.5,h=0.5
入力x1 入力x2 出力
1 0 1 ×
パラメータ w1=0.5,w2=0.5,h=0.5
入力x1 入力x2 出力
0 1 0 ○
パラメータ w1=0.5,w2=0.5,h=0.5
入力x1 入力x2 出力
1 1 1 ○
51
52. パーセプトロンのトイプロブレム(18)
パーセプトロン
学習データ
入力x1 入力x2 正解
0 0 0
1 0 0
0 1 0
1 1 1
入力x1 入力x2 出力
0 0 0 ○
5サイクル目
入力x1 入力x2 出力
1 0 0 ○
パラメータ w1=0.5,w2=0.5,h=1
入力x1 入力x2 出力
0 1 0 ○
パラメータ w1=0.5,w2=0.5,h=1
入力x1 入力x2 出力
1 1 1 ○
パラメータ w1=0.5,w2=0.5,h=1
パラメータ w1=0.5,w2=0.5,h=1
52
82. @E
@w1ij
= (r y)y(1 y)w2j1zj(1 zj)xi
@E
@w2j1
= (r y)y(1 y)zj
誤差逆伝播法 ーまとめー
x1
x2
xn
y1
入力層 中間層 出力層
z1
z2
zm
w1ij
w2j1
@E
@w2j1
=
@E
@y
@y
@u21
@u21
@w2j1
誤差関数の微分
シグモイド関数の微分
中間層の値
@E
@w1ij
=
@E
@y
@y
@u21
@u21
@w1ij
@u21
@w1ij
=
@u21
@zj
@zj
@w1ij
@zj
@w1ij
=
@zj
@u1j
@u1j
@w1ij
誤差関数の微分
シグモイド関数の微分
重み付き和
中間ー出力層間
シグモイド関数の微分
入力値
入力ー中間層間
82
83. @E
@w2j1
= (rk yk)y(1 yk)zj
誤差逆伝播法 ーまとめー
x1
x2
xn
y1
入力層 中間層 出力層
z1
z2
zm
w1ij
w2jk
誤差関数の微分
シグモイド関数の微分
中間層の値
誤差関数の微分
シグモイド関数の微分
重み
中間ー出力層間
シグモイド関数の微分 入力値
入力ー中間層間
@E
@w1ij
=
qX
k=1
[
@E
@yk
@yk
@u2k
@u2k
@w1ij
]
@E
@w2jk
=
@E
@yk
@yk
@u2k
@u2k
@w2jk
@zj
@w1ij
=
@zj
@u1j
@u1j
@w1ij
@u2k
@w1ij
=
@u2k
@zj
@zj
@w1ij
yk
= 2
qX
k=1
[(rk yk)yk(1 yk)
@u2k
@w1ij
]
@E
@w1ij
= 2
qX
k=1
[(rk yk)yk(1 yk)w2jk]zj(1 zj)xi
83
92. Adagrad
学習係数を自動で調整する
h0 = ✏
⌘t =
⌘0
p
ht
wt+1
wt
⌘t
@E(wt
)
@wt
ht = ht 1 +
@E(wt
)
@wt
2
ε:初期値(小さい値,10-8など)
ht:過去の更新量の2乗を累積
η0:学習率の初期値(0.001など)
ηt:学習率
過去の勾配情報を考慮して学習率を決める
学習率ηtは徐々に小さくなる
J. Duchi, E. Hazan, Y.Singer, Adaptive Subgradient Methods for Online Learning and Stochastic Optimization,
JMLR, Vol.12, pp.2121−2159, 2011.
92
94. Adadelta
学習係数ηを用いない手法
st+1 = ⇢st + (1 ⇢)v2
t
wt+1
= wt
vt
vt =
p
st + ✏
p
ht + ✏
@E(wt
)
@wt
ht = ⇢ht 1 + (1 ⇢)
@E(wt
)
@wt
2
過去の更新量stと勾配htの比から更新率をきめる
初期値:h0=0,s0=0
ρ:減衰率(0.95など)
ht:過去の更新量の2乗を累積
vt:学習率の初期値(0.001など)
st:学習率,徐々に小さくなる
ε:初期値(10-6など)
M. Zeiler, "ADADELTA: an adaptive learning rate method." arXiv arXiv:1212.5701, 2012
94
105. 活性化関数
シグモイド関数 Rectified Linear Unit(ReLU) Leaky ReLU
古くから使われている
サチると勾配が消滅
画像認識でよく使われる
学習が速く、勾配がサチる
ことがない
f (xi ) = max(xj,0)f (xi ) =
1
1+e
−xj
Convolutions
f(x) = max(↵x, x) (0 < ↵ < 1)
f(xi) = max(↵xi, xi)
ReLUを改良した活性化関
数
負の値を出力
105
107. hj = f(
nX
i=1
wijxi + bj)
全結合層
全結合型の構成
x1
x2
x3
xi
h1
h2
hj
各ノードとの結合重み
例えば、
は
を算出し、 activation functionに与えて値を得る
Full
connection
w11
w12
w21
w1j
w22w31
w32
w3 j
wij
wi2
wi1
107
128. Normalize Layer
activation function で得られた値を正規化
Convolutional layer Normalize layer
Pooling layer Convolutional layer
Normalize layer
Pooling layer
pooling layer後にNormalize layerを配置することもある
128
129. Normalize Layer
Local contrast normalization
Convolutional layer Normalize layer
同一特徴マップにおける局所領域内で正規化する
vj,k = xj,k − wp,q xj+p,k+q∑
wp,q =1∑
yj,k =
vj,k
max(C,σ jk )
σ jk = wpqvj+p,k+q
2
∑
K. Jarrett, K. Kavukcuoglu, M. Ranzato and Y.LeCun ,“What is the Best Multi-Stage Architecture for
Object Recognition?”, ICCV2009 129
130. Normalize Layer
Local response normalization
Convolutional layer Normalize layer
同一位置における異なる特徴マップ間で正規化する
yi
j,k = (1+α (yl
j,k )2
)β
l=i−N/2
i+N/2
∑
G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever and R. R. Salakhutdinov ,“Improving neural networks by preventing
co-adaptation of feature detectors ”, arxiv2012
130
135. 物体認識
ImageNet Large Scale Visual Recognition Challenge
(ILSVRC)
ImageNetのデータセットを利用して1000クラスの物体認識を行う
http://image-net.org
135
146. 一般物体検出
• Selective Searchにより物体候補を検出
• CNNで抽出した特徴量をSVMでクラス識別
4つのステップから構成
1)局所領域の切り出し
2)領域の変形
3)CNNによる特徴抽出
4)SVMによる識別
物体検出への応用の難しさ
R. Girshick, Rich feature hierarchies for accurate object detection and semantic segmentation, CVPR2014
146
150. R-CNN ステップ4: SVMによる識別
各検出対象のSVMで,物体かどうかを判定する
Pascal VOCの場合:20種類の物体のSVMを用意
CNNで抽出した特徴量を用いて判定
SVMの学習
Pascal VOCの学習データセットについて,特徴量を抽出
線形SVMにより,各物体のSVMを学習
R. Girshick, Rich feature hierarchies for accurate object detection and semantic segmentation, CVPR2014
150
153. Fast R-CNN
特徴抽出
(CNN)
特徴座標 識別層・回帰層
(CNN)
入力画像
領域切り出し
領域変形
物体:背景
座標情報
(-1,-1,-1,-1)
物体:人
座標情報
(10,3,40,100)
物体:馬
座標情報
(5,100,80,20)
領域ごとに実行
識別層・回帰層
(CNN)
識別層・回帰層
(CNN)
R. Girshick,, Fast RCNN, ICCV2015
特徴抽出処理をまとめて行うことで高速化
R-CNNと比べて10-100倍高速
学習・検出プロセスをシンプルに
領域切り出しの処理をCNNの構成で行う(SVMなし)
153
157. Fast R-CNN ステップ3:物体の特徴抽出
特徴をプーリング 物体領域のサイズを変形していないので,
特徴マップ上でのサイズはバラバラ
サイズを揃えるプーリング
=ROI プーリング
例)10x15を5x5にプーリングしたい場合,
横10/5=2,縦15/5=3で,2x3の範囲で
max poolingを行う.
(正規化後/元のサイズで比もとめる)
入力画像
特徴マップ
入力画像
領域切り出し
ROI プーリング
R. Girshick,, Fast RCNN, ICCV2015
157
161. Fast R-CNN
特徴抽出
(CNN)
特徴座標 識別層・回帰層
(CNN)
入力画像
領域切り出し
領域変形
物体:背景
座標情報
(-1,-1,-1,-1)
物体:人
座標情報
(10,3,40,100)
物体:馬
座標情報
(5,100,80,20)
領域ごとに実行
識別層・回帰層
(CNN)
識別層・回帰層
(CNN)Selective Searchによる切り出し
=>この処理が時間かかる
R. Girshick,, Fast RCNN, ICCV2015
特徴抽出処理をまとめて行うことで高速化
R-CNNと比べて10-100倍高速
学習・検出プロセスをシンプルに
領域切り出しの処理をCNNの構成で行う(SVMなし)
161
180. YOLOの出力内容
180
You Only Look Once: Unified, Real-Time Object Detection, CVPR2016
各グリッドの出力
矩形(x,y,幅,高さ)
物体らしさ
クラスの数だけ出力
各グリッドは,
複数の矩形を出力することも可能
Pascal VOCの場合
グリッド数:7x7
矩形数:2
クラ数数:20
出力ユニット数:1470 (7 x 7 x (2 x 5 + 20) = 7 x 7 x 30 tensor)
181. YOLOの精度
181
Pascal 2007 mAP Speed
DPM v5 33.7 .07 FPS 14 s/img
R-CNN 66.0 .05 FPS 20 s/img
Fast R-CNN 70.0 .5 FPS 2 s/img
Faster R-CNN 73.2 7 FPS 140 ms/img
YOLO 63.4 69.0 45 FPS 22 ms/img
You Only Look Once: Unified, Real-Time Object Detection, CVPR2016
182. Single Shot MultiBox Detector
182
複数の特徴マップから物体らしさと矩形を出力
小さな物体から大きな物体まで検出できる
SSD: Single Shot MultiBox Detector, ECCV2016
183. Single Shot MultiBox Detector
複数の特徴マップから物体らしさと矩形を出力
各特徴マップからクラス確率の高い矩形を算出
Default boxの形状を補正するオフセットベクトルを回帰
検出物体にフィットした矩形を出力
183
Ground truth boxes 5 x 5 feature map 3 x 3 feature map
SSD: Single Shot MultiBox Detector, ECCV2016
184. Single Shot MultiBox Detector
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.02
0.04
0.08
0.81
0.03
SSD: Single Shot MultiBox Detector, ECCV2016
184
185. Single Shot MultiBox Detector
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.02
0.04
0.08
0.81
0.03
Box2 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.01
0.01
0.03
0.93
0.01
SSD: Single Shot MultiBox Detector, ECCV2016
185
186. Single Shot MultiBox Detector
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.02
0.04
0.08
0.81
0.03
Box2 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.01
0.01
0.03
0.93
0.01
Box3 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.01
0.01
0.07
0.88
0.02
SSD: Single Shot MultiBox Detector, ECCV2016
186
187. Single Shot MultiBox Detector
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.02
0.04
0.08
0.81
0.03
Box2 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.01
0.01
0.03
0.93
0.01
Box3 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.01
0.01
0.07
0.88
0.02
Box4 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.02
0.02
0.09
0.82
0.03
SSD: Single Shot MultiBox Detector, ECCV2016
187
188. Single Shot MultiBox Detector
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.02
0.04
0.08
0.81
0.03
Box2 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.01
0.01
0.03
0.93
0.01
Box3 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.01
0.01
0.07
0.88
0.02
Box4 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.02
0.02
0.09
0.82
0.03
Max
SSD: Single Shot MultiBox Detector, ECCV2016
188
189. Single Shot MultiBox Detector
回帰で推定したオフセットベクトルにより
矩形を補正 (cx, cy, w, h)
SSD: Single Shot MultiBox Detector, ECCV2016
189
190. Single Shot MultiBox Detector
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.06
0.05
0.04
0.79
0.05
0.01
SSD: Single Shot MultiBox Detector, ECCV2016
190
191. Single Shot MultiBox Detector
191
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.06
0.05
0.04
0.79
0.05
0.01
Box2 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.04
0.02
0.02
0.81
0.09
0.02
SSD: Single Shot MultiBox Detector, ECCV2016
192. Single Shot MultiBox Detector
192
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.06
0.05
0.04
0.79
0.05
0.01
Box3 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.08
0.04
0.02
0.70
0.03
0.01
Box2 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.04
0.02
0.02
0.81
0.09
0.02
SSD: Single Shot MultiBox Detector, ECCV2016
193. Single Shot MultiBox Detector
193
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.06
0.05
0.04
0.79
0.05
0.01
Box3 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.08
0.04
0.02
0.70
0.03
0.01
Box2 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.04
0.02
0.02
0.81
0.09
0.02
Box4 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.05
0.02
0.01
0.68
0.02
0.02
SSD: Single Shot MultiBox Detector, ECCV2016
194. Single Shot MultiBox Detector
194
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.06
0.05
0.04
0.79
0.05
0.01
Box3 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.08
0.04
0.02
0.70
0.03
0.01
Box2 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.04
0.02
0.02
0.81
0.09
0.02
Box4 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.05
0.02
0.01
0.68
0.02
0.02
Box5 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.01
0.02
0.83
0.03
0.03
SSD: Single Shot MultiBox Detector, ECCV2016
195. Single Shot MultiBox Detector
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.06
0.05
0.04
0.79
0.05
0.01
Box3 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.08
0.04
0.02
0.70
0.03
0.01
Box2 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.04
0.02
0.02
0.81
0.09
0.02
Box4 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.05
0.02
0.01
0.68
0.02
0.02
Box5 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.01
0.02
0.83
0.03
0.03
Box6 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.02
0.01
0.84
0.02
0.04
SSD: Single Shot MultiBox Detector, ECCV2016
195
196. Single Shot MultiBox Detector
Box1 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.06
0.05
0.04
0.79
0.05
0.01
Box3 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.08
0.04
0.02
0.70
0.03
0.01
Box2 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.04
0.02
0.02
0.81
0.09
0.02
Box4 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.05
0.02
0.01
0.68
0.02
0.02
Box5 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.01
0.02
0.83
0.03
0.03
Box6 : クラス確率
Background
Car
Boat
Dog
Cat
Parson
0.01
0.02
0.01
0.84
0.02
0.04
Max
SSD: Single Shot MultiBox Detector, ECCV2016
196
197. Single Shot MultiBox Detector
197
回帰で推定したオフセットベクトルにより
Bounding boxを補正 (cx, cy, w, h)
SSD: Single Shot MultiBox Detector, ECCV2016
198. SSDのネットワーク構成
198
Non-Maximum Suppression
VGG conv
from conv1_1
to conv4_3
VGG conv
from conv5_1
to fc7
(replace conv)
SDD conv
from conv6_1
to conv6_2
SDD conv
from conv7_1
to conv7_2
SDD conv
from conv8_1
to conv8_2
SDD conv
from conv9_1
to conv9_2
Normalization
conv4_3_mbox_loc
(offset estimator)
&
conv4_3_mbox_conf
(object classifier)
fc7_mbox_loc
(offset estimator)
&
fc7_mbox_conf
(object classifier)
conv6_2_mbox_loc
(offset estimator)
&
conv6_2_mbox_conf
(object classifier)
conv7_2_mbox_loc
(offset estimator)
&
conv7_2_mbox_conf
(object classifier)
conv8_2_mbox_loc
(offset estimator)
&
conv8_2_mbox_conf
(object classifier)
conv9_2_mbox_loc
(offset estimator)
&
conv9_2_mbox_conf
(object classifier)
Input image
300x300x3
Feature maps
38x38x512
Feature maps
19x19x1024
Feature maps
10x10x512
Feature maps
5x5x256
Feature maps
3x3x256
Feature maps
1x1x256
Localization
maps
38x38x16
Confidence
maps
38x38x84
Localization
maps
19x19x24
Confidence
maps
19x19x126
Localization
maps
10x10x24
Confidence
maps
10x10x126
Localization
maps
5x5x24
Confidence
maps
5x5x126
Localization
maps
3x3x16
Confidence
maps
3x3x84
Localization
maps
1x1x16
Confidence
maps
1x1x84
# Default boxes = 4
# Classes = 21
# Default boxes = 6
# Classes = 21
# Default boxes = 6
# Classes = 21
# Default boxes = 6
# Classes = 21
# Default boxes = 4
# Classes = 21
# Default boxes = 4
# Classes = 21
Final detections
Pre-trained VGG Net (remove fc8)
SSD: Single Shot MultiBox Detector, ECCV2016
199. SSDのネットワーク構成
199
Non-Maximum Suppression
VGG conv
from conv1_1
to conv4_3
VGG conv
from conv5_1
to fc7
(replace conv)
SDD conv
from conv6_1
to conv6_2
SDD conv
from conv7_1
to conv7_2
SDD conv
from conv8_1
to conv8_2
SDD conv
from conv9_1
to conv9_2
Normalization
conv4_3_mbox_loc
(offset estimator)
&
conv4_3_mbox_conf
(object classifier)
fc7_mbox_loc
(offset estimator)
&
fc7_mbox_conf
(object classifier)
conv6_2_mbox_loc
(offset estimator)
&
conv6_2_mbox_conf
(object classifier)
conv7_2_mbox_loc
(offset estimator)
&
conv7_2_mbox_conf
(object classifier)
conv8_2_mbox_loc
(offset estimator)
&
conv8_2_mbox_conf
(object classifier)
conv9_2_mbox_loc
(offset estimator)
&
conv9_2_mbox_conf
(object classifier)
Input image
300x300x3
Feature maps
38x38x512
Feature maps
19x19x1024
Feature maps
10x10x512
Feature maps
5x5x256
Feature maps
3x3x256
Feature maps
1x1x256
Localization
maps
38x38x16
Confidence
maps
38x38x84
Localization
maps
19x19x24
Confidence
maps
19x19x126
Localization
maps
10x10x24
Confidence
maps
10x10x126
Localization
maps
5x5x24
Confidence
maps
5x5x126
Localization
maps
3x3x16
Confidence
maps
3x3x84
Localization
maps
1x1x16
Confidence
maps
1x1x84
# Default boxes = 4
# Classes = 21
# Default boxes = 6
# Classes = 21
# Default boxes = 6
# Classes = 21
# Default boxes = 6
# Classes = 21
# Default boxes = 4
# Classes = 21
# Default boxes = 4
# Classes = 21
Final detections
Pre-trained VGG Net (remove fc8)
SSD: Single Shot MultiBox Detector, ECCV2016
200. オフセットベクトルとクラス分類
200
Feature maps
5x5x256
SDD conv
from conv7_1
to conv7_2
Convolutional
feature extractor
conv7_2_mbox_loc
Convolutional
offset estimator
Convolutional
object classifier
conv7_2_mbox_conf
Default box generator
6 default boxes
5x5x6=150 default boxes
Localization maps
5x5x24
Confidence maps
5x5x126
# Offset vector dimensions : 4
# Default boxes : 6
# Classes : 21
# Default boxes : 6
SSD: Single Shot MultiBox Detector, ECCV2016
211. Deep Learningの応用先
検出 回帰
人検出*
(Caltech Pedestrian dataset トップ)
*HOG+CSS-SVMでのSliding window処理あり
顔器官検出
人の姿勢推定
認識
一般物体認識
(LSVRCトップ)
顔認識(照合)
(LFWトップ)
人物属性推定
一般物体検出
(Pascal VOCトップ)
文字認識
セグメンテーション
シーンラベリング
手領域抽出
髪領域抽出
顔ラベリング
211
214. 手の形状抽出
畳み込みニューラルネットワークにより手領域を抽出
214
更新回数 precision recall F value
0 0.2303 1.0000 0.3742
50000 0.8930 0.9135 0.9032
100000 0.8968 0.9199 0.9082
150000 0.9054 0.9186 0.9120
200000 0.9033 0.9234 0.9133
カーネル precision recall F value
3x3 0.9097 0.9133 0.9115
5x5 0.9033 0.9234 0.9133
7x7 0.9056 0.9039 0.9047
227. ゲームを利用したデータ生成
227
G. Ros, The SYNTHIA Dataset: A Large Collection of Synthetic Images for Semantic Segmentation of
Urban Scenes, CVPR2016
Virtual cityをCGで作成
様々な国の街の雰囲気,天候,季節を再現
13400フレーム分のデータ,13クラスにラベリング
全周囲のカメラ
距離画像
(未公開)
Dataset URL : http://synthia-dataset.net
236. カリキュラムラーニング(3)
領域抽出に対応したネットワークを学習
236
Convolutional Layer Pooling Layer
Convolutional Layer Pooling Layer fully connection Layer
Binarization layer
Input data : gray scale image
ground truth : hand segmented image
T. Yamashita, Hand Posture Recognition Based on Bottom-up Structured Deep Convolutional Neural Network with
Curriculum Learning”, “Curriculum Learning, ICIP2014
239. カリキュラムラーニング(6)
without curriculum learning with curriculum learning
Ground Truth class
classificationclass
Ground Truth class
classificationclass
239
T. Yamashita, Hand Posture Recognition Based on Bottom-up Structured Deep Convolutional Neural Network with
Curriculum Learning”, “Curriculum Learning, ICIP2014
244. ヘテロジニアスラーニング(4)
ヘテロジニアスラーニングによる歩行者検出と部位推定
244
1
0.0001 0.001 0.01 0.1 1 10
MissRate False Positive per Image
回帰型DCNN 31.77%
単体のDCNN 38.38%
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
Daimler Mono-Pedestrian Benchmark Dataset
の評価結果
距離[m] 距離推定結果[m] 誤差[%]
5 4.89 2.2
10 9.26 5.3
15 14.12 5.8
T. Yamashita, Pedestrian and Part Position Detection Using a Regression-Based Multiple Task
Deep Convolutional Neural Network, ICPR2016
246. ビデオの認識
Slow Fusion network on the first layer
246
A.Karpathy, “ Large-scale Video Classification with Convolutional Neural Networks”, CVPR2014
277. LSTM
Long Short Term Memory
長・短期記憶と呼ばれる
RNNの欠点を解決
勾配の値を意図的に抑制
状態を記憶するメモリセルにより長期の記憶を実現
RNNより長い系列データを扱うことが可能
RNNでは10時刻程度が限界
3種類のゲートによりメモリセルを管理
忘却ゲート
入力ゲート
出力ゲート
277
279. LSTMユニット
LSTMユニットの入出力
𝑐&34 : 1時刻前のメモリセルの値
ℎ&34 : 1時刻前のLSTMユニットから
出力層への出力値
𝑐& : 更新したメモリセルの値
ℎ& : LSTMユニットから出力層への出力値
𝑎& : 時刻𝑡の入力層からの入力値
活性化関数
𝑠𝑖𝑔𝑚 = 𝜎 : ロジスティックシグモイド関数
0~1の値を出力
𝑡𝑎𝑛ℎ : シグモイド関数(双曲線正接関数)
-1~1の値を出力
279
𝑓 𝑢 =
1
1 + 𝑒3f
𝑓 𝑢 = tanh ( 𝑢)
280. LSTMユニット
1時刻前のメモリセルは
忘却ゲート => 入力ゲート => 出力ゲート の順で通過
各ゲートは
0~1の値を持ち,通過する値に対して乗算する
ゲート値が0ならば通過する値を0にする(=リセット)
ゲート値が1ならば通過する値をそのままの通す
メモリセルの入力候補値
入力ゲートを通過してメモリセルに加算(メモリセルの更
新)
時刻t-1の出力層の値と、時刻tの入力層の値より算出
280
284. LSTMユニットの出力
メモリセルの入力候補値
𝑐̃& = tanh ( 𝑊ṽ[
⋅ 𝑎& + 𝐻ṽ[
⋅ ℎ&34 + 𝑏ṽ[
)
1時刻前のメモリセルの更新
𝑐& = 𝑓& ⊚ 𝑐&34 + 𝑖& ⊚ 𝑐̃&
LSTMユニットからの出力層への出力
ℎ& = 𝑜& ⊚ 𝑡𝑎𝑛ℎ 𝑐&
284
f : 忘却ゲート
i : 入力ゲート
o : 出力ゲート
a : 入力層からの値
𝑐̃ : メモリセルへの入力候値
285. LSTMユニットの出力例
1時刻前のメモリセルが各ゲートを通過した後の出力
メモリセルへの入力候補値は1に固定
285
(𝑐&34)
(忘却, 入力, 出力)
0
(𝑐&, ℎ&)
1
(𝑐&, ℎ&)
(0, 0, 0) (0, 0) (0, 0)
(0, 0, 1) (0, 0) (0, 0)
(0, 1, 0) (1, 0) (1, 0)
(0, 1, 1) (1, 1) (1, 1)
(1, 0, 0) (0, 0) (1, 0)
(1, 0, 1) (0, 0) (1, 1)
(1, 1, 0) (1, 0) (2, 0)
(1, 1, 1) (1, 1) (2, 2)
289. RNNを利用した画像要約
Deep Visual-Semantic Alignments for Generating
Image Descriptions
289
画像をCNNに入力し,画像特徴を抽出
LSTM層の最初に画像特徴を与える
以降は,単語特徴から次の単語を出力する
学習時の工夫
Infer region-word alignment
・R-CNNにより物体領域の画像ベクトルを抽出
・BRNNで文章ベクトルを生成
・画像と文章のベクトルの内積が最大となるものを
学習に利用