Deep Learning
勉強会(1)
2014/07/05
電気通信大学 大学院情報理工学研究科
庄野 逸: 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) 歴史的背景
Neural net (NN)の基礎知識
基本素子
ネットワークアーキテクチャ
学習
3
McCulloch-Pitts 素子モデル(1)
最初の数理的ニューロンモデル (McCulloch&Pitts 43)
入力は線形重ねあわせ
活性化関数 f(): 閾値制御
4
u
yx1 y
x2
Σ
u
θ
w1
w2
McCulloch-Pits 素子モデル(2)
モデルパラメータ {w, θ} の変更→様々な論理素子
5
u
yx1 y
x2
Σ
u
θ
w1
w2
w w θ
AND 1 1 1.5
OR 1 1 0.5
NAND -1 -1 -1.5
y
y
現代のNN の基本素子
入力の線形和
非線形活性化関数
Logistic-Sigmoid
Rectified Linear
Hyperbolic Tangent, etc...
6
y1
y3
x1
x2
x3
y2
u
f (u)uj =
3X
i=1
wjixi + bj
yj = f
⇣
uj
⌘
Architecture
ニューラルネットワークアーキテクチャ
階層型(今回のメインはこっち)
相互結合型
7
Input
Output
u
yx1 y
x2
Σ
u
θ
w1
w2
NN の学習とは?
モデルパラメータ {w, θ} で振る舞いが変化
モデルパラメータをデータから決定する→学習
8
w w θ
AND 1 1 1.5
OR 1 1 0.5
NAND -1 -1 -1.5
9
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) 歴史的背景
Perceptron
(Rosenblatt 57)
10
Perceptron のアーキテクチャ
McClloch-Pits ニューロンによる階層型ネットワーク
S層 - A層 間は固定ランダム結合
A 層 - R 層 間が学習で決定される結合
11
y2(xn)
y1(xn)w20
w21
w22
w23 y3(xn)
{xn}
x3
n
1
x2
n
x1
n
Sensory
Layer
Associative
Layer
Response
Layer
Simple Perceptron による識別
2入力1出力単純パーセプトロン
12
φ2
φ1
y = sgn
0
BBBBBB@
X
j
wj j
1
CCCCCCA
= sgn (w0 + w1 1 + w2 2)
w0 + w1 1 + w2 2 = 0
1
2
y
クラス1
クラス2
Perceptronの学習: 誤り訂正学習
Hebb 学習則

教師 t と出力 y の関係により w を修正
{xn, tn} が与えられたとき y(xn) = tn としたい
正解 tn と答え yn が不一致のときのみパラメータを修正
!
解が存在する場合,正しい解に収束する→デモ
13
yx
w
t
単純パーセプトロンの限界
単純パーセプトロン:一本の直線での境界分離(線形分離)
XOR 問題は解けない (Minsky&Papert 68)

→ NN 第1次 冬の時代
14
クラス1
クラス2
φ2
φ1
単純パーセプトロンの限界の打破
XOR 問題の解法
複数の分離直線を使えば分離可能
各線の分離結果を合成→階層化が妥当
15
クラス1
クラス2
x2
x1
{xn} {zn}
x1
x2
x0
z0
z1
z2
1 1
y
16
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) 歴史的背景
Back Propagation
with Multi Layer Perceptron
(Rumelhart+ 86)
(Amari 67)
17
Error Back-propagation
単純 Perceptron の線形分離可能性

→ 階層性による打破
階層にした場合の学習則
基本アイディアは勾配法
微分の連鎖則を活用
18
x0
x1
xD
z0
z1
zM
y1
yK
w
(1)
MD
w
(2)
KM
w
(2)
10
hidden units
inputs outputs
線形パーセプトロンの勾配学習法(1)
2乗誤差の勾配を用いる学習則

デルタ則,adaline 則 (Widrow-Hoff 1960) 

19
勾配を使うには微分可能性が必要なので

ニューロンの活性化関数に線形関数を使う
u
yx1 y
x2
Σ
u
w1
w2
線形パーセプトロンの勾配学習法(2)
2乗誤差の勾配を用いる学習則

デルタ則,adaline 則 (Widrow-Hoff 1960) 

20
E(w) =
1
2 n
tn y(xn) 2コスト関数
{xn}
t1
n
t2
n
t3
n
{tn}y2(xn)
y1(xn)
y3(xn)x3
n
1
x2
n
x1
n
φ3(xn)
w23
更新則
Multi Layer Perceptron の設定
21
yk
tk
k
j
wkj
i
wji
入力層 x
隠れ層 z
出力層 y
Multi Layer Perceptron(MLP) アーキテクチャ
隠れ層を持つ
信号の処理方向は一方向のみ
教師あり学習 {xn, tn} → {w(1)
ji, w(2)
kj}
連鎖則による微分の導出(1)
22
コスト関数yk
tk
k
j
wkj
i
wji
j
微係数
割と煩雑に見えるが…
連鎖則による微分の導出(2)
23
コスト関数yk
tk
k
j
wkj
i
wji
j
微係数 誤差 δ の導入ですっきり
誤差 δ は,上位層からの逆方向の伝達
(Back propagation) で記述可能
Back Propagation の連鎖則
24
yk
tk
k
j
wkj
j = f0
(uj)
X
k
kwk j
i
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
26
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) 歴史的背景
Neocognitron
(Fukushima 1980)
27
視覚野(Ventral pathway)の性質
視覚野: 階層構造を持ち,階層ごとに異なる視覚課題の解決
初期視覚野: 狭い受容野,単純な特徴抽出

Simple Cell,Complex Cellの存在
高次視覚野: 広い受容野,中程度に複雑な特徴に選択的
28
V1
V2
V4
PITCIT
Ventral Pathway
AIT
TEO
TE
V1
V2
V3 VP
V4 MT VA/V4
PIT
AIT/CIT 8 TF
LIP MST DPL VIP
7a
V3A
V1
V4
V2
IT
Small receptive field
Edge, Line segment
detector
Large receptive field
Face, Complex feature
detector
?
?
(Felleman & van Essen 91 を改変)
初期視覚野 (V1野) の計測
29
500
http://ohzawa-lab.bpe.es.osaka-u.ac.jp/resources/text/KisokouKoukai2009/Ohzawa2009Koukai04.pdf
初期視覚野の性質
線分やエッジなどの成分に反応
Simple cell: 方位,位相に敏感
Complex cell: 位相には許容的
30
Simple Cell
Phase Sensitive
Orientation Selective
Receptive Field
Input Stimulus
Fire Not FireNot Fire
Phase InsensitiveComplex Cell
Receptive Field
Input Stimulus
Fire Not FireFire
V1
V2
V4
PITCIT
Ventral Pathway
AIT
TEO
TE
V1
V4
V2
IT
Small receptive field
Edge, Line segment
detector
Large receptive field
Face, Complex feature
detector
?
?
Hubel-Wiesel 階層仮説
Simple Cell の出力合成で,

Complex cell は説明可能

(Hubel & Wiesel 59)
31
Simple Cell
Phase Sensitive
Orientation Selective
Receptive Field
Input Stimulus
Fire Not FireNot Fire
Phase InsensitiveComplex Cell
Receptive Field
Input Stimulus
Fire Not FireFire
Simple/Complex Cell
計算論的解釈
32
細胞種類 結合様式 計算の意味 計算操作
Simple
cell
特徴抽出
テンプレートマッチ
Gaussian-Tuning
and 素子的
Complex
cell
変形の許容
並進不変性
Soft-max
or 素子的
(Poggio 07 を改変)
高次視覚野の性質
中程度に複雑な特徴に反応

顔細胞の存在
巨大な受容野
時空間的な変化に許容的
33
V1
V2
V4
PITCIT
Ventral Pathway
AIT
TEO
TE
V1
V4
V2
IT
Small receptive field
Edge, Line segment
detector
Large receptive field
Face, Complex feature
detector
?
?
(Kobatake &Tanaka 94 を改変)
CNN の視覚野的解釈
Hubel & Wiesel : Simple → Complex Cell の階層性
V2 → IT の不明な領野

→ 初期視覚野構造のアーキテクチャ外挿
学習によるチューニング可能性
34
V1
V2
V4
PITCIT
Ventral Pathway
AIT
TEO
TE
V1
V4
V2
IT
Small receptive field
Edge, Line segment
detector
Large receptive field
Face, Complex feature
detector
?
?
U0 Us1Uc1 Us2Uc2 Us3Uc3 Us4Uc4 Us5Uc5
41x41x1
41x41x8
41x41x8
41x41xK2
21x21xK2
21x21xK3
11x11xK3
11x11xK4
5x5xK4
5x5xK5
1x1xK5
Convolution NN (CNN)
(Neocognitron)
畳み込みによる局所特徴抽出と空間プーリング
Neocognitron(Fukushima80): 階層仮説の実装 (Hubel & Wiesel 59)
35
S-Cell Feature Extraction
Us1 Uc1
C-Cell Tolerance to the distortion
Input
Recognition
U0 Us2 Uc2 Us3 Uc3 Us4 Uc4
It’ s “5”
S-Cell S-Cell
C-Cell
S-Cell
C-Cell
Feature IntegrationLocal
Feature
Global
Feature
CNN の動作原理
局所特徴抽出(畳み込み)+変形に対する不変性(プーリング)
36
Preferred Feature
(Orientation): X
Input: x
Convlution Layer
Blurring
Preferred
Orientation
S-cell response
Input: x
Subsampling Layer
Convolutions
Subsampling
Convolutions
Subsampling
Preferred feature
CNN の動作原理(contd.)
局所特徴抽出(畳み込み)+変形に対する不変性(プーリング)
37
38
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) 歴史的背景
Convolution

Neural Network
(CNN)
(LeCun+ 1986, Okada 1988)
39
Convolution-net
基本アーキテクチャ
Neocognitron (Fukushima 80)
畳み込み演算による,

局所特徴抽出+並進不変性
学習則に Back-Propagation
(LeCun+86, Okada88)
40
(LeCun+86)
CNN デモ
41
http://yann.lecun.com/exdb/lenet/index.html
Rotataion Scale
NoiseMultiple Input
Deep learning事例:
一般物体認識
IMAGENET Large Scale Visual Recognition Challenge 2012
1000 カテゴリ 約1000枚の訓練画像
Convolution Neural Network
42
Krizhevsky et al. NIPS 2012
SIFT + FVs: 0.26 test err.
CNN: 0.15 test err.
まとめ
ニューラルネットワークの基本要素
素子の振る舞い,アーキテクチャ,学習モデル
階層型ニューラルネットワーク
Perceptron, Neocognitron, CNN
学習則
誤り訂正学習,微分を用いたコスト関数の極小化
CNN の原点は Neocognitron であり,脳に学んだ機械である
CNN は,ビッグデータ時代になって実用化へ
43
参考にしたもの
岡谷先生のスライド 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/
44

20140705.西野研セミナー