Deep Learning
勉強会(2)
2014/07/26
電気通信大学 大学院情報理工学研究科
庄野 逸: shouno@uec.ac.jp
1
http://www.slideshare.net/HAL9801
2
Simple/Complex cell	

(Hubel&WIesel 59)

Linear resp. func.	

(Anzai+ 99)

201020001990198019701960
Perceptron	

(Rosenblatt 57)

Neocognitron	

(Fukushima 80)

Conv. net	

(LeCun+ 89)
 Deep learning

(Hinton+ 06)
“Linear Separable” 

(Minski & Papert 68)
Sparse Coding	

(Olshausen&Field 96)

Stochastic GD	

(Amari 67)

Boltzmann Mach.	

(HInton+85)

Back Prop.

(Rumelhart+ 86)
今ココ
第1期 第2期
Neural network (NN) 歴史的背景
3
Simple/Complex cell	

(Hubel&WIesel 59)

Linear resp. func.	

(Anzai+ 99)

201020001990198019701960
Perceptron	

(Rosenblatt 57)

Neocognitron	

(Fukushima 80)

Conv. net	

(LeCun+ 89)
 Deep learning

(Hinton+ 06)
“Linear Separable” 

(Minski & Papert 68)
Sparse Coding	

(Olshausen&Field 96)

Stochastic GD	

(Amari 67)

Boltzmann Mach.	

(HInton+85)

Back Prop.

(Rumelhart+ 86)
今ココ
第1期 第2期
Neural network (NN) 歴史的背景
Boltzmann Machine
&
Restricted
Boltzmann Machine
(Hinton+85, Hinton 00)
4
Boltzmann Machine
(Hinton+ 85)
確率型素子
隠れ素子 h と可視素子 v
相互結合型アーキテクチャ
対数尤度最大化による学習
!
出来ること: パターンの生成,模倣

確率分布のエミュレート
5
h
v
v1:
v2:
v3:
p(v) に基づきパターン生成
学習パターン
v:
Boltzmann Machine: 

アーキテクチャ
確率モデル
!
!
エネルギー関数
同時分布
6
h
v
vi = { 1, +1}, hj = { 1, +1}
u =
v
h
!
p(h, v) =
1
Z(W)
exp( H(h, v))
Z(W) =
X
h,v
exp( H(h, v))
(Boltzmann 分布)
H(h, v) = uT
Wu
Boltzmann Machine: 

学習モデル
対数尤度最大化
7
h
v
対数尤度
対数尤度の勾配を用いた最大化
W(p)
ij = W(p 1)
i j + ⌘
@ ln p(v(p)
)
@Wij
ln p(v(p)
) = ln
X
h
exp( H(h, v(p)
)) ln Z(W)
@ ln p(v)
@Wi j
=
D
uiuj
E
cramp
D
uiuj
E
free
MCMC 法による期待値→ 恐ろしく時間がかかる
Restricted Boltzmann Machine(RBM):
アーキテクチャ
BM で恐ろしく時間がかかる理由
→結合数が多すぎること
隠れ層と可視層とを階層構造と
考え,層内結合を撤廃

→ RBM
何ということでしょう.

素子が条件付き独立に!
8
h
v
H(h, v) =
X
i,j
hjWi jvi p(h | v) =
Y
j
p(hj | v) =
Y
j
exp(hj
P
i Wi jvi)
2 cosh(
P
i Wijvi)
p(v | h) =
Y
i
p(vi | h) =
Y
i
exp(vi
P
j Wi jhj)
2 cosh(
P
j Wi jhj)
関数 exp( ±u ) / 2 cosh( u ) に関して 

あまり見かけない表記だがシグモイド関数である
!
この表記だと hj = ±1 の値によらない表記で,計算に
便利なので(統計)物理屋さんが好む.
補足
9
exp(hju)
2 cosh(u)
=
exp(+u)
exp(+u) + exp( u)
=
1
1 + exp( 2u)
where hj=1
Restricted Boltzmann Machine(RBM):
学習モデル
10
h
v
対数尤度最大化
対数尤度と勾配を用いた最大化
ln p(v(p)
) = ln
X
h
exp( H(h, v(p)
)) ln Z(W)
W(p)
i j = W(p 1)
i j + ⌘
@ ln p(v(p)
)
@Wi j
@ ln p(v)
@Wij
=
D
hjvi
E
cramp
D
hjvi
E
free
ほぼ一撃計算
vi tanh(
X
i
Wijvi)
MCMC だけど
10回ぐらいでいいよね?
(Hinton 00)
Restricted Boltzmann Machine(RBM):
応用先
11
h
v
RBM の応用先
自然画像 (Salakhudinov+ 07)
文書 (Salakhudinov+ 10, )
協調フィルタ(Salakhudinov+ 07)
運動検出(Taylor+ 07)
音声特徴抽出(Dahl+ 10, Lee+ 10)
Images$&$Video$
Rela:onal$Data/$$
Social$Network$
Massive$increase$in$both$computa:onal$power$and$the$amount$of$
data$available$from$web,$video$cameras,$laboratory$measurements.$
Mining$for$Structure$
Speech$&$Audio$
Gene$Expression$
Text$&$Language$$
Geological$Data$
Product$$
Recommenda:on$
Climate$Change$
Mostly$Unlabeled$
• $Develop$sta:s:cal$models$that$can$discover$underlying$structure,$cause,$or$
sta:s:cal$correla:on$from$data$in$unsupervised*or$semi,supervised*way.$$
• $Mul:ple$applica:on$domains.$ Salkahudinov+14 から拝借
12
Simple/Complex cell	

(Hubel&WIesel 59)

Linear resp. func.	

(Anzai+ 99)

201020001990198019701960
Perceptron	

(Rosenblatt 57)

Neocognitron	

(Fukushima 80)

Conv. net	

(LeCun+ 89)
 Deep learning

(Hinton+ 06)
“Linear Separable” 

(Minski & Papert 68)
Sparse Coding	

(Olshausen&Field 96)

Stochastic GD	

(Amari 67)

Boltzmann Mach.	

(HInton+85)

Back Prop.

(Rumelhart+ 86)
今ココ
第1期 第2期
Neural network (NN) 歴史的背景
Deep Belief Net
(Hinton+ 06)
13
p(v | h1
) =
Y
i
p(vi | h1
)
Sigmoid	

Belief net
Deep Belief Net(DBN):
アーキテクチャ
14
RBM は単層モデル (結構成功はしている)
隠れ層の表現をさらに RBM で

学習する機械を考えてみよう!
学習後の下層はパターン生成器として
働く(Sigmoid Belief net)
h1
v
h2
RBM
Sigmoid	

Belief net
p(v, h1
, h2
) = p(v | h1
)p(h1
, h2
)
RBM
p(h1
, h2
) =
1
Z(W2)
exp(
X
j,k
h2
kW2
jkh1
j)
Deep Belief Net(DBN):
学習モデル
15
DBN の学習は,階層ごとのRBM学習
(Greedy Layer-wise Learning)	

第1層: 勾配法による対数尤度最大化
h1
v
RBM
@ ln p(v)
@W1
ij
=
D
vihj
E
cramp
D
vihj
E
free
ln p(v(p)
) =
X
i,j
h1
jW1
i jv(p)
i ln Z(W1
)
Deep Belief Net(DBN):
学習モデル
16
DBN の学習は,階層ごとのRBM学習
(Greedy Layer-wise Learning)	

第1層学習後,p(h1 | v) に基づき

サンプル {h1(p)} を収集
第2層: 勾配法による対数尤度最大化
h1
v
h2
RBM
Sigmoid	

Belief net
@ ln p(h1
)
@W2
jk
=
D
h1
jh2
k
E
cramp
D
h1
jh2
k
E
free
ln p(h1(p)
) =
X
j,k
h2
kW2
jkh1
j
(p)
ln Z(W2
)
Deep Belief Net(DBN):
サンプリング
17
DBN によるサンプリング
最上位層 ( p(h1
, h2
) )の Gibbs サンプリング,h1
のサンプルを生成
得られた表現 h1
を 下層の Sigmoid Belief Net へ投入,p(v | h1
)
により v のサンプルを生成
h1
v
h2
RBM
Sigmoid	

Belief net
h2 h2 h2
h1 h1 h1
v
Deep Belief Net(DBN):
MNIST を使った場合
18
MNIST を用いたDBNの
学習
高位層では,より大まかな
特徴抽出器として振る舞う
h1
v
h2
RBM
Sigmoid	

Belief net
Learned Features
(Salakhudinov13, 14 より)
Convolution Net + Deep Belief Net(CDBN):
自然画像への適用
19
Convolution net + DBN の自然画像への応用(Lee+09)
Learning Part based Representation
Convolutional DBN
Faces
Trained on face images.
Object Parts
Groups of parts.
Lee et.al., ICML 2009
Convolution Net + Deep Belief Net(CDBN):
自然画像への適用
20
Convolution net + DBN の自然画像への応用(Lee+09)
Learning Part based Representation
Faces Cars Elephants Chairs
Lee et.al., ICML 2009
Deep Neural Net
(Hinton+ 06)
21
MLP における Back Prop.
22
過学習問題
訓練誤差 汎化誤差
勾配情報の拡散
識別器だけなら上位層で実現可能
全体のトレーニングは難しい
全結合型 NN で顕著
データに対してパラメータ数が過多
O(Mk Mk+1 )
Deep Neural Net(DNN):
アーキテクチャ
23
DBN の構造 MLP の構造
識別モデルとして使ったら?
h1
v
h2
p(h1
j | v) =
exp(h1
j
P
i W1
i jvi)
2 cosh(
P
i W1
i jvi)
y
p(h2
k | h1
) =
exp(h2
k
P
j W2
jkh1
j)
2 cosh(
P
j W2
jkh1
j)
p(yl = 1 | h2
) =
exp(
P
k W3
klh2
k)
P
m exp(
P
k W3
kmh2
k)
SoftMax
Deep Neural Net(DNN):
学習
24
Back Prop の問題点: 局所解の存在
DBN を初期状態として使う

(Pre-Training)
ネットワークの結合 (Unroll)
結合したネットワークを MLP として
BP 学習(Fine Tuning)h1
v
h2
y
h2
h1
RBM
RBM
SoftMax
Deep Neural Net(DNN):
MNIST への応用
25
DBNs$for$Classifica:on$
• $Aber$layerSbySlayer$unsupervised*pretraining,$discrimina:ve$fineStuning$$
by$backpropaga:on$achieves$an$error$rate$of$1.2%$on$MNIST.$SVM’s$get$
1.4%$and$randomly$ini:alized$backprop$gets$1.6%.$$
W +W
W
W
W +
W +
W +
W
W
W
W
1 11
500 500
500
2000
500
500
2000
500
2
500
RBM
500
2000
3
Pretraining Unrolling Fine tuning
4 4
2 2
3 3
1
2
3
4
RBM
10
Softmax Output
10
RBM
T
T
T
T
T
T
T
T
誤識別率

→ DNN: 1.2 %, SVM 1.4 %, MLP: 1.6 %
Deep Auto Encoder

DNN の応用
26
Deep$Autoencoders$
!
!
! !
!
!
!
!
! !
! !
! !
!
! !
! !
! !
!
!
!
!
!
!
!
"
#$$$
%&'
#
#$$$
"$$$
($$
($$
"$$$
"$$$
($$
" "
#$$$
#$$$
($$($$
"$$$
"$$$
#$$$
($$
#$$$
)
*
)
%&'
+,-.,/01012 31,455012
"$$$
%&'
6
*
6$
6$
701- .81012
* *
# #
6 6
*
)
(
6
)
9
#
)
:
"
)
;
<1=4>-,
"
#
6
6$
*
6
#
)
"
)
?4>-@5/A-,
B-=4>-,
%&'
)4C
DNN の応用

入力の自動写像
圧縮表現の生成
PreTraining に
よる効率良い学
習
DNN の応用: テキスト分類
27
Legal/JudicialLeading
Economic
Indicators
European Community
Monetary/Economic
Accounts/
Earnings
Interbank Markets
Government
Borrowings
Disasters and
Accidents
Energy Markets
Model$P(document)$
Bag$of$words$
Reuters$dataset:$804,414$$
newswire$stories:$unsupervised*
Deep$Genera:ve$Model$
(Hinton & Salakhutdinov, Science 2006)!(Hinton+ 06 より)
Deep Net
階層ベースの NN アーキテクチャ
階層部品: RBM, Convolution layer, AutoEncoder
学習方式
階層間の局所学習 (+Back Prop. などの fine-tune)
RBM 学習 (Deep Belief Net: DBN)
RBM+ Back Prop. (Deep Neural Net: DNN)
疎性の導入
Sparse AutoEncoder
28
いま何故 Deep learning なのか?
(庄野の私見)
29
30
Simple/Complex cell	

(Hubel&WIesel 59)

Linear resp. func.	

(Anzai+ 99)

201020001990198019701960
Perceptron	

(Rosenblatt 57)

Neocognitron	

(Fukushima 80)

Conv. net	

(LeCun+ 89)
 Deep learning

(Hinton+ 06)
“Linear Separable” 

(Minski & Papert 68)
Sparse Coding	

(Olshausen&Field 96)

Stochastic GD	

(Amari 67)

Boltzmann Mach.	

(HInton+85)

Back Prop.

(Rumelhart+ 86)
今ココ
第1期 第2期
NN 周辺領域の歴史的背景
Face detection	

(Viola & Jones 01)
HOG	

(Dalal&Triggs 05)
SURF	

(Bay+ 06)
SIFT	

(Lowe 99)
Conv. net	

(LeCun+ 89)

Deep learning

(Hinton+ 06)
Sparse Coding	

(Olshausen&Field 96)

NN 周辺領域の歴史的背景
31
201020001990
今ココ
SVM	

(Vapnik 95)

Boosting	

(Schapire 90)

L1-recovery

(Candes+ 06)
Bayesian Method
Bayesian net	

(Pearl 00)

Kernel Method
NN 界隈で起こったこと(90年台後半∼)
アーキテクチャ設計の難しさ for Back Prop.
隠れ素子が少なければ表現がプア
隠れ素子が多ければ過学習
機械学習法の進展
Support VectorMachine / Kernel 法
Boosting
Shallow network で十分じゃないの?的な風潮
32
Viola & Jones による顔検出
Haar Like Feature + Boosting (Viola & Jones01)
33
Haar Like Detectors
Training Samples
http://vimeo.com/12774628
SIFT による画像記述
Scale Invariant Feature Transform (Lowe99)
特徴点検出とヒストグラムにより特徴記述
回転・スケール変化に不変,照明変化に頑健
34
u
v
l
-
-
-
-
ガウシアン平滑化 ガウシアン差分画像 DoG
D( u, v, l )
2
3
4
5
1
2
3
4
極値探索
SIFT 特徴点
(キーポイント)
原画像
I( u, v )
SIFT による画像記述
Scale Invariant Feature Transform (Lowe99)
特徴点検出とヒストグラムにより特徴記述
回転・スケール変化に不変,照明変化に頑健
35
u
l
分画像 DoG
D( u, v, l )
極値探索
SIFT 特徴点
(キーポイント)
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
1 2 3 4 5 6 7 8
0
0.1
0.2
SIFT 特徴点
(キーポイント) SIFT 記述子
ヒストグラム化
特徴点周りの
勾配情報の算出
Bag of Features による画像認
識
特徴量記述量を直接識別器へ (Bag of Visual Words)(Csurka+04)
36
http://www.vision.cs.chubu.ac.jp/sift/PDF/sift_tutorial_ppt.pdf
HOG による画像記述
Histograms of Orientation Gradient (HOG) (Dalal&Triggs05)
エッジ成分の局所ヒストグラムによる表現
照明変化に頑健,大まかな領域の記述特徴
37
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
セル
ブロック
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
5 10 15
5
10
15
1 2 3 4 5 6 7 8 9
0
0.1
0.2
0.3
0.4
1 2 3 4 5 6 7 8 9
0
0.1
0.2
0.3
0.4
1 2 3 4 5 6 7 8 9
0
0.1
0.2
0.3
0.4
1 2 3 4 5 6 7 8 9
0
0.1
0.2
0.3
0.4
1 2 3 4 5 6 7 8 9
0
0.1
0.2
0.3
0.4
1 2 3 4 5 6 7 8 9
0
0.1
0.2
0.3
0.4
1 2 3 4 5 6 7 8 9
0
0.1
0.2
0.3
0.4
1 2 3 4 5 6 7 8 9
0
0.1
0.2
0.3
0.4
1 2 3 4 5 6 7 8 9
0
0.1
0.2
0.3
0.4
勾配画像 m(u, v)
セル分割
原画像 I(u,v) HOG 特徴 Vi
ブロック内の原画像
ブロック内の勾配強度画像
SVM などの

識別器
画像認識問題の NN 的解釈
画像特性(エッジ等)の特徴量構築+機械学習
Shallow Network model?
38
Input
Output
LeopardCat
Feature Detector(Haar, SIFT, HOG...)
Machine Learning (SVM, Boosting...)
部分特徴から組み合わせ特徴へ
Bag of Words からの脱却
部分特徴の組み合わせ特徴量へ (Felzenswalb+10, Divvala+12)
39
p$Models$
Hierarchical$Bayes$
CategorySbased$Hierarchy$
Marr$and$Nishihara$(1978)$
Deep$Nets$
PartSbased$Hierarchy$
(Marr&Nishihara78)
(Felzenswalb+10)
特徴抽出機構の設計
どうやって(中程度に複雑な)特徴検出器を作るか?
Token (Marr82) 的な組み合わせ
!
!
Object parts:
!
!
ハンドメイドな特徴量はしんどい→機械学習による表現獲得
40
Contnuation Coner Junction Cross
Face detection	

(Viola & Jones 01)
HOG	

(Dalal&Triggs 05)
SURF	

(Bay+ 06)
SIFT	

(Lowe 99)
Conv. net	

(LeCun+ 89)

Deep learning

(Hinton+ 06)
Sparse Coding	

(Olshausen&Field 96)

NN 周辺領域の歴史的背景
41
201020001990
今ココ
SVM	

(Vapnik 95)

Boosting	

(Schapire 90)

L1-recovery

(Candes+ 06)
Bayesian Method
Bayesian net	

(Pearl 00)

Kernel Method
Sparse Model
Sparse Model
疎表現によるデータ記述
基底ベクトルによる線形和表現
なるべく多くの係数が 0 になることを要請
42
y =
MX
i
xidi
= x1 +x2 +x3 +...
y d1 d2 d3
なるべく0に
{di} を学習で決める
疎表現によるデータ記述
43
= x1 +x2 +x3 +...
y d1 d2 d3
なるべく0に
H =
X
p
yp
X
i
xp
i di
2
+
X
i
kxp
i k1
画像をなるべく
忠実に表現
なるべく多くの
係数を 0 に (LASSO)
画像パッチ {yp} から {di} と {xi
p} を取得可能か?
Sparse Coding による特徴抽出
自然画像の Sparse coding による表現 (Olshausen&Fields96)
初期視覚野の線形応答関数(Anzai+99), Gabor Waveletに類似
自然音源の Sparse coding による表現 (Terashima&Okada12)
和音の表現
44
50 100 150 200 250 300 350 400 450 500
50
100
150
200
250
300
350
400
450
500
50 100 150 200 250 300 350 400 450 500
50
100
150
200
250
300
350
400
450
500
50 100 150 200 250 300 350 400 450 500
50
100
150
200
250
300
350
400
450
500
Slide credit: Andrew Ng
Sparse Representation for
MNIST
60K train, 10K test
Dict.size 512
Linear SVM
classification
45
H =
X
p
yp
X
i
xp
i di
2
+
X
i
kxp
i k1
Eval. Param.
Slide credit: KaiYu
Input Feature Classifier
Sparse Coding
Sparse Representation for
MNIST
λ = 5×10-4
部分的な検出器
46
H =
X
p
yp
X
i
xp
i di
2
+
X
i
kxp
i k1
Eval. Param.
Slide credit: KaiYu
Sparse Representation for
MNIST
λ = 5×10-2
部分的な数字検出器
47
H =
X
p
yp
X
i
xp
i di
2
+
X
i
kxp
i k1
Eval. Param.
Slide credit: KaiYu
Sparse Representation for
MNIST
λ = 5×10-4
VQ 表現的
48
H =
X
p
yp
X
i
xp
i di
2
+
X
i
kxp
i k1
Eval. Param.
Slide credit: KaiYu
Sparse Auto Encoder
Predictive Sparse Decomposition(Ranzato+07)
49
xp
= f(Wyp
)yp
= Dxp
Sparse Representation {xp}
Input Patchs {yp}
L1-Constraint
min
D,W,x
X
p
kyp
Dxp
k2
+ kxp
f(Wyp
)k2
+
X
i
kxp
i k
Encoder
Decoder
Sparseness + Hierarchy?
Hierarchical Sparse Coding (Yu+11)
DBN (Hinton & Salakhutdinov06)
50
Hiearchy Representation
Input Patchs {yp}
Level 2 Features
Level 1 Features
EncoderDecoder
EncoderDecoder
EncoderDecoder
Sparseness + Hierarchy?
DNN (Hinton & Salakhutdinov06)

ただし疎性をいれるために Drop-out (Hinton+12)

(でも石川&甘利の方が少し古いと思う)
51
Hiearchy Representation
Input Patchs {yp}
Level 2 Features
Level 1 Features
Encoder
Encoder
Encoder
Decoder を外せば 

NN として動作
Sparseness + Hierarchy?
DBN (Hinton & Salakhutdinov06)
52
Hiearchy Representation
Input Patchs {yp}
Level 2 Features
Level 1 Features
Decoder を動作させて

最適特徴を導出
Decoder
Decoder
Decoder
Hierarchical CNN +
Sparse Coding
Sparse coding を用いた階層型識別器(Yu+11, Zeiler+11)
53
Sparse Coding
2nd Layer の基底
回転,並進に対応
Convolutions
Subsampling
Convolutions
Subsampling
Deep learning事例:
画像特徴の教師なし学習
12層 DNN
パラメータ数 ∼1010
教師なし学習による自動特徴抽出
入力: YouTube の画像 108 枚
16 core PC x 103 台 x 3日間
「おばあさん細胞」生成か?
54
Le et al. ICML 2012
Preferred Stimuli in Higher level cellExamples of Training images
本日のまとめ
Boltzmann Machine ベースの Deep Learning
RBM の階層化 → Deep Belief Net (DBN)
DBN + BackProp. → Deep Neural Net (DNN)
その他 Deep Boltzmann Machine (DBM) や,
Convolutional Deep Belief Net (CDBN) など
Greedy な Layer-wise の学習方式,疎性などの概念
RBMの学習 (MCMC, Contrastive Divergence…)
Sparse-AutoEncoder
55
まとめ
Deep Learning の発想は古くから存在
ネットワークのアーキテクチャと学習,双方が重要
Deep Learning は何故流行っているか?
Shallow network の性能飽和
Hand-maid Feature detector の難しさ

Sparse Modeling の導入による学習方式の確立
計算機性能の向上による可能性の供給

所謂ビッグデータの到来による需要
56
まとめ(contd.)
細かい部分は(多分まだ)職人芸を必要とする.
Sparseness の設定,データに応じた素子の個数設定

データからのλの推定
認識性能の向上→deep化→過学習怖い→CrossValidation

→更なる計算性能の要求 

設計スキームの一般化 (libsvm 的な何か?)は多分必要
特徴学習・表現学習の期待
Semi-supervised learning

ラベル付データのコストが高い分野は割りとありそう
マルチデバイスの統合など,イメージフュージョン
57

20140726.西野研セミナー

  • 1.
  • 2.
    2 Simple/Complex cell (Hubel&WIesel 59)
 Linearresp. func. (Anzai+ 99)
 201020001990198019701960 Perceptron (Rosenblatt 57)
 Neocognitron (Fukushima 80)
 Conv. net (LeCun+ 89)
 Deep learning
 (Hinton+ 06) “Linear Separable” 
 (Minski & Papert 68) Sparse Coding (Olshausen&Field 96)
 Stochastic GD (Amari 67)
 Boltzmann Mach. (HInton+85)
 Back Prop.
 (Rumelhart+ 86) 今ココ 第1期 第2期 Neural network (NN) 歴史的背景
  • 3.
    3 Simple/Complex cell (Hubel&WIesel 59)
 Linearresp. func. (Anzai+ 99)
 201020001990198019701960 Perceptron (Rosenblatt 57)
 Neocognitron (Fukushima 80)
 Conv. net (LeCun+ 89)
 Deep learning
 (Hinton+ 06) “Linear Separable” 
 (Minski & Papert 68) Sparse Coding (Olshausen&Field 96)
 Stochastic GD (Amari 67)
 Boltzmann Mach. (HInton+85)
 Back Prop.
 (Rumelhart+ 86) 今ココ 第1期 第2期 Neural network (NN) 歴史的背景
  • 4.
  • 5.
    Boltzmann Machine (Hinton+ 85) 確率型素子 隠れ素子h と可視素子 v 相互結合型アーキテクチャ 対数尤度最大化による学習 ! 出来ること: パターンの生成,模倣
 確率分布のエミュレート 5 h v v1: v2: v3: p(v) に基づきパターン生成 学習パターン v:
  • 6.
    Boltzmann Machine: 
 アーキテクチャ 確率モデル ! ! エネルギー関数 同時分布 6 h v vi= { 1, +1}, hj = { 1, +1} u = v h ! p(h, v) = 1 Z(W) exp( H(h, v)) Z(W) = X h,v exp( H(h, v)) (Boltzmann 分布) H(h, v) = uT Wu
  • 7.
    Boltzmann Machine: 
 学習モデル 対数尤度最大化 7 h v 対数尤度 対数尤度の勾配を用いた最大化 W(p) ij= W(p 1) i j + ⌘ @ ln p(v(p) ) @Wij ln p(v(p) ) = ln X h exp( H(h, v(p) )) ln Z(W) @ ln p(v) @Wi j = D uiuj E cramp D uiuj E free MCMC 法による期待値→ 恐ろしく時間がかかる
  • 8.
    Restricted Boltzmann Machine(RBM): アーキテクチャ BMで恐ろしく時間がかかる理由 →結合数が多すぎること 隠れ層と可視層とを階層構造と 考え,層内結合を撤廃
 → RBM 何ということでしょう.
 素子が条件付き独立に! 8 h v H(h, v) = X i,j hjWi jvi p(h | v) = Y j p(hj | v) = Y j exp(hj P i Wi jvi) 2 cosh( P i Wijvi) p(v | h) = Y i p(vi | h) = Y i exp(vi P j Wi jhj) 2 cosh( P j Wi jhj)
  • 9.
    関数 exp( ±u) / 2 cosh( u ) に関して 
 あまり見かけない表記だがシグモイド関数である ! この表記だと hj = ±1 の値によらない表記で,計算に 便利なので(統計)物理屋さんが好む. 補足 9 exp(hju) 2 cosh(u) = exp(+u) exp(+u) + exp( u) = 1 1 + exp( 2u) where hj=1
  • 10.
    Restricted Boltzmann Machine(RBM): 学習モデル 10 h v 対数尤度最大化 対数尤度と勾配を用いた最大化 lnp(v(p) ) = ln X h exp( H(h, v(p) )) ln Z(W) W(p) i j = W(p 1) i j + ⌘ @ ln p(v(p) ) @Wi j @ ln p(v) @Wij = D hjvi E cramp D hjvi E free ほぼ一撃計算 vi tanh( X i Wijvi) MCMC だけど 10回ぐらいでいいよね? (Hinton 00)
  • 11.
    Restricted Boltzmann Machine(RBM): 応用先 11 h v RBMの応用先 自然画像 (Salakhudinov+ 07) 文書 (Salakhudinov+ 10, ) 協調フィルタ(Salakhudinov+ 07) 運動検出(Taylor+ 07) 音声特徴抽出(Dahl+ 10, Lee+ 10) Images$&$Video$ Rela:onal$Data/$$ Social$Network$ Massive$increase$in$both$computa:onal$power$and$the$amount$of$ data$available$from$web,$video$cameras,$laboratory$measurements.$ Mining$for$Structure$ Speech$&$Audio$ Gene$Expression$ Text$&$Language$$ Geological$Data$ Product$$ Recommenda:on$ Climate$Change$ Mostly$Unlabeled$ • $Develop$sta:s:cal$models$that$can$discover$underlying$structure,$cause,$or$ sta:s:cal$correla:on$from$data$in$unsupervised*or$semi,supervised*way.$$ • $Mul:ple$applica:on$domains.$ Salkahudinov+14 から拝借
  • 12.
    12 Simple/Complex cell (Hubel&WIesel 59)
 Linearresp. func. (Anzai+ 99)
 201020001990198019701960 Perceptron (Rosenblatt 57)
 Neocognitron (Fukushima 80)
 Conv. net (LeCun+ 89)
 Deep learning
 (Hinton+ 06) “Linear Separable” 
 (Minski & Papert 68) Sparse Coding (Olshausen&Field 96)
 Stochastic GD (Amari 67)
 Boltzmann Mach. (HInton+85)
 Back Prop.
 (Rumelhart+ 86) 今ココ 第1期 第2期 Neural network (NN) 歴史的背景
  • 13.
  • 14.
    p(v | h1 )= Y i p(vi | h1 ) Sigmoid Belief net Deep Belief Net(DBN): アーキテクチャ 14 RBM は単層モデル (結構成功はしている) 隠れ層の表現をさらに RBM で
 学習する機械を考えてみよう! 学習後の下層はパターン生成器として 働く(Sigmoid Belief net) h1 v h2 RBM Sigmoid Belief net p(v, h1 , h2 ) = p(v | h1 )p(h1 , h2 ) RBM p(h1 , h2 ) = 1 Z(W2) exp( X j,k h2 kW2 jkh1 j)
  • 15.
    Deep Belief Net(DBN): 学習モデル 15 DBNの学習は,階層ごとのRBM学習 (Greedy Layer-wise Learning) 第1層: 勾配法による対数尤度最大化 h1 v RBM @ ln p(v) @W1 ij = D vihj E cramp D vihj E free ln p(v(p) ) = X i,j h1 jW1 i jv(p) i ln Z(W1 )
  • 16.
    Deep Belief Net(DBN): 学習モデル 16 DBNの学習は,階層ごとのRBM学習 (Greedy Layer-wise Learning) 第1層学習後,p(h1 | v) に基づき
 サンプル {h1(p)} を収集 第2層: 勾配法による対数尤度最大化 h1 v h2 RBM Sigmoid Belief net @ ln p(h1 ) @W2 jk = D h1 jh2 k E cramp D h1 jh2 k E free ln p(h1(p) ) = X j,k h2 kW2 jkh1 j (p) ln Z(W2 )
  • 17.
    Deep Belief Net(DBN): サンプリング 17 DBNによるサンプリング 最上位層 ( p(h1 , h2 ) )の Gibbs サンプリング,h1 のサンプルを生成 得られた表現 h1 を 下層の Sigmoid Belief Net へ投入,p(v | h1 ) により v のサンプルを生成 h1 v h2 RBM Sigmoid Belief net h2 h2 h2 h1 h1 h1 v
  • 18.
    Deep Belief Net(DBN): MNISTを使った場合 18 MNIST を用いたDBNの 学習 高位層では,より大まかな 特徴抽出器として振る舞う h1 v h2 RBM Sigmoid Belief net Learned Features (Salakhudinov13, 14 より)
  • 19.
    Convolution Net +Deep Belief Net(CDBN): 自然画像への適用 19 Convolution net + DBN の自然画像への応用(Lee+09) Learning Part based Representation Convolutional DBN Faces Trained on face images. Object Parts Groups of parts. Lee et.al., ICML 2009
  • 20.
    Convolution Net +Deep Belief Net(CDBN): 自然画像への適用 20 Convolution net + DBN の自然画像への応用(Lee+09) Learning Part based Representation Faces Cars Elephants Chairs Lee et.al., ICML 2009
  • 21.
  • 22.
    MLP における BackProp. 22 過学習問題 訓練誤差 汎化誤差 勾配情報の拡散 識別器だけなら上位層で実現可能 全体のトレーニングは難しい 全結合型 NN で顕著 データに対してパラメータ数が過多 O(Mk Mk+1 )
  • 23.
    Deep Neural Net(DNN): アーキテクチャ 23 DBNの構造 MLP の構造 識別モデルとして使ったら? h1 v h2 p(h1 j | v) = exp(h1 j P i W1 i jvi) 2 cosh( P i W1 i jvi) y p(h2 k | h1 ) = exp(h2 k P j W2 jkh1 j) 2 cosh( P j W2 jkh1 j) p(yl = 1 | h2 ) = exp( P k W3 klh2 k) P m exp( P k W3 kmh2 k) SoftMax
  • 24.
    Deep Neural Net(DNN): 学習 24 BackProp の問題点: 局所解の存在 DBN を初期状態として使う
 (Pre-Training) ネットワークの結合 (Unroll) 結合したネットワークを MLP として BP 学習(Fine Tuning)h1 v h2 y h2 h1 RBM RBM SoftMax
  • 25.
    Deep Neural Net(DNN): MNISTへの応用 25 DBNs$for$Classifica:on$ • $Aber$layerSbySlayer$unsupervised*pretraining,$discrimina:ve$fineStuning$$ by$backpropaga:on$achieves$an$error$rate$of$1.2%$on$MNIST.$SVM’s$get$ 1.4%$and$randomly$ini:alized$backprop$gets$1.6%.$$ W +W W W W + W + W + W W W W 1 11 500 500 500 2000 500 500 2000 500 2 500 RBM 500 2000 3 Pretraining Unrolling Fine tuning 4 4 2 2 3 3 1 2 3 4 RBM 10 Softmax Output 10 RBM T T T T T T T T 誤識別率
 → DNN: 1.2 %, SVM 1.4 %, MLP: 1.6 %
  • 26.
    Deep Auto Encoder
 DNNの応用 26 Deep$Autoencoders$ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " #$$$ %&' # #$$$ "$$$ ($$ ($$ "$$$ "$$$ ($$ " " #$$$ #$$$ ($$($$ "$$$ "$$$ #$$$ ($$ #$$$ ) * ) %&' +,-.,/01012 31,455012 "$$$ %&' 6 * 6$ 6$ 701- .81012 * * # # 6 6 * ) ( 6 ) 9 # ) : " ) ; <1=4>-, " # 6 6$ * 6 # ) " ) ?4>-@5/A-, B-=4>-, %&' )4C DNN の応用
 入力の自動写像 圧縮表現の生成 PreTraining に よる効率良い学 習
  • 27.
    DNN の応用: テキスト分類 27 Legal/JudicialLeading Economic Indicators EuropeanCommunity Monetary/Economic Accounts/ Earnings Interbank Markets Government Borrowings Disasters and Accidents Energy Markets Model$P(document)$ Bag$of$words$ Reuters$dataset:$804,414$$ newswire$stories:$unsupervised* Deep$Genera:ve$Model$ (Hinton & Salakhutdinov, Science 2006)!(Hinton+ 06 より)
  • 28.
    Deep Net 階層ベースの NNアーキテクチャ 階層部品: RBM, Convolution layer, AutoEncoder 学習方式 階層間の局所学習 (+Back Prop. などの fine-tune) RBM 学習 (Deep Belief Net: DBN) RBM+ Back Prop. (Deep Neural Net: DNN) 疎性の導入 Sparse AutoEncoder 28
  • 29.
    いま何故 Deep learningなのか? (庄野の私見) 29
  • 30.
    30 Simple/Complex cell (Hubel&WIesel 59)
 Linearresp. func. (Anzai+ 99)
 201020001990198019701960 Perceptron (Rosenblatt 57)
 Neocognitron (Fukushima 80)
 Conv. net (LeCun+ 89)
 Deep learning
 (Hinton+ 06) “Linear Separable” 
 (Minski & Papert 68) Sparse Coding (Olshausen&Field 96)
 Stochastic GD (Amari 67)
 Boltzmann Mach. (HInton+85)
 Back Prop.
 (Rumelhart+ 86) 今ココ 第1期 第2期 NN 周辺領域の歴史的背景
  • 31.
    Face detection (Viola &Jones 01) HOG (Dalal&Triggs 05) SURF (Bay+ 06) SIFT (Lowe 99) Conv. net (LeCun+ 89)
 Deep learning
 (Hinton+ 06) Sparse Coding (Olshausen&Field 96)
 NN 周辺領域の歴史的背景 31 201020001990 今ココ SVM (Vapnik 95)
 Boosting (Schapire 90)
 L1-recovery
 (Candes+ 06) Bayesian Method Bayesian net (Pearl 00)
 Kernel Method
  • 32.
    NN 界隈で起こったこと(90年台後半∼) アーキテクチャ設計の難しさ forBack Prop. 隠れ素子が少なければ表現がプア 隠れ素子が多ければ過学習 機械学習法の進展 Support VectorMachine / Kernel 法 Boosting Shallow network で十分じゃないの?的な風潮 32
  • 33.
    Viola & Jonesによる顔検出 Haar Like Feature + Boosting (Viola & Jones01) 33 Haar Like Detectors Training Samples http://vimeo.com/12774628
  • 34.
    SIFT による画像記述 Scale InvariantFeature Transform (Lowe99) 特徴点検出とヒストグラムにより特徴記述 回転・スケール変化に不変,照明変化に頑健 34 u v l - - - - ガウシアン平滑化 ガウシアン差分画像 DoG D( u, v, l ) 2 3 4 5 1 2 3 4 極値探索 SIFT 特徴点 (キーポイント) 原画像 I( u, v )
  • 35.
    SIFT による画像記述 Scale InvariantFeature Transform (Lowe99) 特徴点検出とヒストグラムにより特徴記述 回転・スケール変化に不変,照明変化に頑健 35 u l 分画像 DoG D( u, v, l ) 極値探索 SIFT 特徴点 (キーポイント) 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 1 2 3 4 5 6 7 8 0 0.1 0.2 SIFT 特徴点 (キーポイント) SIFT 記述子 ヒストグラム化 特徴点周りの 勾配情報の算出
  • 36.
    Bag of Featuresによる画像認 識 特徴量記述量を直接識別器へ (Bag of Visual Words)(Csurka+04) 36 http://www.vision.cs.chubu.ac.jp/sift/PDF/sift_tutorial_ppt.pdf
  • 37.
    HOG による画像記述 Histograms ofOrientation Gradient (HOG) (Dalal&Triggs05) エッジ成分の局所ヒストグラムによる表現 照明変化に頑健,大まかな領域の記述特徴 37 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 セル ブロック 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 1 2 3 4 5 6 7 8 9 0 0.1 0.2 0.3 0.4 1 2 3 4 5 6 7 8 9 0 0.1 0.2 0.3 0.4 1 2 3 4 5 6 7 8 9 0 0.1 0.2 0.3 0.4 1 2 3 4 5 6 7 8 9 0 0.1 0.2 0.3 0.4 1 2 3 4 5 6 7 8 9 0 0.1 0.2 0.3 0.4 1 2 3 4 5 6 7 8 9 0 0.1 0.2 0.3 0.4 1 2 3 4 5 6 7 8 9 0 0.1 0.2 0.3 0.4 1 2 3 4 5 6 7 8 9 0 0.1 0.2 0.3 0.4 1 2 3 4 5 6 7 8 9 0 0.1 0.2 0.3 0.4 勾配画像 m(u, v) セル分割 原画像 I(u,v) HOG 特徴 Vi ブロック内の原画像 ブロック内の勾配強度画像 SVM などの
 識別器
  • 38.
    画像認識問題の NN 的解釈 画像特性(エッジ等)の特徴量構築+機械学習 ShallowNetwork model? 38 Input Output LeopardCat Feature Detector(Haar, SIFT, HOG...) Machine Learning (SVM, Boosting...)
  • 39.
    部分特徴から組み合わせ特徴へ Bag of Wordsからの脱却 部分特徴の組み合わせ特徴量へ (Felzenswalb+10, Divvala+12) 39 p$Models$ Hierarchical$Bayes$ CategorySbased$Hierarchy$ Marr$and$Nishihara$(1978)$ Deep$Nets$ PartSbased$Hierarchy$ (Marr&Nishihara78) (Felzenswalb+10)
  • 40.
    特徴抽出機構の設計 どうやって(中程度に複雑な)特徴検出器を作るか? Token (Marr82) 的な組み合わせ ! ! Objectparts: ! ! ハンドメイドな特徴量はしんどい→機械学習による表現獲得 40 Contnuation Coner Junction Cross
  • 41.
    Face detection (Viola &Jones 01) HOG (Dalal&Triggs 05) SURF (Bay+ 06) SIFT (Lowe 99) Conv. net (LeCun+ 89)
 Deep learning
 (Hinton+ 06) Sparse Coding (Olshausen&Field 96)
 NN 周辺領域の歴史的背景 41 201020001990 今ココ SVM (Vapnik 95)
 Boosting (Schapire 90)
 L1-recovery
 (Candes+ 06) Bayesian Method Bayesian net (Pearl 00)
 Kernel Method Sparse Model Sparse Model
  • 42.
  • 43.
    疎表現によるデータ記述 43 = x1 +x2+x3 +... y d1 d2 d3 なるべく0に H = X p yp X i xp i di 2 + X i kxp i k1 画像をなるべく 忠実に表現 なるべく多くの 係数を 0 に (LASSO) 画像パッチ {yp} から {di} と {xi p} を取得可能か?
  • 44.
    Sparse Coding による特徴抽出 自然画像のSparse coding による表現 (Olshausen&Fields96) 初期視覚野の線形応答関数(Anzai+99), Gabor Waveletに類似 自然音源の Sparse coding による表現 (Terashima&Okada12) 和音の表現 44 50 100 150 200 250 300 350 400 450 500 50 100 150 200 250 300 350 400 450 500 50 100 150 200 250 300 350 400 450 500 50 100 150 200 250 300 350 400 450 500 50 100 150 200 250 300 350 400 450 500 50 100 150 200 250 300 350 400 450 500 Slide credit: Andrew Ng
  • 45.
    Sparse Representation for MNIST 60Ktrain, 10K test Dict.size 512 Linear SVM classification 45 H = X p yp X i xp i di 2 + X i kxp i k1 Eval. Param. Slide credit: KaiYu Input Feature Classifier Sparse Coding
  • 46.
    Sparse Representation for MNIST λ= 5×10-4 部分的な検出器 46 H = X p yp X i xp i di 2 + X i kxp i k1 Eval. Param. Slide credit: KaiYu
  • 47.
    Sparse Representation for MNIST λ= 5×10-2 部分的な数字検出器 47 H = X p yp X i xp i di 2 + X i kxp i k1 Eval. Param. Slide credit: KaiYu
  • 48.
    Sparse Representation for MNIST λ= 5×10-4 VQ 表現的 48 H = X p yp X i xp i di 2 + X i kxp i k1 Eval. Param. Slide credit: KaiYu
  • 49.
    Sparse Auto Encoder PredictiveSparse Decomposition(Ranzato+07) 49 xp = f(Wyp )yp = Dxp Sparse Representation {xp} Input Patchs {yp} L1-Constraint min D,W,x X p kyp Dxp k2 + kxp f(Wyp )k2 + X i kxp i k Encoder Decoder
  • 50.
    Sparseness + Hierarchy? HierarchicalSparse Coding (Yu+11) DBN (Hinton & Salakhutdinov06) 50 Hiearchy Representation Input Patchs {yp} Level 2 Features Level 1 Features EncoderDecoder EncoderDecoder EncoderDecoder
  • 51.
    Sparseness + Hierarchy? DNN(Hinton & Salakhutdinov06)
 ただし疎性をいれるために Drop-out (Hinton+12)
 (でも石川&甘利の方が少し古いと思う) 51 Hiearchy Representation Input Patchs {yp} Level 2 Features Level 1 Features Encoder Encoder Encoder Decoder を外せば 
 NN として動作
  • 52.
    Sparseness + Hierarchy? DBN(Hinton & Salakhutdinov06) 52 Hiearchy Representation Input Patchs {yp} Level 2 Features Level 1 Features Decoder を動作させて
 最適特徴を導出 Decoder Decoder Decoder
  • 53.
    Hierarchical CNN + SparseCoding Sparse coding を用いた階層型識別器(Yu+11, Zeiler+11) 53 Sparse Coding 2nd Layer の基底 回転,並進に対応 Convolutions Subsampling Convolutions Subsampling
  • 54.
    Deep learning事例: 画像特徴の教師なし学習 12層 DNN パラメータ数∼1010 教師なし学習による自動特徴抽出 入力: YouTube の画像 108 枚 16 core PC x 103 台 x 3日間 「おばあさん細胞」生成か? 54 Le et al. ICML 2012 Preferred Stimuli in Higher level cellExamples of Training images
  • 55.
    本日のまとめ Boltzmann Machine ベースのDeep Learning RBM の階層化 → Deep Belief Net (DBN) DBN + BackProp. → Deep Neural Net (DNN) その他 Deep Boltzmann Machine (DBM) や, Convolutional Deep Belief Net (CDBN) など Greedy な Layer-wise の学習方式,疎性などの概念 RBMの学習 (MCMC, Contrastive Divergence…) Sparse-AutoEncoder 55
  • 56.
    まとめ Deep Learning の発想は古くから存在 ネットワークのアーキテクチャと学習,双方が重要 DeepLearning は何故流行っているか? Shallow network の性能飽和 Hand-maid Feature detector の難しさ
 Sparse Modeling の導入による学習方式の確立 計算機性能の向上による可能性の供給
 所謂ビッグデータの到来による需要 56
  • 57.
    まとめ(contd.) 細かい部分は(多分まだ)職人芸を必要とする. Sparseness の設定,データに応じた素子の個数設定
 データからのλの推定 認識性能の向上→deep化→過学習怖い→CrossValidation
 →更なる計算性能の要求 
 設計スキームの一般化(libsvm 的な何か?)は多分必要 特徴学習・表現学習の期待 Semi-supervised learning
 ラベル付データのコストが高い分野は割りとありそう マルチデバイスの統合など,イメージフュージョン 57