20140705.西野研セミナー

44
Deep Learning 勉強会(1) 2014/07/05 電気通信大学 大学院情報理工学研究科 庄野 逸: [email protected] 1 http://www.slideshare.net/HAL9801

Upload: shouno-hayaru

Post on 16-Apr-2017

2.152 views

Category:

Science


0 download

TRANSCRIPT

Deep Learning 勉強会(1)

2014/07/05 電気通信大学 大学院情報理工学研究科

庄野 逸: [email protected]

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.5OR 1 1 0.5NAND -1 -1 -1.5

y

y

現代のNN の基本素子入力の線形和

非線形活性化関数

Logistic-Sigmoid Rectified Linear Hyperbolic Tangent, etc...

6

y1

y3

x1

x2

x3

y2

z2

u

f (u)u

j

=

3X

i=1

w

ji

x

i

+ b

j

y

j

= f

⇣u

j

Architectureニューラルネットワークアーキテクチャ

階層型(今回のメインはこっち)

相互結合型

7Input

Output

u

yx1 y

x2Σ u

θ

w1

w2

NN の学習とは?

モデルパラメータ {w, θ} で振る舞いが変化

モデルパラメータをデータから決定する→学習

8

w w θAND 1 1 1.5OR 1 1 0.5NAND -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

w21w22w23 y3(xn)

{xn}x3n

1

x2nx1n

Sensory Layer

Associative Layer

Response Layer

Simple Perceptron による識別

2入力1出力単純パーセプトロン

12

φ2

φ1

y = sgn

0BBBBBB@X

j

w j� j

1CCCCCCA

= 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 wt

単純パーセプトロンの限界

単純パーセプトロン:一本の直線での境界分離(線形分離)

XOR 問題は解けない (Minsky&Papert 68)→ NN 第1次 冬の時代

14

クラス1クラス2

φ2

φ1

単純パーセプトロンの限界の打破XOR 問題の解法

複数の分離直線を使えば分離可能

各線の分離結果を合成→階層化が妥当

15

クラス1クラス2

x2

x1

{xn} {zn}

x1

x2

x0z0

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) =12

n

�tn � y(xn)�2コスト関数

{xn}t1nt2nt3n

{tn}y2(xn)y1(xn)

y3(xn)x3n

1

x2nx1n

φ3(xn)w23

更新則

Multi Layer Perceptron の設定

21

yk

tk

k

jwkj

iwji

入力層 x

隠れ層 z

出力層 y

Multi Layer Perceptron(MLP) アーキテクチャ

隠れ層を持つ

信号の処理方向は一方向のみ

教師あり学習 {xn, tn} → {w(1)ji, w(2)kj}

連鎖則による微分の導出(1)

22

コスト関数yk

tk

k

jwkj

iwji� j

微係数

割と煩雑に見えるが…

連鎖則による微分の導出(2)

23

コスト関数yk

tk

k

jwkj

iwji� j

微係数 誤差 δ の導入ですっきり

誤差 δ は,上位層からの逆方向の伝達 (Back propagation) で記述可能

Back Propagation の連鎖則

24

yk

tk

k

jwkj

� j = f 0(u j)X

k

�kwk jiwji� 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

V4PIT

CIT

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 segmentdetector

Large receptive field

Face, Complex featuredetector

?

?

(Felleman & van Essen 91 を改変)

初期視覚野 (V1野) の計測

29

2

ĉƻ�8ƙĵ�ǷPMC48�Ɖ7 5G�¹bp{d

QǬ´&C(�":-F�ɑɆ�KŽ3�MŘƞĉQǷ

PMƙĵ;G�x]f�:Ɣɀ4;�LC*R�Řƞĉ

8; 150ɇɅ:Řƞĉƻ��Lj9KN3�C(�500ɇ

ĝ:ŘľɃ�K 150ɇɅ:ƻ�870-:4(�K�¬

K�:Ɣɀ�ż�Û8ɑɆ4á03�C(�

� 6:J�7ƔɀƂɧ�á03�M:�Q¸Ư(M-

F8;��ĝ�ĝ:ƞĉľɃ�1CL�Ʌ�Ʌ:ƞĉƻ

��ǜ�ƔɀQƏľ8ljMȦɠ��LC(��1:ȣƓ

8ɘĦ7Ɂɂ;ĝ�:ľɃ:ŰɜɕQljM"54(�A

5R6 180ǻ8þ�ī$Qś1ȃȴĝǒ:Řɕ5�7L�

ĝ�:ŘÅľɃ8503:Řɕ;�Ƣ�8�MJ�8Æ

ǻ8&3 1~ƥǻ:ö�Ƞ�8ĜKN3�C(�":J�

7�ĝ�:ƞĉľɃ�ĤōČ8Ǔ&3ÌŰƨQś1ɰ�

5,:ĄQŰɜɕ5ğ=C(�Űɜɕ;ŘÅľɃ850

3;��P<¿»8½�N-ƈ$7ǃ4�M5��"5�4�C(�ŘÅľɃ:Űɜɕ:Ą;�ɑ

Ɇ�KĴŝ:Ȕɰ�C4:ÀǠ¾4�ȆǧDz7��Qś03�C(�Űɜɕ:ĄQĔN<�,:ľ

Ƀ�¶DžǤ8ÔCNM6:J�7Ą8ĽGɯ ȝ¦(M:��ɚlj4�C(�

� -5�<�Řƞĉƻ�:�Ʌ�Ʌ;ɑɆ8�MƞĉƶľɃ5��ůɳ:ľɃ�KŽ3�ŘƊ5�

�Ȕ:Ǥƛȯȵ8�MƞĉÂ:ľɃ8bp{dQ·&317�LC(��"NK:ƞĉƶľɃ:Ű

ɜɕ;ȋŻ:Ȅƛ£ă:ĮdžQ&3�C(�":-F�ƈ$7Ǥƛȯȵ8ɍM�Ĥ:d�jnQ�

ȄŜ8,:ŲL8�Mo�pkƕ:ȯȵ8��ōČQǯŠ(M5ĽGɯ ȝ¦&C(�ŘƊ:ľɃ

GA5R6Ȅɝ:ŰɜɕQś03�C(�Ĥ�Ǥƛȯȵ5��^ƕ:ŲȽȯȵ8éB(Ħ±;è8

Ȃ :4�Űɜɕƽǒ8�ɝ8ɍM�ĤQƋŪ&3G�ľɃ;��03ȝ¦&C*R�1CL�Ó

�Ą4`�n�dn�ɯ ȫ�3�7�5�ɑɆ:ľɃ;ɯ ȝ¦&C*R�

����¦: v v:~¯'t3"C?:� ��+7��·�¥:§:¨­��

� ǖȔ4Ľƃ8ŘƊ�K:ƞĉƙĵQŰ!ŭMɰ�Q�ŝŘÅɕ(V1)5ğ=C(�":ɰɕ8�M

ľɃ;�ɑɆHŘƊ4;Ħ±Dz.0-Ó�ōČ8;�CLȝ¦&C*R�V1 :ƞĉľɃ; 1960

Ȑĸ�ľɃ8J03�7MȆǮ:Æǻ4Ǫ Ƙ=-ƺƕ:ĤH�ǫƺƕ:ɍ�:ò»8J ȝ¦(

M"5��Ģ8s�|�ƐQŰƐ(MHubel5Wiesel5��ȋơ:°Èū8JLțĔ$NC&-�

":țĔǼƃ�K 1980Ȑ"OC4;�V1:ƞĉľɃ;ƺHWjcò»�Űɜɕ8ȍM5ȝ¦

(M�ƺ:ĒŽÙ�H�WjcĒŽÙ�5&3Ýȓ&3�M:4;7��5ǐ :ēìū�İ�C

&-�

� &�&�ĚŁ;":İ�;ęɉ8;ƫ& 7�0-5$N3�C(�,N; V1ľɃ:Űɜɕ:

� ��n�fq:�r~¯:�³²�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

V4PIT

CIT

Ventral Pathway

AIT

TEO

TE

V1

V4

V2

IT

Small receptive field

Edge, Line segmentdetector

Large receptive field

Face, Complex featuredetector

?

?

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

V4PIT

CIT

Ventral Pathway

AIT

TEO

TE

V1

V4

V2

IT

Small receptive field

Edge, Line segmentdetector

Large receptive field

Face, Complex featuredetector

?

?

(Kobatake & Tanaka 94 を改変)

CNN の視覚野的解釈

Hubel & Wiesel : Simple → Complex Cell の階層性

V2 → IT の不明な領野 → 初期視覚野構造のアーキテクチャ外挿

学習によるチューニング可能性

34

V1

V2

V4PIT

CIT

Ventral Pathway

AIT

TEO

TE

V1

V4

V2

IT

Small receptive field

Edge, Line segmentdetector

Large receptive field

Face, Complex featuredetector

?

?

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): XInput: x

Convlution Layer

Blurring

Preferred

Orientation

S-cell responseInput: x

Subsampling Layer

ConvolutionsSubsampling

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) 歴史的背景

ConvolutionNeural 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 Recognitionhttps://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