This is talk slide at Nagoya Univ. on Dec., 08, 2014. This slides includes some history of neural networks, percetpron, error backpropagation, neocognitron, and convolution net. Also I talk a few topics about sparse coding in the deep architeture
13. Perceptronの学習: 誤り訂正学習
Hebb 学習則
教師 t と出力 y の関係により w を修正
w
目標{xn, tn} が与えられたとき y(xn) = tn としたい
正解 tn と答え yn が不一致のときのみパラメータを修正
!
解が存在する場合,正しい解に収束する→デモ
13
t
x y
21. Multi Layer Perceptron の
アーキテクチャ
21
tk
yk
k
j
wkj
i
出力層 y
隠れ層 z
wji 入力層 x
Multi Layer Perceptron(MLP) アーキテクチャ
隠れ層を持つ
信号の処理方向は一方向のみ
教師あり学習 {xn, tn} → {w(1)ji, w(2)kj}
24. Back Propagation の連鎖則
kwk j i
24
tk
yk
k
j
wkj
j = f 0(uj)
X
k
wji
j
勾配の連鎖則
確率的降下法(Stochastic GD, Amari 67)
1サンプル毎は非効率↔全サンプルの平均勾配(Batch)は困難
mini Batch: 数個~100個程度の平均勾配
準ニュートン法や,共益勾配法 (Le+11)
30. 初期視覚野の性質
Input Stimulus
Input Stimulus
Input Stimulus
Input Stimulus
線分やエッジなどの成分に反応
Simple cell: 方位,位相に敏感
Complex cell: 位相には許容的
30
Simple Cell
Phase Sensitive
Orientation Selective
Receptive Field
Not Fire Fire Not Fire
Complex Cell Phase Insensitive
Receptive Field
Fire Fire Not Fire
V1
V2
V4
CIT PIT
Ventral Pathway
AIT
TEO
TE
IT
V4
V2
V1
Large receptive field
Face, Complex feature
detector
?
?
Small receptive field
Edge, Line segment
detector
Simple Cell
Phase Sensitive
Orientation Selective
Receptive Field
Not Fire Fire Not Fire
Complex Cell Phase Insensitive
Receptive Field
Fire Fire Not Fire
31. Hubel-Wiesel 階層仮説
Input Stimulus
Input Stimulus
Simple Cell の出力合成で,
Complex cell は説明可能
(Hubel Wiesel 59)
31
Simple Cell
Phase Sensitive
Orientation Selective
Receptive Field
Not Fire Fire Not Fire
Complex Cell Phase Insensitive
Receptive Field
Fire Fire Not Fire
47. Boltzmann Machine
(Hinton+ 85)
確率型素子
隠れ素子 h と可視素子 v
相互結合型アーキテクチャ
対数尤度最大化による学習
!
出来ること: パターンの生成,模倣
確率分布のエミュレート
47
h
v
学習パターン
v1:
v2:
v3:
p(v) に基づきパターン生成
v:
48. Boltzmann Machine:
アーキテクチャ
確率モデル
!
!
エネルギー関数
同時分布
48
h
v
vi = {1, +1}, hj = {1, +1}
u =
v
h
!
H(h, v) = uTWu
(Boltzmann 分布)
p(h, v) =
1
Z(W)
exp(H(h, v))
Z(W) =
X
h,v
exp(H(h, v))
49. Boltzmann Machine:
学習モデル
対数尤度最大化
49
h
v
対数尤度
対数尤度の勾配を用いた最大化
W(p)
i j = W(p1)
i j + ⌘
@ ln p(v(p))
@Wi j
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 法による期待値→ 恐ろしく時間がかかる
50. Restricted Boltzmann Machine(RBM):
アーキテクチャ
BM で恐ろしく時間がかかる理由
→結合数が多すぎること
隠れ層と可視層とを階層構造と
考え,層内結合を撤廃
→ RBM
何ということでしょう.
素子が条件付き独立に!
50
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)
P
i Wi jvi)
2 cosh(
p(v | h) =
Y
i
p(vi | h) =
Y
i
exp(vi
P
j Wi jhj)
P
2 cosh(
j Wi jhj)
52. Restricted Boltzmann Machine(RBM):
学習モデル
52
h
v
対数尤度最大化
対数尤度と勾配を用いた最大化
ln p(v(p)) = ln
X
h
exp(H(h, v(p))) ln Z(W)
W(p)
i j = W(p1)
i j + ⌘
@ ln p(v(p))
@Wi j
@ ln p(v)
@Wi j
=
D
hjvi
E
cramp
D
hjvi
E
free
ほぼ一撃計算
X
vi tanh(
i
Wi jvi)
MCMC だけど
10回ぐらいでいいよね?
(Hinton 00)
56. Deep Belief Net(DBN):
p(v | h1) =
Y
i
アーキテクチャ
Sigmoid
Belief net
p(vi | h1)
56
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)
X
exp(
j,k
h2k
W2
jkh1j
)
57. Deep Belief Net(DBN):
学習モデル
DBN の学習は,階層ごとのRBM学習
(Greedy Layer-wise Learning)
第1層: 勾配法による対数尤度最大化h1
57
v
RBM
@ ln p(v)
@W1
i j
=
D
vihj
E
cramp
D
vihj
E
free
ln p(v(p)) =
X
i, j
h1j
W1
i jv(p)
i ln Z(W1)
58. Deep Belief Net(DBN):
学習モデル
58
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
h1j
h2k
E
cramp
D
h1j
h2k
E
free
ln p(h1(p)) =
X
j,k
h2k
W2
jkh1j
(p) ln Z(W2)
59. Deep Belief Net(DBN):
サンプリング
59
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
60. Deep Belief Net(DBN):
MNIST を使った場合
60
MNIST を用いたDBNの
学習
高位層では,より大まかな
特徴抽出器として振る舞う
h1
v
h2
RBM
Sigmoid
Belief net
LearnedFeatures
(Salakhudinov13, 14 より)
64. MLP における Back Prop.
過学習問題
訓練誤差 ≫ 汎化誤差
勾配情報の拡散
識別器だけなら上位層で実現可能
全体のトレーニングは難しい
全結合型 NN で顕著
データに対してパラメータ数が過多
64
O(Mk Mk+1 )
65. Deep Neural Net(DNN):
アーキテクチャ
65
DBN の構造↔ MLP の構造
識別モデルとして使ったら?
h1
v
h2
p(h1j
| v) =
exp(h1j
P
i W1
i jvi)
P
i W1
2 cosh(
i jvi)
y
p(h2k
| h1) =
exp(h2k
P
j W2
jkh1j
)
P
2 cosh(
j W2
jkh1j
)
p(yl = 1 | h2) =
P
k W3
exp(
klh2k
)
P
m exp(
P
k W3
kmh2k
)
SoftMax
66. Deep Neural Net(DNN):
学習
66
Back Prop の問題点: 局所解の存在
DBN を初期状態として使う
(Pre-Training)
ネットワークの結合 (Unroll)
結合したネットワークを MLP として
y
SoftMax
RBM
h1 BP 学習(Fine Tuning)
v
h2
h2
h1
RBM
67. Deep Neural Net(DNN):
MNIST への応用
67
DBNs$for$Classifica:on$
2000
W
500
3
W
T
W +
10
2000
4 4
T
W +
500
3 3
T
W +
Softmax Output
T
W
10
2000
T
W
500
T
W
500
500
2
RBM
RBM
500 500
500
2 2
4
3
2
T
T
W W
W +
1 1 1
1
RBM
Pretraining Unrolling Finetuning
誤識別率
→ DNN: 1.2 %, SVM 1.4 %, MLP: 1.6 %
• $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%.$$
• $Clearly$unsupervised$learning$helps$generaliza:on.$It$ensures$that$most$of$
72. NN 周辺領域の歴史的背景
1960 1970 1980 1990 2000 2010
Back Prop.
(Rumelhart+ 86)
72
Simple/Complex cell
(HubelWIesel 59)
Linear resp. func.
(Anzai+ 99)
Perceptron
(Rosenblatt 57)
Neocognitron
(Fukushima 80)
Conv. net
(LeCun+ 89)
Deep learning
(Hinton+ 06)
“Linear Separable”
(Minski Papert 68)
Sparse Coding
(OlshausenField 96)
Stochastic GD
(Amari 67)
Boltzmann Mach.
(HInton+85)
今ココ
第1期第2期
73. NN 周辺領域の歴史的背景
Internet 普及開始Google Facebook Twitter
1990 2000 2010
Bayesian net
(Pearl 00)
Face detection
(Viola Jones 01)
HOG
(DalalTriggs 05)
SURF
(Bay+ 06)
SIFT
(Lowe 99)
Conv. net
(LeCun+ 89)
Deep learning
(Hinton+ 06)
Sparse Coding
(OlshausenField 96)
73
今ココ
SVM
(Vapnik 95)
Boosting
(Schapire 90)
L1-recovery
(Candes+ 06)
Bayesian Method
Kernel Method
74. NN 界隈で起こったこと(90年台後半~)
アーキテクチャ設計の難しさ for Back
Prop.
中間層が少なければ表現がプア
中間層が多ければ過学習
(訓練誤差 ≫ 汎化誤差)
勾配情報の拡散
識別器だけなら上位層で実現可能
全体のトレーニングは難しい
データに対してパラメータ数が過多
(全結合型 NN で顕著)
74
85. 疎表現によるデータ記述
= x1 +x2 +x3 +...
y d1 d2 d3
85
なるべく0に
H =
X
p
yp −
X
i
xp
i di
2
+
X
i kxp
i k1
画像をなるべく
忠実に表現
なるべく多くの
係数を 0 に (LASSO)
画像パッチ {yp} から {di} と {xip} を取得可能か?
87. Sparse Representation for
MNIST
60K train, 10K test
Dict.size 512
Linear SVM
classification
H =
Input Feature Classifier
Sparse Coding
87
X
p
yp −
X
i
xp
i di
2
+
X
i kxp
i k1
Eval. Param.
Slide credit: Kai Yu
88. Sparse Representation for
MNIST
λ = 5×10-4
部分的な検出器
88
H =
X
p
yp −
X
i
xp
i di
2
+
X
i kxp
i k1
Eval. Param.
Slide credit: Kai Yu
89. Sparse Representation for
MNIST
λ = 5×10-2
部分的な数字検出器
89
H =
X
p
yp −
X
i
xp
i di
2
+
X
i kxp
i k1
Eval. Param.
Slide credit: Kai Yu
90. Sparse Representation for
MNIST
λ = 5×10-4
VQ 表現的
90
H =
X
p
yp −
X
i
xp
i di
2
+
X
i kxp
i k1
Eval. Param.
Slide credit: Kai Yu
91. Sparse Auto Encoder
Predictive Sparse Decomposition(Ranzato+07)
Sparse Representation {xp}
yp = Dxp xp = f (Wyp)
Input Patchs {yp}
91
L1-Constraint
min
D,W,x
X
p kyp − Dxpk2 + kxp − f (Wyp)k2 +
X
i kxp
i k
Encoder
Decoder
96. Deep learning事例:
画像特徴の教師なし学習
12層 DNN
パラメータ数 ~1010
教師なし学習による自動特徴抽出
入力: YouTube の画像 108 枚
16 core PC x 103 台 x 3日間
「おばあさん細胞」生成か?
96
Le et al. ICML 2012
Preferred Examples of Training images Stimuli in Higher level cell