SlideShare a Scribd company logo
1 of 101
Download to read offline
ディープラーニング 
階層型 Neural Net の温故知新 
2014/12/08 
電気通信大学 大学院情報理工学研究科 
庄野 逸: shouno@uec.ac.jp 
http://www.slideshare.net/HAL9801 
1
Neural network (NN) 歴史的背景 
1960 1970 1980 1990 2000 2010 
Back Prop. 
(Rumelhart+ 86) 
2 
Simple/Complex cell 
(Hubel&WIesel 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 
(Olshausen&Field 96) 
Stochastic GD 
(Amari 67) 
Boltzmann Mach. 
(HInton+85) 
今ココ 
第1期第2期
Neural net (NN)の基礎知識 
基本素子 
ネットワークアーキテクチャ 
学習 
3
McCulloch-Pitts 素子モデル(1) 
最初の数理的ニューロンモデル (McCulloch&Pitts 43) 
入力は線形重ねあわせ 
活性化関数 f(・): 閾値制御 
4 
x y 1 y 
x2 
u 
Σ u 
θ 
w1 
w2
McCulloch-Pits 素子モデル(2) 
モデルパラメータ {w, θ} の変更→様々な論理素子 
5 
x y 1 y 
x2 
u 
Σ u 
θ 
w1 
w2 
w w θ 
AND 1 1 1.5 
OR 1 1 0.5 
NAND -1 -1 -1.5
現代のNN の基本素子 
y 
y 
入力の線形和 
非線形活性化関数 
Logistic-Sigmoid 
Rectified Linear 
Hyperbolic Tangent, etc... 
6 
y1 
y3 
x1 
x2 
x3 
y2 
z2 
u 
X3 
uj = f (u) 
i=1 
wjixi + bj 
yj = f 
⇣ 
uj 
⌘
Architecture 
ニューラルネットワークアーキテクチャ 
階層型(今回のメインはこっち) 
相互結合型 
7 
Output 
Input
x y 1 y 
x2 
u 
Σ u 
θ 
w1 
w2 
NN の学習とは? 
モデルパラメータ {w, θ} で振る舞いが変化 
モデルパラメータをデータから決定する→学習 
8 
w w θ 
AND 1 1 1.5 
OR 1 1 0.5 
NAND -1 -1 -1.5
Neural network (NN) 歴史的背景 
1960 1970 1980 1990 2000 2010 
Back Prop. 
(Rumelhart+ 86) 
9 
Simple/Complex cell 
(Hubel&WIesel 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 
(Olshausen&Field 96) 
Stochastic GD 
(Amari 67) 
Boltzmann Mach. 
(HInton+85) 
今ココ 
第1期第2期
Perceptron 
(Rosenblatt 57) 
10
Perceptron のアーキテクチャ 
McClloch-Pits ニューロンによる階層型ネットワーク 
S層 - A層 間は固定ランダム結合 
A 層 - R 層 間が学習で決定される結合 
11 
w20 y1(xn) 
w21 
w22 
y2(xn) 
w23 y3(xn) 
{xn} 
1 
x1n 
x2n 
x3n 
Sensory 
Layer 
Associative 
Layer 
Response 
Layer 
It's "1"
Simple Perceptron による識別 
2入力1出力単純パーセプトロン 
12 
φ2 
φ1 
y = sgn 
0BBBBBB@ 
X 
j 
wjj 
1CCCCCCA 
= sgn (w0 + w11 + w22) 
w0 + w11 + w22 = 0 
1 
2 
y 
クラス1 
クラス2
Perceptronの学習: 誤り訂正学習 
Hebb 学習則 
教師 t と出力 y の関係により w を修正 
w 
目標{xn, tn} が与えられたとき y(xn) = tn としたい 
正解 tn と答え yn が不一致のときのみパラメータを修正 
! 
解が存在する場合,正しい解に収束する→デモ 
13 
t 
x y
単純パーセプトロンの限界 
単純パーセプトロン:一本の直線での境界分離(線形分離) 
XOR 問題は解けない (Minsky  Papert 68) 
→ NN 第1次 冬の時代 
14 
クラス1 
クラス2 
φ2 
φ1
単純パーセプトロンの限界の打破 
XOR 問題の解法 
複数の分離直線を使えば分離可能 
各線の分離結果を合成→階層化は妥当(多分) 
15 
クラス1 
クラス2 
x2 
x1 
{xn} {zn} 
x2 
x1 
x0 
z2 
z1 
1 1 
z0 
y
Neural network (NN) 歴史的背景 
1960 1970 1980 1990 2000 2010 
(Rumelhart+ 86) 
16 
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) 
Back Prop. 
Boltzmann Mach. 
(HInton+85) 
今ココ 
第1期第2期
Back Propagation 
with Multi Layer Perceptron 
(Rumelhart+ 86) 
(Amari 67) 
17
Error Back-propagation 
単純 Perceptron の線形分離可能性 
→ 階層性による打破 
階層にした場合の学習則 
基本アイディアは勾配法 
微分の連鎖則を活用 
18 
xD 
x1 
x0 
zM 
z1 
z0 
yK 
y1 
w(1) 
MD w(2) 
KM 
w(2) 
10 
hidden units 
inputs outputs
線形パーセプトロンの勾配学習法(1) 
2乗誤差の勾配を用いる学習則 
デルタ則,adaline 則 (Widrow-Hoff 1960) 
19 
勾配を使うには微分可能性が必要なので 
ニューロンの活性化関数に線形関数を使う 
x y 1 y 
x2 
u 
Σ u 
w1 
w2 
McCuloch-Pitts 
x y 1 y 
x2 
u 
Σ u 
θ 
w1 
w2
線形パーセプトロンの勾配学習法(2) 
2乗誤差の勾配を用いる学習則 
デルタ則,adaline 則 (Widrow-Hoff 1960) 
20 
E(w) = 
1 
2 
 
n コスト関数!tn − y(xn)!2 
{xn} 
t1n 
t2n 
t3n 
y1(xn) 
y2(xn) {tn} 
1 
x1n 
x2n 
w23 
x3n φ3(xn) 
y3(xn) 
更新則
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}
連鎖則による微分の導出(1) 
yk コスト関数 
22 
tk 
k 
j 
wkj 
i 
wji 
j 
微係数 
割と煩雑に見えるけど…
連鎖則による微分の導出(2) 
yk コスト関数 
23 
tk 
k 
j 
wkj 
i 
wji 
j 
微係数誤差 δ の導入ですっきり 
誤差 δ は,上位層からの逆方向の伝達 
(Back propagation) で記述可能
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)
Back prop. の応用先 
XOR 問題 (Rumelhart+ 86) 
Auto-Encoder (Ackley+ 85), 画像圧縮(Cottrell+ 87) 
NETtalk (Sejnowski  Rosenberg 87) 
ソナー音識別(Gorman  Sejnowski 88) 
コンボリューションネット(Le-Net)(LeCun+ 89) 
25
Neural network (NN) 歴史的背景 
1960 1970 1980 1990 2000 2010 
Back Prop. 
(Rumelhart+ 86) 
26 
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期
Neocognitron 
(Fukushima 1980) 
27
視覚野(Ventral pathway)の性質 
AIT/CIT 8 TF 
7a 
V4 MT VA/V4 
V3 VP 
V2 
IT 
V4 
V2 
Large receptive field 
Face, Complex feature 
detector 
? 
? 
視覚野: 階層構造を持ち,階層ごとに異なる視覚課題の解決 
初期視覚野: 狭い受容野,単純な特徴抽出 
Simple Cell,Complex Cellの存在 
高次視覚野: 広い受容野,中程度に複雑な特徴に選択的 
28 
V1 
V2 
V4 
CIT PIT 
Ventral Pathway 
AIT 
TEO 
TE 
V1 
PIT 
LIP MST DPL VIP 
V3A 
V1 
Small receptive field 
Edge, Line segment 
detector 
(Felleman  van Essen 91 を改変)
初期視覚野 (V1野) の受容野計測 
初期視覚野の細胞の観え 
ている範囲(受容野)は狭い 
視覚野中の “エッジ” や “線 
分” といった成分に反応 
単純型細胞(simple cell) 
と複雑型細胞(complex 
cell)に大きく分けられる 
29 
ĉƻ˜8ƙĵǷPMC48Ɖ7 5G¹bp{d 
QǬ´C(:-FɑɆKŽ3MŘƞĉQǷ 
PMƙĵ;Gx]fŠ:Ɣɀ4;LC*RŘƞĉ 
ɇ 
ɇɅ:ƻ˜870-:4(K¬ 
6:J7ƔɀƂɧá03M:Q¸Ư(M- 
F8;œĝœĝ:ƞĉľɃ1CLœɅœɅ:ƞĉƻ 
˜ǜƔɀQƏľ8ljMȦɠLC(œ1:ȣƓ 
8ɘĦ7Ɂɂ;ĝ:ľɃ:ŰɜɕQljM54(A 
ǻ8þī$Qś1ȃȴĝǒ:Řɕ5—7L 
ĝ:ŘÅľɃ8503:Řɕ;Ƣ8MJ8Æ 
ƥǻ:öȠ•8ĜKN3C(:J 
7ĝ:ƞĉľɃĤōČ8Ǔ3ÌŰƨQś1ɰš 
http://ohzawa-lab.bpe.es.osaka-u.ac.jp/resources/text/KisokouKoukai2009/Ohzawa2009Koukai04.pdf 
‘ Šn‚fq:r~¯:…³²
初期視覚野の性質 
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
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
Simple/Complex Cell 
計算論的解釈 
32 
細胞種類結合様式計算の意味計算操作 
Simple 
cell 
特徴抽出 
テンプレートマッチ 
Gaussian-Tuning 
(AND 的) 
Complex 
cell 
変形の許容 
並進不変性 
Soft-max 
(OR 的) 
(Poggio 07 を改変)
高次視覚野の性質 
中程度に複雑な特徴に反応 
顔細胞の存在 
巨大な受容野 
時空間的な変化に許容的 
33 
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 
(Kobatake  Tanaka 94 を改変)
生理学的な知見 
細かい特徴抽象特徴 
https://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Perception
CNN の視覚野的解釈 
IT 
V4 
V2 
Large receptive field 
Face, Complex feature 
detector 
? 
? 
41x41xK2 
21x21xK3 
11x11xK4 
Hubel  Wiesel : Simple → Complex Cell の階層性 
V2 → IT の不明な領野 
→ 初期視覚野構造のアーキテクチャ外挿 
学習によるチューニング可能性 
35 
V1 
V2 
V4 
CIT PIT 
Ventral Pathway 
AIT 
TEO 
TE 
V1 
Small receptive field 
Edge, Line segment 
detector 
U0 Us1Uc1 Us2Uc2 Us3Uc3 Us4Uc4 Us5Uc5 
41x41x1 
41x41x8 
41x41x8 
21x21xK2 
11x11xK3 
5x5xK4 
5x5xK5 
1x1xK5
Convolution NN (CNN) 
(Neocognitron) 
畳み込みによる局所特徴抽出と空間プーリング 
Neocognitron(Fukushima80): 階層仮説の実装 (Hubel  Wiesel 59) 
U0 Us2 Uc2 Us3 Uc3 Us4 Uc4 
S-Cell Feature Extraction 
36 
Us1 Uc1 
C-Cell Tolerance to the distortion 
Input 
Recognition 
It’ s “5” 
S-Cell S-Cell 
C-Cell 
S-Cell 
C-Cell 
Local Feature Integration 
Feature 
Global 
Feature
CNN の動作原理 
局所特徴抽出(畳み込み)+変形に対する不変性(プーリング) 
Subsampling Layer 
37 
Preferred Feature 
(Orientation): X 
Convlution Layer 
Input: x 
Blurring 
Preferred 
Orientation 
S-cell response 
Input: x 
Convolutions 
Subsampling 
Convolutions Subsampling 
Preferred feature
CNN の動作原理(contd.) 
局所特徴抽出(畳み込み)+変形に対する不変性(プーリング) 
38
Neocognitron まとめ 
畳み込み演算を原理としたネットワーク構造 
Perceptron に比べて,結合係数の自由度は低い 
でも視覚入力は並進対称なので構造としては妥当(多分) 
特徴抽出層とプーリング層の階層構造 
徴抽出層は学習で決定可能 
BP使わなくても割りと普通に動く.たぶんクラスタリ 
ングアルゴリズムでも動く 
プーリングによる空間的な位相ずれの許容 
39
Neural network (NN) 歴史的背景 
1960 1970 1980 1990 2000 2010 
Back Prop. 
(Rumelhart+ 86) 
40 
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期
Convolution 
Neural Network 
(CNN) 
(LeCun+ 1986, Okada 1988) 
41
Convolution-net 
基本アーキテクチャ 
Neocognitron (Fukushima 80) 
畳み込み演算による, 
局所特徴抽出+並進不変性 
学習則に Back-Propagation 
(LeCun+86, Okada88) 
(LeCun+86) 
42
CNN デモ 
Rotation Scale 
Multiple Input Noise 
43 
http://yann.lecun.com/exdb/lenet/index.html
Deep learning事例: 
一般物体認識 
IMAGENET Large Scale Visual Recognition Challenge 2012 
1000 カテゴリ × 約1000枚の訓練画像 
Convolution Neural Network 
44 
SIFT + FVs: 0.26 test err. 
CNN: 0.15 test err. 
Krizhevsky et al. NIPS 2012
Neural network (NN) 歴史的背景 
1960 1970 1980 1990 2000 2010 
Back Prop. 
(Rumelhart+ 86) 
45 
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期
Boltzmann Machine 
 
Restricted 
Boltzmann Machine 
(Hinton+85, Hinton 00) 
46
Boltzmann Machine 
(Hinton+ 85) 
確率型素子 
隠れ素子 h と可視素子 v 
相互結合型アーキテクチャ 
対数尤度最大化による学習 
! 
出来ること: パターンの生成,模倣 
確率分布のエミュレート 
47 
h 
v 
学習パターン 
v1: 
v2: 
v3: 
p(v) に基づきパターン生成 
v:
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))
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 法による期待値→ 恐ろしく時間がかかる
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)
補足 
関数 exp( ±u ) / 2 cosh( u ) に関して 
あまり見かけない表記だがシグモイド関数である 
! 
この表記だと hj = ±1 の値によらない表記で,計算に 
便利なので(統計)物理屋さんが好む. 
51 
exp(hju) 
2 cosh(u) = 
exp(+u) 
exp(+u) + exp(u) = 
1 
1 + exp(2u) where hj=1
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)
Restricted Boltzmann Machine(RBM): 
Mining$for$Structure$ 
応用先 
53 
h 
Massive$increase$in$both$computa:onal$power$and$the$amount$of$ 
data$available$from$web,$video$cameras,$laboratory$measurements.$ 
v 
RBM の応用先 
自然画像 (Salakhudinov+ 07) 
文書 (Salakhudinov+ 10, ) 
協調フィルタ(Salakhudinov+ 07) 
運動検出(Taylor+ 07) 
音声特徴抽出(Dahl+ 10, Lee+ 10) 
Images$$Video$ 
Rela:onal$Data/$$ 
Social$Network$ 
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 から拝借
Neural network (NN) 歴史的背景 
1960 1970 1980 1990 2000 2010 
Back Prop. 
(Rumelhart+ 86) 
54 
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期
Deep Belief Net 
(Hinton+ 06) 
55
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 
)
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)
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)
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
Deep Belief Net(DBN): 
MNIST を使った場合 
60 
MNIST を用いたDBNの 
学習 
高位層では,より大まかな 
特徴抽出器として振る舞う 
h1 
v 
h2 
RBM 
Sigmoid 
Belief net 
LearnedFeatures 
(Salakhudinov13, 14 より)
Convolution Net + Deep Belief Net(CDBN): 
自然画像への適用 
61 
ConvLoeluatrionnin ngePt a+r DtͲBbNa sのed自R然e画p像reへseのn応ta用ti(oLnee+09) 
Convolutional DBN 
Faces 
Groupsofparts. 
ObjectParts 
Trainedonfaceimages. 
Leeet.al.,ICML2009
Convolution Net + Deep Belief Net(CDBN): 
自然画像への適用 
62 
LearningPartͲbasedRepresentation 
Faces Cars Elephants Chairs 
Convolution net + DBN の自然画像への応用(Lee+09) 
Leeet.al.,ICML2009
Deep Neural Net 
(Hinton+ 06) 
63
MLP における Back Prop. 
過学習問題 
訓練誤差 ≫ 汎化誤差 
勾配情報の拡散 
識別器だけなら上位層で実現可能 
全体のトレーニングは難しい 
全結合型 NN で顕著 
データに対してパラメータ数が過多 
64 
O(Mk Mk+1 )
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
Deep Neural Net(DNN): 
学習 
66 
Back Prop の問題点: 局所解の存在 
DBN を初期状態として使う 
(Pre-Training) 
ネットワークの結合 (Unroll) 
結合したネットワークを MLP として 
y 
SoftMax 
RBM 
h1 BP 学習(Fine Tuning) 
v 
h2 
h2 
h1 
RBM
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$
Deep Auto Encoder 
DNN の応用 
68 
Deep$Autoencoders$ 
6$ 
($$ 
($$ 
$$$ 
$$$ 
! 
! 
) 
! ! 
 
) 
! ! 
$$$ 
# 
) 
! ! 
($$ 
! 
! 
#$$$ 
$$$ 
($$ 
) 
 
) 
# 
6 
) 
?4-@5/A-, 
($$ ($$ 
6 
) 
* 
; 
: 
9 
( 
* * 
! ! 
6 6 
# # 
! ! 
! 
! 
! 
! 
! 
! 
! ! 
! ! 
! 
! 
! 
! 
* 
6 
 
#$$$ 
)4C 
%' 
%' 
# 
#$$$ 
$$$ 
  
#$$$ 
#$$$ 
$$$ 
#$$$ 
) 
* 
%' 
6 
# 
+,-.,/01012 31,455012 
6$ 
701-.81012 
1=4-, 
 
6$ 
* 
B-=4-, 
%' 
DNN の応用 
入力の自動写像 
圧縮表現の生成 
PreTraining に 
よる効率良い学 
習
Deep$Genera:ve$Model$ 
DNN の応用: テキスト分類 
69 
European Community 
Monetary/Economic 
Interbank Markets 
Leading Legal/Judicial 
Economic 
Indicators 
Accounts/ 
Earnings 
Government 
Borrowings 
Disasters and 
Accidents 
Energy Markets 
Model$P(document)$ 
Bag$of$words$ 
Reuters$dataset:$804,414$$ 
newswire$stories:$unsupervised* 
(Hinton  Sa(laHkihnuttodinn+ov ,0 S6c iよencりe 2)006)!
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 
70
いま何故 Deep learning なのか? 
(庄野の偏見) 
71
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期
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
NN 界隈で起こったこと(90年台後半~) 
アーキテクチャ設計の難しさ for Back 
Prop. 
中間層が少なければ表現がプア 
中間層が多ければ過学習 
(訓練誤差 ≫ 汎化誤差) 
勾配情報の拡散 
識別器だけなら上位層で実現可能 
全体のトレーニングは難しい 
データに対してパラメータ数が過多 
(全結合型 NN で顕著) 
74
NN 界隈で起こったこと(90年台後半~) 
機械学習法の進展 
Support VectorMachine / Kernel 法 
Boosting 
Shallow network で十分じゃないの?的な風潮 
そもそもデータがないし… 
75
一方CV業界では… 
76
Viola  Jones による顔検出 
Haar Like Feature + Boosting (Viola  Jones01) 
77 
Haar Like Detectors 
Training Samples 
http://vimeo.com/12774628
SIFT による画像記述 
Scale Invariant Feature Transform (Lowe99) 
特徴点検出とヒストグラムにより特徴記述 
回転・スケール変化に不変,照明変化に頑健 
特徴点周りの 
勾配情報の算出 
SIFT 特徴点 
(キーポイント) 
SIFT 記述子 
78 
u 
l 
D( u, v, l ) 
分画像 DoG 
極値探索 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
1 2 3 4 5 6 7 8 
0.2 
0.1 
0 
ヒストグラム化
Bag of Features による画像認 
識 
特徴量記述量を直接識別器へ (Bag of Visual Words)(Csurka+04) 
79 
http://www.vision.cs.chubu.ac.jp/sift/PDF/sift_tutorial_ppt.pdf
画像認識問題の NN 的解釈 
画像特性(エッジ等)の特徴量構築+機械学習 
Shallow Network model? 
Machine Learning (SVM, Boosting...) 
80 
Cat LeopardOutput 
Input 
Feature Detector(Haar, SIFT, HOG...)
部分特徴から組み合わせ特徴へ 
Bag of Words からの脱却 
部分特徴の組み合わせ特徴量へ (Felzenswalb+10, Divvala+12) 
81 
HierarchicalSDeep$Models$ 
Deep$Nets$ 
PartSbased$Hierarchy$ 
Marr$and$Nishihara$(1978)$ 
(MarrNishihara78) 
Hierarchical$Bayes$ 
CategorySbased$Hierarchy$ 
(Felzenswalb+10)
特徴抽出機構の設計 
どうやって(中程度に複雑な)特徴検出器を作るか? 
“Token” (Marr82) 的な組み合わせ 
! 
! 
Object parts: 
! 
Contnuation Coner Junction Cross 
! 
ハンドメイドな特徴量はしんどい→機械学習による表現獲得 
82
NN 周辺領域の歴史的背景 
1990 2000 2010 
Boosting 
(Schapire 90) L1-recovery 
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) 
83 
SVM 
今ココ 
(Vapnik 95) 
(Candes+ 06) 
Bayesian Method 
Kernel Method 
Sparse Model 
Sparse Model
疎表現によるデータ記述 
基底ベクトルによる線形和表現 
なるべく多くの係数が 0 になることを要請 
= x1 +x2 +x3 +... 
y d1 d2 d3 
84 
y = 
XM 
i 
xidi 
なるべく0に 
{di} を学習で決める
疎表現によるデータ記述 
= 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} を取得可能か?
Sparse Coding による特徴抽出 
自然画像の Sparse coding による表現 (OlshausenFields96) 
初期視覚野の線形応答関数(Anzai+99), Gabor Waveletに類似 
自然音源の Sparse coding による表現 (TerashimaOkada12) 
和音の表現 
86 
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 
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
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
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
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
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
Sparseness + Hierarchy? 
Hierarchical Sparse Coding (Yu+11) 
DBN (Hinton  Salakhutdinov06) 
Hiearchy Representation 
Decoder Encoder 
Level 2 Features 
Decoder Encoder 
Level 1 Features 
Decoder Encoder 
Input Patchs {yp} 
92
Sparseness + Hierarchy? 
DNN (Hinton  Salakhutdinov06) 
+ 疎性をいれるために Drop-out (Hinton+12) 
(でも石川&甘利の方が少し古いと思う) 
Hiearchy Representation 
Encoder 
Level 2 Features 
Encoder 
Level 1 Features 
Input Patchs {yp} 
93 
Encoder 
Decoder を外せば 
NN として動作
Sparseness + Hierarchy? 
DBN (Hinton  Salakhutdinov06) 
Hiearchy Representation 
Decoder 
Level 2 Features 
Decoder 
Level 1 Features 
Input Patchs {yp} 
94 
Decoder を動作させて 
最適特徴を導出 
Decoder
Hierarchical CNN + 
Sparse Coding 
Sparse coding を用いた階層型識別器(Yu+11, Zeiler+11) 
Sparse Coding 
95 
2nd Layer の基底 
回転,並進に対応 
Convolutions 
Subsampling 
Convolutions Subsampling
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
まとめ 
ニューラルネットワークの基本要素 
素子の振る舞い,アーキテクチャ,学習モデル 
階層型ニューラルネットワークは昔から在る 
Perceptron, Neocognitron, CNN 
学習則 
誤り訂正学習,微分を用いたコスト関数の極小化 
CNN の原点は Neocognitron であり,脳に学んだ機械である 
CNN は,ビッグデータ時代になって実用化へ 
97
まとめ: cont’d 
Deep Learning の発想は古くから存在 
ネットワークのアーキテクチャと学習,双方が重要 
Deep Learning は何故流行っているか? 
Shallow network の性能飽和 
Hand-maid Feature detector の難しさ 
Sparse Modeling の導入による学習方式の確立 
計算機性能の向上による可能性の供給 
所謂ビッグデータの到来による需要 
98
やるべきこと 
細かい部分は(多分まだ)職人芸を必要とする. 
Sparseness の設定,データに応じた素子の個数設定 
データからのλの推定 
設計スキームの一般化 (libsvm 的な何か?)は多分必要 
特徴学習・表現学習の期待 
Semi-supervised learning 
ラベル付データのコストが高い分野は割りとありそう 
マルチデバイスの統合など,イメージフュージョン 
99
Software-Package 
100 
Ăąnïƾ 
LUV0OKHZe^l 
Pylearn2Univ. Montrealp 
LISA Lab 
Python (C++)NumPylpƎđĈE 
ćånÏûǻÐ 
Torch7NewYork Univ.nm?Lua/C++Luao}€™‘¼¯ 
¢ˆÁ’EơźĈp 
Ö] 
CaffeBerkeley Vision and 
Learning Center 
(UCB) 
C++ (Python)ƵÉGPUkĀÖƌê 
L2014/08ċŔM 
Cuda-convnet2Alex KrizhevskyC++ (Python)²½ GPUƀŸkp 
ƬǔïËLTesla 
K20x8M 
元ネタは得居さんのSlideから
参考にしたもの 
岡谷先生のスライド http://www.vision.is.tohoku.ac.jp/jp/research/ 
LeCun の Website http://yann.lecun.com/ 
Overfeat: http://cilvr.nyu.edu/doku.php? 
id=software:overfeat:start#webcam_demo 
DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition 
https://github.com/UCB-ICSI-Vision-Group/decaf-release/ 
IEEE PAMI 特集号 
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=6541932 
CVPR 2012 Deep Learning チュートリアル 
http://cs.nyu.edu/~fergus/tutorials/deep_learning_cvpr12/ 
神経回路と情報処理(福島邦彦: 朝倉書店) 
ICONIP 2007 Special Session for Neocognitron 
Python と Theano を使った Deepnet 構築 http://deeplearning.net/ 
101

More Related Content

What's hot

Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016Takayoshi Yamashita
 
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksEmbedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksYusuke Uchida
 
大規模画像認識とその周辺
大規模画像認識とその周辺大規模画像認識とその周辺
大規模画像認識とその周辺n_hidekey
 
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)kanejaki
 
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...Deep Learning JP
 
畳み込みニューラルネットワークが なぜうまくいくのか?についての手がかり
畳み込みニューラルネットワークが なぜうまくいくのか?についての手がかり畳み込みニューラルネットワークが なぜうまくいくのか?についての手がかり
畳み込みニューラルネットワークが なぜうまくいくのか?についての手がかりtm_2648
 
ICCV 2019 論文紹介 (26 papers)
ICCV 2019 論文紹介 (26 papers)ICCV 2019 論文紹介 (26 papers)
ICCV 2019 論文紹介 (26 papers)Hideki Okada
 
Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805Shuntaro Ohno
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化Yusuke Uchida
 
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted WindowsDeep Learning JP
 
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...Deep Learning JP
 
最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめ最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめYusuke Uchida
 
Deep Learningの技術と未来
Deep Learningの技術と未来Deep Learningの技術と未来
Deep Learningの技術と未来Seiya Tokui
 
Image net classification with Deep Convolutional Neural Networks
Image net classification with Deep Convolutional Neural NetworksImage net classification with Deep Convolutional Neural Networks
Image net classification with Deep Convolutional Neural NetworksShingo Horiuchi
 
画像処理分野における研究事例紹介
画像処理分野における研究事例紹介画像処理分野における研究事例紹介
画像処理分野における研究事例紹介nlab_utokyo
 
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs Deep Learning JP
 
R-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れR-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れKazuki Motohashi
 

What's hot (20)

Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016
 
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksEmbedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural Networks
 
大規模画像認識とその周辺
大規模画像認識とその周辺大規模画像認識とその周辺
大規模画像認識とその周辺
 
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
第18回コンピュータビジョン勉強会@関東「ICCV祭り」発表資料(kanejaki)
 
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
 
畳み込みニューラルネットワークが なぜうまくいくのか?についての手がかり
畳み込みニューラルネットワークが なぜうまくいくのか?についての手がかり畳み込みニューラルネットワークが なぜうまくいくのか?についての手がかり
畳み込みニューラルネットワークが なぜうまくいくのか?についての手がかり
 
ICCV 2019 論文紹介 (26 papers)
ICCV 2019 論文紹介 (26 papers)ICCV 2019 論文紹介 (26 papers)
ICCV 2019 論文紹介 (26 papers)
 
Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805Icml2019 kyoto ohno_ver20190805
Icml2019 kyoto ohno_ver20190805
 
SOINN-AM
SOINN-AMSOINN-AM
SOINN-AM
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
 
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
 
最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめ最近のSingle Shot系の物体検出のアーキテクチャまとめ
最近のSingle Shot系の物体検出のアーキテクチャまとめ
 
Deep Learningの技術と未来
Deep Learningの技術と未来Deep Learningの技術と未来
Deep Learningの技術と未来
 
Image net classification with Deep Convolutional Neural Networks
Image net classification with Deep Convolutional Neural NetworksImage net classification with Deep Convolutional Neural Networks
Image net classification with Deep Convolutional Neural Networks
 
画像処理分野における研究事例紹介
画像処理分野における研究事例紹介画像処理分野における研究事例紹介
画像処理分野における研究事例紹介
 
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
 
ResNetの仕組み
ResNetの仕組みResNetの仕組み
ResNetの仕組み
 
20150930
2015093020150930
20150930
 
R-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れR-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れ
 

Viewers also liked

20150803.山口大学集中講義
20150803.山口大学集中講義20150803.山口大学集中講義
20150803.山口大学集中講義Hayaru SHOUNO
 
20150326.journal club
20150326.journal club20150326.journal club
20150326.journal clubHayaru SHOUNO
 
20150703.journal club
20150703.journal club20150703.journal club
20150703.journal clubHayaru SHOUNO
 
20140530.journal club
20140530.journal club20140530.journal club
20140530.journal clubHayaru SHOUNO
 
20141003.journal club
20141003.journal club20141003.journal club
20141003.journal clubHayaru SHOUNO
 
ベイズ Chow-Liu アルゴリズム
ベイズ Chow-Liu アルゴリズムベイズ Chow-Liu アルゴリズム
ベイズ Chow-Liu アルゴリズムJoe Suzuki
 
20141204.journal club
20141204.journal club20141204.journal club
20141204.journal clubHayaru SHOUNO
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析Shu Tanaka
 
ものまね鳥を愛でる 結合子論理と計算
ものまね鳥を愛でる 結合子論理と計算ものまね鳥を愛でる 結合子論理と計算
ものまね鳥を愛でる 結合子論理と計算Hiromi Ishii
 

Viewers also liked (11)

20150803.山口大学集中講義
20150803.山口大学集中講義20150803.山口大学集中講義
20150803.山口大学集中講義
 
20160329.dnn講演
20160329.dnn講演20160329.dnn講演
20160329.dnn講演
 
20150326.journal club
20150326.journal club20150326.journal club
20150326.journal club
 
20150703.journal club
20150703.journal club20150703.journal club
20150703.journal club
 
20140530.journal club
20140530.journal club20140530.journal club
20140530.journal club
 
20130722
2013072220130722
20130722
 
20141003.journal club
20141003.journal club20141003.journal club
20141003.journal club
 
ベイズ Chow-Liu アルゴリズム
ベイズ Chow-Liu アルゴリズムベイズ Chow-Liu アルゴリズム
ベイズ Chow-Liu アルゴリズム
 
20141204.journal club
20141204.journal club20141204.journal club
20141204.journal club
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析
 
ものまね鳥を愛でる 結合子論理と計算
ものまね鳥を愛でる 結合子論理と計算ものまね鳥を愛でる 結合子論理と計算
ものまね鳥を愛でる 結合子論理と計算
 

Similar to 20141208.名大セミナー

行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)ryotat
 
クラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンクラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンHiroshi Nakagawa
 
量子コンピュータで量子化学のfullCIが超高速になる(かも
量子コンピュータで量子化学のfullCIが超高速になる(かも量子コンピュータで量子化学のfullCIが超高速になる(かも
量子コンピュータで量子化学のfullCIが超高速になる(かもMaho Nakata
 
Nmp for quantum_chemistry
Nmp for  quantum_chemistryNmp for  quantum_chemistry
Nmp for quantum_chemistryshima o
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点Taiji Suzuki
 
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Hiroki Nakahara
 

Similar to 20141208.名大セミナー (8)

Quantum Computer
Quantum ComputerQuantum Computer
Quantum Computer
 
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
 
クラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンクラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシン
 
量子コンピュータで量子化学のfullCIが超高速になる(かも
量子コンピュータで量子化学のfullCIが超高速になる(かも量子コンピュータで量子化学のfullCIが超高速になる(かも
量子コンピュータで量子化学のfullCIが超高速になる(かも
 
SFUMATO workshop #2
SFUMATO workshop #2SFUMATO workshop #2
SFUMATO workshop #2
 
Nmp for quantum_chemistry
Nmp for  quantum_chemistryNmp for  quantum_chemistry
Nmp for quantum_chemistry
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
 
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装
 

20141208.名大セミナー

  • 1. ディープラーニング 階層型 Neural Net の温故知新 2014/12/08 電気通信大学 大学院情報理工学研究科 庄野 逸: shouno@uec.ac.jp http://www.slideshare.net/HAL9801 1
  • 2. Neural network (NN) 歴史的背景 1960 1970 1980 1990 2000 2010 Back Prop. (Rumelhart+ 86) 2 Simple/Complex cell (Hubel&WIesel 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 (Olshausen&Field 96) Stochastic GD (Amari 67) Boltzmann Mach. (HInton+85) 今ココ 第1期第2期
  • 3. Neural net (NN)の基礎知識 基本素子 ネットワークアーキテクチャ 学習 3
  • 4. McCulloch-Pitts 素子モデル(1) 最初の数理的ニューロンモデル (McCulloch&Pitts 43) 入力は線形重ねあわせ 活性化関数 f(・): 閾値制御 4 x y 1 y x2 u Σ u θ w1 w2
  • 5. McCulloch-Pits 素子モデル(2) モデルパラメータ {w, θ} の変更→様々な論理素子 5 x y 1 y x2 u Σ u θ w1 w2 w w θ AND 1 1 1.5 OR 1 1 0.5 NAND -1 -1 -1.5
  • 6. 現代のNN の基本素子 y y 入力の線形和 非線形活性化関数 Logistic-Sigmoid Rectified Linear Hyperbolic Tangent, etc... 6 y1 y3 x1 x2 x3 y2 z2 u X3 uj = f (u) i=1 wjixi + bj yj = f ⇣ uj ⌘
  • 8. x y 1 y x2 u Σ u θ w1 w2 NN の学習とは? モデルパラメータ {w, θ} で振る舞いが変化 モデルパラメータをデータから決定する→学習 8 w w θ AND 1 1 1.5 OR 1 1 0.5 NAND -1 -1 -1.5
  • 9. Neural network (NN) 歴史的背景 1960 1970 1980 1990 2000 2010 Back Prop. (Rumelhart+ 86) 9 Simple/Complex cell (Hubel&WIesel 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 (Olshausen&Field 96) Stochastic GD (Amari 67) Boltzmann Mach. (HInton+85) 今ココ 第1期第2期
  • 11. Perceptron のアーキテクチャ McClloch-Pits ニューロンによる階層型ネットワーク S層 - A層 間は固定ランダム結合 A 層 - R 層 間が学習で決定される結合 11 w20 y1(xn) w21 w22 y2(xn) w23 y3(xn) {xn} 1 x1n x2n x3n Sensory Layer Associative Layer Response Layer It's "1"
  • 12. Simple Perceptron による識別 2入力1出力単純パーセプトロン 12 φ2 φ1 y = sgn 0BBBBBB@ X j wjj 1CCCCCCA = sgn (w0 + w11 + w22) w0 + w11 + w22 = 0 1 2 y クラス1 クラス2
  • 13. Perceptronの学習: 誤り訂正学習 Hebb 学習則 教師 t と出力 y の関係により w を修正 w 目標{xn, tn} が与えられたとき y(xn) = tn としたい 正解 tn と答え yn が不一致のときのみパラメータを修正 ! 解が存在する場合,正しい解に収束する→デモ 13 t x y
  • 14. 単純パーセプトロンの限界 単純パーセプトロン:一本の直線での境界分離(線形分離) XOR 問題は解けない (Minsky Papert 68) → NN 第1次 冬の時代 14 クラス1 クラス2 φ2 φ1
  • 15. 単純パーセプトロンの限界の打破 XOR 問題の解法 複数の分離直線を使えば分離可能 各線の分離結果を合成→階層化は妥当(多分) 15 クラス1 クラス2 x2 x1 {xn} {zn} x2 x1 x0 z2 z1 1 1 z0 y
  • 16. Neural network (NN) 歴史的背景 1960 1970 1980 1990 2000 2010 (Rumelhart+ 86) 16 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) Back Prop. Boltzmann Mach. (HInton+85) 今ココ 第1期第2期
  • 17. Back Propagation with Multi Layer Perceptron (Rumelhart+ 86) (Amari 67) 17
  • 18. Error Back-propagation 単純 Perceptron の線形分離可能性 → 階層性による打破 階層にした場合の学習則 基本アイディアは勾配法 微分の連鎖則を活用 18 xD x1 x0 zM z1 z0 yK y1 w(1) MD w(2) KM w(2) 10 hidden units inputs outputs
  • 19. 線形パーセプトロンの勾配学習法(1) 2乗誤差の勾配を用いる学習則 デルタ則,adaline 則 (Widrow-Hoff 1960) 19 勾配を使うには微分可能性が必要なので ニューロンの活性化関数に線形関数を使う x y 1 y x2 u Σ u w1 w2 McCuloch-Pitts x y 1 y x2 u Σ u θ w1 w2
  • 20. 線形パーセプトロンの勾配学習法(2) 2乗誤差の勾配を用いる学習則 デルタ則,adaline 則 (Widrow-Hoff 1960) 20 E(w) = 1 2 n コスト関数!tn − y(xn)!2 {xn} t1n t2n t3n y1(xn) y2(xn) {tn} 1 x1n x2n w23 x3n φ3(xn) y3(xn) 更新則
  • 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}
  • 22. 連鎖則による微分の導出(1) yk コスト関数 22 tk k j wkj i wji j 微係数 割と煩雑に見えるけど…
  • 23. 連鎖則による微分の導出(2) yk コスト関数 23 tk k j wkj i wji j 微係数誤差 δ の導入ですっきり 誤差 δ は,上位層からの逆方向の伝達 (Back propagation) で記述可能
  • 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)
  • 25. Back prop. の応用先 XOR 問題 (Rumelhart+ 86) Auto-Encoder (Ackley+ 85), 画像圧縮(Cottrell+ 87) NETtalk (Sejnowski Rosenberg 87) ソナー音識別(Gorman Sejnowski 88) コンボリューションネット(Le-Net)(LeCun+ 89) 25
  • 26. Neural network (NN) 歴史的背景 1960 1970 1980 1990 2000 2010 Back Prop. (Rumelhart+ 86) 26 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期
  • 28. 視覚野(Ventral pathway)の性質 AIT/CIT 8 TF 7a V4 MT VA/V4 V3 VP V2 IT V4 V2 Large receptive field Face, Complex feature detector ? ? 視覚野: 階層構造を持ち,階層ごとに異なる視覚課題の解決 初期視覚野: 狭い受容野,単純な特徴抽出 Simple Cell,Complex Cellの存在 高次視覚野: 広い受容野,中程度に複雑な特徴に選択的 28 V1 V2 V4 CIT PIT Ventral Pathway AIT TEO TE V1 PIT LIP MST DPL VIP V3A V1 Small receptive field Edge, Line segment detector (Felleman van Essen 91 を改変)
  • 29. 初期視覚野 (V1野) の受容野計測 初期視覚野の細胞の観え ている範囲(受容野)は狭い 視覚野中の “エッジ” や “線 分” といった成分に反応 単純型細胞(simple cell) と複雑型細胞(complex cell)に大きく分けられる 29 ĉƻ˜8ƙĵǷPMC48Ɖ7 5G¹bp{d QǬ´C(:-FɑɆKŽ3MŘƞĉQǷ PMƙĵ;Gx]fŠ:Ɣɀ4;LC*RŘƞĉ ɇ ɇɅ:ƻ˜870-:4(K¬ 6:J7ƔɀƂɧá03M:Q¸Ư(M- F8;œĝœĝ:ƞĉľɃ1CLœɅœɅ:ƞĉƻ ˜ǜƔɀQƏľ8ljMȦɠLC(œ1:ȣƓ 8ɘĦ7Ɂɂ;ĝ:ľɃ:ŰɜɕQljM54(A ǻ8þī$Qś1ȃȴĝǒ:Řɕ5—7L ĝ:ŘÅľɃ8503:Řɕ;Ƣ8MJ8Æ ƥǻ:öȠ•8ĜKN3C(:J 7ĝ:ƞĉľɃĤōČ8Ǔ3ÌŰƨQś1ɰš http://ohzawa-lab.bpe.es.osaka-u.ac.jp/resources/text/KisokouKoukai2009/Ohzawa2009Koukai04.pdf ‘ Šn‚fq:r~¯:…³²
  • 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
  • 32. Simple/Complex Cell 計算論的解釈 32 細胞種類結合様式計算の意味計算操作 Simple cell 特徴抽出 テンプレートマッチ Gaussian-Tuning (AND 的) Complex cell 変形の許容 並進不変性 Soft-max (OR 的) (Poggio 07 を改変)
  • 33. 高次視覚野の性質 中程度に複雑な特徴に反応 顔細胞の存在 巨大な受容野 時空間的な変化に許容的 33 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 (Kobatake Tanaka 94 を改変)
  • 35. CNN の視覚野的解釈 IT V4 V2 Large receptive field Face, Complex feature detector ? ? 41x41xK2 21x21xK3 11x11xK4 Hubel Wiesel : Simple → Complex Cell の階層性 V2 → IT の不明な領野 → 初期視覚野構造のアーキテクチャ外挿 学習によるチューニング可能性 35 V1 V2 V4 CIT PIT Ventral Pathway AIT TEO TE V1 Small receptive field Edge, Line segment detector U0 Us1Uc1 Us2Uc2 Us3Uc3 Us4Uc4 Us5Uc5 41x41x1 41x41x8 41x41x8 21x21xK2 11x11xK3 5x5xK4 5x5xK5 1x1xK5
  • 36. Convolution NN (CNN) (Neocognitron) 畳み込みによる局所特徴抽出と空間プーリング Neocognitron(Fukushima80): 階層仮説の実装 (Hubel Wiesel 59) U0 Us2 Uc2 Us3 Uc3 Us4 Uc4 S-Cell Feature Extraction 36 Us1 Uc1 C-Cell Tolerance to the distortion Input Recognition It’ s “5” S-Cell S-Cell C-Cell S-Cell C-Cell Local Feature Integration Feature Global Feature
  • 37. CNN の動作原理 局所特徴抽出(畳み込み)+変形に対する不変性(プーリング) Subsampling Layer 37 Preferred Feature (Orientation): X Convlution Layer Input: x Blurring Preferred Orientation S-cell response Input: x Convolutions Subsampling Convolutions Subsampling Preferred feature
  • 39. Neocognitron まとめ 畳み込み演算を原理としたネットワーク構造 Perceptron に比べて,結合係数の自由度は低い でも視覚入力は並進対称なので構造としては妥当(多分) 特徴抽出層とプーリング層の階層構造 徴抽出層は学習で決定可能 BP使わなくても割りと普通に動く.たぶんクラスタリ ングアルゴリズムでも動く プーリングによる空間的な位相ずれの許容 39
  • 40. Neural network (NN) 歴史的背景 1960 1970 1980 1990 2000 2010 Back Prop. (Rumelhart+ 86) 40 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期
  • 41. Convolution Neural Network (CNN) (LeCun+ 1986, Okada 1988) 41
  • 42. Convolution-net 基本アーキテクチャ Neocognitron (Fukushima 80) 畳み込み演算による, 局所特徴抽出+並進不変性 学習則に Back-Propagation (LeCun+86, Okada88) (LeCun+86) 42
  • 43. CNN デモ Rotation Scale Multiple Input Noise 43 http://yann.lecun.com/exdb/lenet/index.html
  • 44. Deep learning事例: 一般物体認識 IMAGENET Large Scale Visual Recognition Challenge 2012 1000 カテゴリ × 約1000枚の訓練画像 Convolution Neural Network 44 SIFT + FVs: 0.26 test err. CNN: 0.15 test err. Krizhevsky et al. NIPS 2012
  • 45. Neural network (NN) 歴史的背景 1960 1970 1980 1990 2000 2010 Back Prop. (Rumelhart+ 86) 45 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期
  • 46. Boltzmann Machine Restricted Boltzmann Machine (Hinton+85, Hinton 00) 46
  • 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)
  • 51. 補足 関数 exp( ±u ) / 2 cosh( u ) に関して あまり見かけない表記だがシグモイド関数である ! この表記だと hj = ±1 の値によらない表記で,計算に 便利なので(統計)物理屋さんが好む. 51 exp(hju) 2 cosh(u) = exp(+u) exp(+u) + exp(u) = 1 1 + exp(2u) where hj=1
  • 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)
  • 53. Restricted Boltzmann Machine(RBM): Mining$for$Structure$ 応用先 53 h Massive$increase$in$both$computa:onal$power$and$the$amount$of$ data$available$from$web,$video$cameras,$laboratory$measurements.$ v RBM の応用先 自然画像 (Salakhudinov+ 07) 文書 (Salakhudinov+ 10, ) 協調フィルタ(Salakhudinov+ 07) 運動検出(Taylor+ 07) 音声特徴抽出(Dahl+ 10, Lee+ 10) Images$$Video$ Rela:onal$Data/$$ Social$Network$ 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 から拝借
  • 54. Neural network (NN) 歴史的背景 1960 1970 1980 1990 2000 2010 Back Prop. (Rumelhart+ 86) 54 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期
  • 55. Deep Belief Net (Hinton+ 06) 55
  • 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 より)
  • 61. Convolution Net + Deep Belief Net(CDBN): 自然画像への適用 61 ConvLoeluatrionnin ngePt a+r DtͲBbNa sのed自R然e画p像reへseのn応ta用ti(oLnee+09) Convolutional DBN Faces Groupsofparts. ObjectParts Trainedonfaceimages. Leeet.al.,ICML2009
  • 62. Convolution Net + Deep Belief Net(CDBN): 自然画像への適用 62 LearningPartͲbasedRepresentation Faces Cars Elephants Chairs Convolution net + DBN の自然画像への応用(Lee+09) Leeet.al.,ICML2009
  • 63. Deep Neural Net (Hinton+ 06) 63
  • 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$
  • 68. Deep Auto Encoder DNN の応用 68 Deep$Autoencoders$ 6$ ($$ ($$ $$$ $$$ ! ! ) ! ! ) ! ! $$$ # ) ! ! ($$ ! ! #$$$ $$$ ($$ ) ) # 6 ) ?4-@5/A-, ($$ ($$ 6 ) * ; : 9 ( * * ! ! 6 6 # # ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! * 6 #$$$ )4C %' %' # #$$$ $$$ #$$$ #$$$ $$$ #$$$ ) * %' 6 # +,-.,/01012 31,455012 6$ 701-.81012 1=4-, 6$ * B-=4-, %' DNN の応用 入力の自動写像 圧縮表現の生成 PreTraining に よる効率良い学 習
  • 69. Deep$Genera:ve$Model$ DNN の応用: テキスト分類 69 European Community Monetary/Economic Interbank Markets Leading Legal/Judicial Economic Indicators Accounts/ Earnings Government Borrowings Disasters and Accidents Energy Markets Model$P(document)$ Bag$of$words$ Reuters$dataset:$804,414$$ newswire$stories:$unsupervised* (Hinton Sa(laHkihnuttodinn+ov ,0 S6c iよencりe 2)006)!
  • 70. 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 70
  • 71. いま何故 Deep learning なのか? (庄野の偏見) 71
  • 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
  • 75. NN 界隈で起こったこと(90年台後半~) 機械学習法の進展 Support VectorMachine / Kernel 法 Boosting Shallow network で十分じゃないの?的な風潮 そもそもデータがないし… 75
  • 77. Viola Jones による顔検出 Haar Like Feature + Boosting (Viola Jones01) 77 Haar Like Detectors Training Samples http://vimeo.com/12774628
  • 78. SIFT による画像記述 Scale Invariant Feature Transform (Lowe99) 特徴点検出とヒストグラムにより特徴記述 回転・スケール変化に不変,照明変化に頑健 特徴点周りの 勾配情報の算出 SIFT 特徴点 (キーポイント) SIFT 記述子 78 u l D( u, v, l ) 分画像 DoG 極値探索 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 1 2 3 4 5 6 7 8 0.2 0.1 0 ヒストグラム化
  • 79. Bag of Features による画像認 識 特徴量記述量を直接識別器へ (Bag of Visual Words)(Csurka+04) 79 http://www.vision.cs.chubu.ac.jp/sift/PDF/sift_tutorial_ppt.pdf
  • 80. 画像認識問題の NN 的解釈 画像特性(エッジ等)の特徴量構築+機械学習 Shallow Network model? Machine Learning (SVM, Boosting...) 80 Cat LeopardOutput Input Feature Detector(Haar, SIFT, HOG...)
  • 81. 部分特徴から組み合わせ特徴へ Bag of Words からの脱却 部分特徴の組み合わせ特徴量へ (Felzenswalb+10, Divvala+12) 81 HierarchicalSDeep$Models$ Deep$Nets$ PartSbased$Hierarchy$ Marr$and$Nishihara$(1978)$ (MarrNishihara78) Hierarchical$Bayes$ CategorySbased$Hierarchy$ (Felzenswalb+10)
  • 82. 特徴抽出機構の設計 どうやって(中程度に複雑な)特徴検出器を作るか? “Token” (Marr82) 的な組み合わせ ! ! Object parts: ! Contnuation Coner Junction Cross ! ハンドメイドな特徴量はしんどい→機械学習による表現獲得 82
  • 83. NN 周辺領域の歴史的背景 1990 2000 2010 Boosting (Schapire 90) L1-recovery 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) 83 SVM 今ココ (Vapnik 95) (Candes+ 06) Bayesian Method Kernel Method Sparse Model Sparse Model
  • 84. 疎表現によるデータ記述 基底ベクトルによる線形和表現 なるべく多くの係数が 0 になることを要請 = x1 +x2 +x3 +... y d1 d2 d3 84 y = XM i xidi なるべく0に {di} を学習で決める
  • 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} を取得可能か?
  • 86. Sparse Coding による特徴抽出 自然画像の Sparse coding による表現 (OlshausenFields96) 初期視覚野の線形応答関数(Anzai+99), Gabor Waveletに類似 自然音源の Sparse coding による表現 (TerashimaOkada12) 和音の表現 86 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
  • 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
  • 92. Sparseness + Hierarchy? Hierarchical Sparse Coding (Yu+11) DBN (Hinton Salakhutdinov06) Hiearchy Representation Decoder Encoder Level 2 Features Decoder Encoder Level 1 Features Decoder Encoder Input Patchs {yp} 92
  • 93. Sparseness + Hierarchy? DNN (Hinton Salakhutdinov06) + 疎性をいれるために Drop-out (Hinton+12) (でも石川&甘利の方が少し古いと思う) Hiearchy Representation Encoder Level 2 Features Encoder Level 1 Features Input Patchs {yp} 93 Encoder Decoder を外せば NN として動作
  • 94. Sparseness + Hierarchy? DBN (Hinton Salakhutdinov06) Hiearchy Representation Decoder Level 2 Features Decoder Level 1 Features Input Patchs {yp} 94 Decoder を動作させて 最適特徴を導出 Decoder
  • 95. Hierarchical CNN + Sparse Coding Sparse coding を用いた階層型識別器(Yu+11, Zeiler+11) Sparse Coding 95 2nd Layer の基底 回転,並進に対応 Convolutions Subsampling Convolutions Subsampling
  • 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
  • 97. まとめ ニューラルネットワークの基本要素 素子の振る舞い,アーキテクチャ,学習モデル 階層型ニューラルネットワークは昔から在る Perceptron, Neocognitron, CNN 学習則 誤り訂正学習,微分を用いたコスト関数の極小化 CNN の原点は Neocognitron であり,脳に学んだ機械である CNN は,ビッグデータ時代になって実用化へ 97
  • 98. まとめ: cont’d Deep Learning の発想は古くから存在 ネットワークのアーキテクチャと学習,双方が重要 Deep Learning は何故流行っているか? Shallow network の性能飽和 Hand-maid Feature detector の難しさ Sparse Modeling の導入による学習方式の確立 計算機性能の向上による可能性の供給 所謂ビッグデータの到来による需要 98
  • 99. やるべきこと 細かい部分は(多分まだ)職人芸を必要とする. Sparseness の設定,データに応じた素子の個数設定 データからのλの推定 設計スキームの一般化 (libsvm 的な何か?)は多分必要 特徴学習・表現学習の期待 Semi-supervised learning ラベル付データのコストが高い分野は割りとありそう マルチデバイスの統合など,イメージフュージョン 99
  • 100. Software-Package 100 Ăąnïƾ LUV0OKHZe^l Pylearn2Univ. Montrealp LISA Lab Python (C++)NumPylpƎđĈE ćånÏûǻÐ Torch7NewYork Univ.nm?Lua/C++Luao}€™‘¼¯ ¢ˆÁ’EơźĈp Ö] CaffeBerkeley Vision and Learning Center (UCB) C++ (Python)ƵÉGPUkĀÖƌê L2014/08ċŔM Cuda-convnet2Alex KrizhevskyC++ (Python)²½ GPUƀŸkp ƬǔïËLTesla K20x8M 元ネタは得居さんのSlideから
  • 101. 参考にしたもの 岡谷先生のスライド http://www.vision.is.tohoku.ac.jp/jp/research/ LeCun の Website http://yann.lecun.com/ Overfeat: http://cilvr.nyu.edu/doku.php? id=software:overfeat:start#webcam_demo DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition https://github.com/UCB-ICSI-Vision-Group/decaf-release/ IEEE PAMI 特集号 http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=6541932 CVPR 2012 Deep Learning チュートリアル http://cs.nyu.edu/~fergus/tutorials/deep_learning_cvpr12/ 神経回路と情報処理(福島邦彦: 朝倉書店) ICONIP 2007 Special Session for Neocognitron Python と Theano を使った Deepnet 構築 http://deeplearning.net/ 101