2014/5/29...

69
パターン認識と ニューラルネットワーク 東大 学際情報学府 M1 加賀谷 北斗

Upload: hokuto-kagaya

Post on 14-Dec-2014

1.194 views

Category:

Data & Analytics


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

パターン認識と ニューラルネットワーク

東大 学際情報学府 M1 加賀谷 北斗

Page 2: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

What’s パターン認識• 例:自動販売機

2

Q. どうやって機械は硬貨を判別しているか

Page 3: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

What’s パターン認識• 例:自動販売機

3

人間はどうやって判別する? →色,大きさ,穴

Page 4: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

What’s パターン認識• 例:自動販売機

4

機械が計測しやすいのは,「重さ」「大きさ」など

Page 5: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

What’s パターン認識• 例:自動販売機

5

直径 26.5 22.6 21 23.5 22 20厚さ 2.0 1.7 1.7 1.5 1,5 1,2重さ 7 5 4 4.5 4 1

「この硬貨は500円です」

特徴抽出

識別規則

Page 6: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

パターン認識• 大きく分けて「特徴抽出」ステージと「識別」ステージがある • 機械学習はふつう「識別」を対象にする !

• 1.特徴抽出 • SIFT+BoF, HoG, Haar-like, RGB hist, SPM, Attribute..

• 2.識別規則 • SVMだの決定木だのNNだのランダムフォレストだの • ノーフリーランチ定理 !!

• よい識別を行うには,入力(学習用)データとクラスの対応付けを「学習」させなければならない

6

Page 7: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

識別規則の種類• 識別関数:入力を関数に入れてその関数値で分類する • SVM, ニューラルネットワークetc !

!!!

• 識別モデル:入力データからクラス事後確率をモデル化して識別→CRF系

• 生成モデル:どのような分布で入力が生成されたかをモデル化して識別→ベイズ系

7

???

Page 8: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

識別規則の種類• 識別関数:入力を関数に入れてその関数値で分類する • SVM, ニューラルネットワークetc !

!!!

• 識別モデル:入力データからクラス事後確率をモデル化して識別→CRF系

• 生成モデル:どのような分布で入力が生成されたかをモデル化して識別→ベイズ系

8

一番簡単

Page 9: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

識別規則の種類• 識別関数:入力を関数に入れてその関数値で分類する • SVM, ニューラルネットワークetc !

!!!

• 識別モデル:入力データからクラス事後確率をモデル化して識別→CRF系

• 生成モデル:どのような分布で入力が生成されたかをモデル化して識別→ベイズ系

9

Page 10: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

パーセプトロン• 簡単な線形識別2クラス問題を考える !!!!!

• xはd次元ベクトルとする

10

f(x) = w

Tx

if f(x) > 0, x 2 C1

else x 2 C2

Page 11: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

パーセプトロン• これを図式化すると,図のようになる(3次元)

11

y = w1x1 + w2x2 + w3x3 =3X

i=1

wixi = w

Tx

where w = {w1, w2, w3}, x = {x1, x2, x3}

Page 12: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

パーセプトロン• 要するに正しいwを求めたいのだ !

• そのためには誤差関数を決めて,最小化するように動かせば良い・・が,パーセプトロンに関してはもっとアルゴリズムは簡単

12

Page 13: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

パーセプトロン• アルゴリズムは以下の通り !!!!

• μは学習率(0 < μ ≦ 1) • どんくらい変えるのか !

• あるデータ点x_iのクラスと出力に応じて重みベクトルを更新. • 幾何的な説明が可能

13

wi+1 = wi + µxi (f(x) > 0)

wi+1 = wi (else)

Page 14: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

パーセプトロン

14

Page 15: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

多層パーセプトロン• パーセプトロンの限界 • 線形分離不可能な場合(cf. XOR) • X, Y, XとYの外積の3軸があれば平面分離可能 !

• 線形分離関数の多層化→多層パーセプトロン

15

Page 16: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

多層パーセプトロン

16x_i w_ji V_j w_kj y_k

Page 17: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

多層パーセプトロン• V_jへの入力は.. !!!

• V_jの出力は.. !!!!

17

V

nj,in =

dX

i=0

wjixni = w

Tj x

n

V

n

j,out

= g(wT

j

x

n)

g(u) =1

1 + exp(��u)(for example)

Page 18: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

多層パーセプトロン!!!!!

• g(u)をのぞいて単層の場合と一緒..なぜ非線形出力関数を使うのか? • 1. 後述の誤差逆伝播法(勾配法)では微分できなければいけないから

• 2. 隠れ素子の出力関数が線形であれば,多層回路を構成しても等価的に1層の回路で近似可能になってしまう

18

V

n

j,out

= g(wT

j

x

n)

g(u) =1

1 + exp(��u)(for example)

Page 19: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

多層パーセプトロン• g(u)(活性化関数,出力関数,伝達関数)の種類 • シグモイド関数 • tanh • ReLU • maxout !

19

Page 20: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

多層パーセプトロン• y_iの入力は !!!

• 出力(=結果)は !!!!

• g~(u)は(非)線形関数,多クラス分類の時はソフトマックスを用いたりする !

20

ynk,in = wTkjV

n

ynk,out

= g̃(wT

kj

V n)

g̃(u) = act. func.

Page 21: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

多層パーセプトロン• んで,どうやってwを求めるのかという話. • ここで出てくるのがかの有名な !

Back propagation(誤差逆伝播法,誤差逆伝搬法)

21

Page 22: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Back propagation• Case 1 最小二乗誤差を誤差関数に取る場合(回帰問題に使うことが多い)

22

E(w) =1

2

N�

n=1

K�

k=1

(tnk � ynk )2

tnk は教師信号,ynk はMLPの出力.

それを出力ユニット分足しあわせたものを,全データ分足す

wkj(� + 1) = wkj(�) + �wkj(�)

一般にこの修正を何度も繰り返すので,� はイテレーション回数を示す.

Page 23: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Back propagation• Case 1 最小二乗誤差を誤差関数に取る場合(回帰問題に使うことが多い)

23

�wkj(�) =N�

n=1

���En(w)

�wkj= ��

N�

n=1

�En(w)

�ynk

�ynk

�wkj

= �N�

n=1

(tnk � ynk )g̃�(yn

k,in)V nj,out

where En(w) =1

2

K�

k=1

(tnk � ynk )2

Page 24: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Back propagation• Case 1 最小二乗誤差を誤差関数に取る場合(回帰問題に使うことが多い)

24

ここで,�nk = (tnk � yn

k )g̃�(ynk,in)とおくと

�N�

n=1

(tnk � ynk )g̃�(yn

k,in)V nj,out = �

N�

n=1

�nk V n

j,out

※これで出力層終わり

Page 25: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Back propagation• Case 1 最小二乗誤差を誤差関数に取る場合(回帰問題に使うことが多い)

25

出力層の誤差が出力層と隠れ層の間の重みを通じて隠れ層に伝搬

Page 26: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Back propagation• 今までのがバッチ学習,最急降下法と呼ばれる方法 !

• 1データごとに更新する場合(オンライン学習)や,小さいバッチで行う場合(ミニバッチ学習)などもある.

26

Page 27: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Back propagation• Case 2, 交差エントロピーを用いる場合(分類問題にはこちらが使われることが多い) !!!!!

• 力尽きた.

27

Page 28: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

MLP w/ BP+GDの問題• 1. 初期値依存性 • 局所最適解が大量に含まれる誤差関数を最適化するので,初期値によって辿り着く局所解が違う !

• 2. 過学習 • 隠れ素子の数が多くなったり,活性化関数がサチったりでノイズに適合し始めると,過学習が起こる

• 対策として,early stoppingやL2正則化などが行われているが,一番効くのはデータ数を増やすこと

28

Page 29: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

NN冬の時代!

• ある時期,NIPS(機械学習系のトップカンファレンス)に投稿される論文の採択率と,タイトルにニューラルネットワークが入っていた場合と負の相関があった(SVMは正の相関) !

• 過学習に対応できず,う~んといったかんじ

29

Deep Learning の登場

Page 30: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Deep Learning

30 CVPR2013 Tutorialより

Page 31: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

What’s パターン認識• 例:自動販売機

31

直径 26.5 22.6 21 23.5 22 20厚さ 2.0 1.7 1.7 1.5 1,5 1,2重さ 7 5 4 4.5 4 1

「この硬貨は500円です」

特徴抽出

識別規則

こっちもやっちゃう

Page 32: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Deep Learning• Full-Connected + Pre-traning系 • ネットで探してDeep Learningって言われがちなのはこっち • フル接続の多層NNは誤差が分散してしまって性能が上がらなかったが,事前学習を取り入れることでそれを回避

• Deep Belief NetsやStacked Denoising Autoencodersなどが知られている !

• CNN系 • 事前学習なし,局所受容野の考え方を取り入れることで過学習の回避

• 画像に向いている(らしい)

32

Page 33: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

Today I’ll talk about CNN

Page 34: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

アウトライン1. Introduction to Convolutional Neural Network

2. The Detail of Conventional CNN Techniques

3. Other Topic

4. Implementation

34

Page 35: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

アウトライン1. Introduction to Convolutional Neural Network

2. The Detail of Conventional CNN Techniques

3. Other Topic

4. Implementation

35

Page 36: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

ILSVRC 2012

36

チーム Result 手法

SuperVision 15.3% Deep CNN

ISI 26.1% FV + PA

OXFORD_VGG 26.7% FV + SVM

XRCE/INRIA 27.1% FV + SVM

Univ. of Amsterdam 29.6% FV + SVM

LEAR-XRCE 34.5% FV + NCM

1. Introduction to Convolutional Neural Network

Page 37: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

ILSVRC 2013

37

チーム Result 手法

Clarifai 11.7% Deep CNN

NUS 13.0% SVM based + Deep CNN

ZF 13.5% Deep CNN

Andrew Howard 13.6% Deep CNN

OverFeat-NYU 14.1% Deep CNN

UvA-Euvison 14.2% Deep CNN

1. Introduction to Convolutional Neural Network

Page 38: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Other dataset..

38

1. Introduction to Convolutional Neural Network

Page 39: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Other dataset..

• CIFAR-10 • CIFAR-100 • “Network in Network”, ICLR 2014 !

• MNIST • “Regularization of Neural Networks using DropConnect”, ICML, 2013

39

全てCNN (が基にある)

1. Introduction to Convolutional Neural Network

Page 40: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

知識の流れHubel and Wiesel [1962]

(単純細胞,複雑細胞,局所受容野) !!

Fukushima [1980] (Neocognitron)

!!

LeCun [1989, 1998] (Convolutional Neural Network→手書き文字認識への応用)

40

1. Introduction to Convolutional Neural Network

Page 41: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

基本構造

41

2 3 56 7 41 7 3

Convolution(畳み込み)

2 3 56 7 41 7 3

2 3 56 7 41 7 3

Pooling(プーリング,適切な日本語訳なし?)

※画像はイメージです

2 3 56 7 41 7 3

1. Introduction to Convolutional Neural Network

※画像はイメージです

いわゆる移動フィルタの形で,画像を移動しながら注目画素の周辺の画素値を用いて計算.このフィルタをたくさん用意する

(フィルタ=重み行列が局所的)

Page 42: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

42

1. Introduction to Convolutional Neural Network

Page 43: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

43

http://www.vision.is.tohoku.ac.jp/files/9313/6601/7876/CVIM_tutorial_deep_learning.pdf

1. Introduction to Convolutional Neural Network

Page 44: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

全体構造• 基本的にはこの2層を繰り返すことで成り立つ. • 最終層は出力層として,ソフトマックス関数を置くことが多い(分類問題の場合) • そこにいたるいくつかの層はフル接続とすることが多い.

44

1. Introduction to Convolutional Neural Network

LeNet-5 [LeCun, 1998]

Page 45: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

学習Stochastic Gradient Descend (SGD, Batch training)

!

+ !

Back Propagation (誤差逆伝搬法)

45

1. Introduction to Convolutional Neural Network

Page 46: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

アウトライン1. Introduction to Convolutional Neural Network

2. The Detail of Conventional CNN Techniques

3. Other Topic

4. Implementation

46

Page 47: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

全体構造(再掲)• 基本的にはこの2層を繰り返すことで成り立つ. • 最終層は出力層として,ソフトマックス関数を置くことが多い(分類問題の場合) • そこにいたるいくつかの層はフル接続とすることが多い.

47

1. Introduction to Convolutional Neural Network

LeNet-5 [LeCun, 1998]

Page 48: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Convolutionは先ほど説明したとおりだが… !☆いくつカーネル(フィルタ)を用意する? ☆カーネルのサイズは? ☆「端っこ」の扱いは? ☆活性化関数は? ☆重みやバイアスの決定は? ☆フィルタの動かし方は?

Convolution

48

2. The Detail of Conventional CNN Techniques

[conv] type=conv inputs=data channels=3 filters=32 padding=4 stride=1 filterSize=9 neuron=logistic initW=0.00001 initB=0.5

Page 49: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

• 直感的にはある程度の領域を「まとめる」ことで位置情報を捨て,変化に対してロバストにする作業のこと.

• 広義では,抽出した生の特徴表現を,認識に必要な部分だけ残すような新たな表現に変換すること. !!

• 無意識に多く使われている • 「最大値をとる」「平均をとる」「(語弊あるが)まとめる」 • 要素技術しかり,アルゴリズム全体然り • ex)                       SIFT[Lowe 99], Bag of Features[], Spatial Pyramid[], Object Bank[2010],

Pooling

49

2. The Detail of Conventional CNN Techniques

Page 50: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Pooling

50

2. The Detail of Conventional CNN Techniques

• Max pooling !!!

• Avg. pooling (平均プーリング) !!!

• (一般の) Pooling

hi,k+1 = max

j2Pi,k

hj

hi,k+1 =1

|Pi|X

j2Pi

hj

hi,k+1 =

✓1

|Pi|X

j2Pi

hpj

◆ 1p

p=1 avg p=∞ max

※実際にはavg~maxのつなぎ方は他にもあり,詳細は[Boureau, ICML 2010]を参照

Page 51: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Pooling

51

2. The Detail of Conventional CNN Techniques

• 結局どれがいいのか • [Boureau, CVPR 2010及びICML 2010]に詳しい議論 • Cardinality(プーリングサイズ)による • 直感的には・・ • 元画像に対し,広い部分を扱うときは平均プーリング,小さい部分の時はmaxの方が良い?

Page 52: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

☆プーリング開始画素は? ☆プーリングサイズは?(Overlap) ☆動かす幅は?(Overlap) ☆活性化関数は? ☆プーリングの種類は?

Pooling

52

2. The Detail of Conventional CNN Techniques

[pool] type=pool pool=max inputs=local32 start=0 sizeX=4 stride=2 outputsX=0 channels=32 neuron=relu

Page 53: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

局所コントラスト正規化

53

2. The Detail of Conventional CNN Techniques

• 発端は?:計算神経科学(哺乳類の初期視覚野のモデル) • 脳のニュートンによる情報伝達はパルス数によって制限(有限)

• どうやってやる?:減算初期化と除算初期化 • どちらかというと除算が重要か(?) !

• 意味は?: • ①上記の脳の初期視覚野のモデルを表現 • ②複雑視覚野におけるニュ―ロンの選択性がコントラストに非依存であることの説明

Page 54: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

局所コントラスト正規化

54

2. The Detail of Conventional CNN Techniques

• 減算正規化 !!!!

• 除算正規化

h̄i,j,k = hj,k �X

i,p,q

wp,qhi,j+p,k+q

h : 前層の出力 j, k : 画素

i : フィルタ番号 w : 平均を調整するための重み

c : 定数h0i,j,k =

h̄i,j,kqc+

Pi,p,q wp,qh̄2

i,j+p,k+q

文献によっては,減算をしていないもの [Krizhevsky 2012]もある また,いくつかのフィルタにまたがる場合(across map)とまたがらない場合がある

Page 55: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

局所コントラスト正規化

55

2. The Detail of Conventional CNN Techniques

• 具体的な効果は?: • improves invariance • improves optimization • increase sparsity [以上,Ranzato, CVPR 2013 Tutorial]

Page 56: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

アウトライン1. Introduction to Convolutional Neural Network

2. The Detail of Conventional CNN Techniques

3. Other Topic

4. Implementation

56

Page 57: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

なぜ学習がうまくいくのか?• Bengio「Although deep supervised neural networks were generally found too difficult to train before the use of unsupervised pre-training, there is one notable exception: convolutional neural networks.」[Bengio, 2009] !

• 一般に多層のNNは過学習を起こす • なぜCNNはOK? !

• “One untested hypothesis” by Bengio • 入力数(fan-in)が少ないと誤差なく勾配伝搬する? • 局所的に接続された階層構造は認識タスクに向いている? • FULL < Random CNN < Supervised CNN

57

3. Other Topic

Page 58: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

DropOut• DropOut [Hinton et al., 2012] • 学習時に,中間層の出力の50%をrandomに0にする • 一時的に依存関係を大幅に減らすことで,強い正則化の効果がある

• 一般化→DropConnect [Wan et al., 2013] • 50% -> (1-p)% • Sparseな接続の重み行列に

58

3. Other Topic

Page 59: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

CNNの問題点•ただただパラメータが多い

59

3. Other Topic

Page 60: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

CNNの問題点

60 http://www.slideshare.net/yurieoka37/ss-28152060

3. Other Topic

←最初に決めるが,一番難しい…

Page 61: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

Convolutionは先ほど説明したとおりだが… !☆いくつカーネル(フィルタ)を用意する? ☆カーネルのサイズは? ☆「端っこ」の扱いは? ☆活性化関数は? ☆重みやバイアスの決定は?

Convolution(再掲)

61

[conv] type=conv inputs=data channels=3 filters=32 padding=4 stride=1 filterSize=9 neuron=logistic initW=0.00001 initB=0.5

3. Other Topic

Page 62: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

☆プーリング開始画素は? ☆プーリングサイズは?(Overlap) ☆動かす幅は?(Overlap) ☆活性化関数は? ☆プーリングの種類は?

Pooling(再掲)

62

[pool] type=pool pool=max inputs=local32 start=0 sizeX=4 stride=2 outputsX=0 channels=32 neuron=relu

3. Other Topic

Page 63: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

いわゆるハイパパラメータ• いくつかの決定手法は提案されてはいる • ランダムサーチのほうが性能がいい?[Bergstra, 2012] • 基本的には層は多くあるべき? [Bengio, 2013] • http://www.slideshare.net/koji_matsuda/practical-recommendation-fordeeplearning

!!

• しかし基本的に問題依存とされる • 経験則しか頼りづらいBlack-box tool

63

3. Other Topic

Page 64: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

アウトライン1. Introduction to Convolutional Neural Network

2. The Detail of Conventional CNN Techniques

3. Other Topic

4. Implementation

64

Page 65: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

cuda-convnet• LSVRC2012優勝のSupervisionのコード • GPU利用が前提 • 演算部分はC++ / CUDA, UI部分はPython !

• @hokkun_cvの卒論にて利用

65

4. Implementation

Page 66: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

cuda-convnet• 基本的なCNNの機能を網羅 • ただし自分たちで使ってるDropOutの実装はない • (Forkして公開している人はいる) !

• UI部分はPythonなのでいじりやすい !

• 欠点: • 画像を読み込ませるためにデータ加工するコードを自分で書かなければならない

• 並列処理ライブラリCUDAを用いているので,重要な処理の部分を変更するにはそれなりの知識が必要

66

4. Implementation

Page 67: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

まとめ• CNNはConvolutionとPoolingの繰り返しでできている • アイデア自体はかなり古い !

• 同じ層分だけあるフル接続NNよりも性能が良い • なぜかはまだ理論的説明がない !

• 局所的な正規化を行うことで性能向上 !

• あらゆる場所でコンテストを行っても上位独占 • 特にSupervisionの快挙は2013年にその改良を行う論文が多く執筆されたことからもわかる

67

Page 68: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

後半の参考資料(updated)

• 論文 • Krizhevsky et al., ImageNet Classification with Deep Convolutional Neural Networks, NIPS, 2012 • LeCun et al., Gradient-Based Learning Applied to Document Recognition, Proc. of IEEE, 1998 • [20][21][22] !

• 日本語スライド • http://www.slideshare.net/koji_matsuda/practical-recommendation-fordeeplearning • http://www.slideshare.net/kazoo04/deep-learning-15097274 • http://www.slideshare.net/yurieoka37/ss-28152060 (実装に詳しい) • http://www.slideshare.net/mokemokechicken/pythondeep-learning (実際にアプリケーションを作成した例) !

• 海外チュートリアル • CVPR 2013のTutorialはCNNに焦点があたっている(GoogleのRanzato氏) • ICML 2013, CVPR 2012等も参考になる

68

Page 69: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで

相澤・山崎研究室勉強会

前半の参考資料(updated)

• 本 • はじめてのパターン認識,平井著,森北出版 • わかりやすいパターン認識,石井ら著,オーム社 • PRML !

• Web • http://www.slideshare.net/Tyee/f5up • http://www.slideshare.net/tonets/prml-chapter-5 • http://www.cbrc.jp/~asai/LECTURE/H16SeitaiJouhouRon/NN_learning.pdf !!!

69