2014/5/29...
DESCRIPTION
TRANSCRIPT
![Page 1: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/1.jpg)
パターン認識と ニューラルネットワーク
東大 学際情報学府 M1 加賀谷 北斗
![Page 2: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/2.jpg)
相澤・山崎研究室勉強会
What’s パターン認識• 例:自動販売機
2
Q. どうやって機械は硬貨を判別しているか
![Page 3: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/3.jpg)
相澤・山崎研究室勉強会
What’s パターン認識• 例:自動販売機
3
人間はどうやって判別する? →色,大きさ,穴
![Page 4: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/4.jpg)
相澤・山崎研究室勉強会
What’s パターン認識• 例:自動販売機
4
機械が計測しやすいのは,「重さ」「大きさ」など
![Page 5: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/5.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/6.jpg)
相澤・山崎研究室勉強会
パターン認識• 大きく分けて「特徴抽出」ステージと「識別」ステージがある • 機械学習はふつう「識別」を対象にする !
• 1.特徴抽出 • SIFT+BoF, HoG, Haar-like, RGB hist, SPM, Attribute..
• 2.識別規則 • SVMだの決定木だのNNだのランダムフォレストだの • ノーフリーランチ定理 !!
• よい識別を行うには,入力(学習用)データとクラスの対応付けを「学習」させなければならない
6
![Page 7: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/7.jpg)
相澤・山崎研究室勉強会
識別規則の種類• 識別関数:入力を関数に入れてその関数値で分類する • SVM, ニューラルネットワークetc !
!!!
• 識別モデル:入力データからクラス事後確率をモデル化して識別→CRF系
• 生成モデル:どのような分布で入力が生成されたかをモデル化して識別→ベイズ系
7
???
![Page 8: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/8.jpg)
相澤・山崎研究室勉強会
識別規則の種類• 識別関数:入力を関数に入れてその関数値で分類する • SVM, ニューラルネットワークetc !
!!!
• 識別モデル:入力データからクラス事後確率をモデル化して識別→CRF系
• 生成モデル:どのような分布で入力が生成されたかをモデル化して識別→ベイズ系
8
一番簡単
![Page 9: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/9.jpg)
相澤・山崎研究室勉強会
識別規則の種類• 識別関数:入力を関数に入れてその関数値で分類する • SVM, ニューラルネットワークetc !
!!!
• 識別モデル:入力データからクラス事後確率をモデル化して識別→CRF系
• 生成モデル:どのような分布で入力が生成されたかをモデル化して識別→ベイズ系
9
![Page 10: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/10.jpg)
相澤・山崎研究室勉強会
パーセプトロン• 簡単な線形識別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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/11.jpg)
相澤・山崎研究室勉強会
パーセプトロン• これを図式化すると,図のようになる(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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/12.jpg)
相澤・山崎研究室勉強会
パーセプトロン• 要するに正しいwを求めたいのだ !
• そのためには誤差関数を決めて,最小化するように動かせば良い・・が,パーセプトロンに関してはもっとアルゴリズムは簡単
12
![Page 13: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/13.jpg)
相澤・山崎研究室勉強会
パーセプトロン• アルゴリズムは以下の通り !!!!
• μは学習率(0 < μ ≦ 1) • どんくらい変えるのか !
• あるデータ点x_iのクラスと出力に応じて重みベクトルを更新. • 幾何的な説明が可能
13
wi+1 = wi + µxi (f(x) > 0)
wi+1 = wi (else)
![Page 14: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/14.jpg)
相澤・山崎研究室勉強会
パーセプトロン
14
![Page 15: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/15.jpg)
相澤・山崎研究室勉強会
多層パーセプトロン• パーセプトロンの限界 • 線形分離不可能な場合(cf. XOR) • X, Y, XとYの外積の3軸があれば平面分離可能 !
• 線形分離関数の多層化→多層パーセプトロン
15
![Page 16: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/16.jpg)
相澤・山崎研究室勉強会
多層パーセプトロン
16x_i w_ji V_j w_kj y_k
![Page 17: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/17.jpg)
相澤・山崎研究室勉強会
多層パーセプトロン• 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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/18.jpg)
相澤・山崎研究室勉強会
多層パーセプトロン!!!!!
• 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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/19.jpg)
相澤・山崎研究室勉強会
多層パーセプトロン• g(u)(活性化関数,出力関数,伝達関数)の種類 • シグモイド関数 • tanh • ReLU • maxout !
19
![Page 20: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/20.jpg)
相澤・山崎研究室勉強会
多層パーセプトロン• 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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/21.jpg)
相澤・山崎研究室勉強会
多層パーセプトロン• んで,どうやってwを求めるのかという話. • ここで出てくるのがかの有名な !
Back propagation(誤差逆伝播法,誤差逆伝搬法)
21
![Page 22: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/22.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/23.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/24.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/25.jpg)
相澤・山崎研究室勉強会
Back propagation• Case 1 最小二乗誤差を誤差関数に取る場合(回帰問題に使うことが多い)
25
出力層の誤差が出力層と隠れ層の間の重みを通じて隠れ層に伝搬
![Page 26: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/26.jpg)
相澤・山崎研究室勉強会
Back propagation• 今までのがバッチ学習,最急降下法と呼ばれる方法 !
• 1データごとに更新する場合(オンライン学習)や,小さいバッチで行う場合(ミニバッチ学習)などもある.
26
![Page 27: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/27.jpg)
相澤・山崎研究室勉強会
Back propagation• Case 2, 交差エントロピーを用いる場合(分類問題にはこちらが使われることが多い) !!!!!
• 力尽きた.
27
![Page 28: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/28.jpg)
相澤・山崎研究室勉強会
MLP w/ BP+GDの問題• 1. 初期値依存性 • 局所最適解が大量に含まれる誤差関数を最適化するので,初期値によって辿り着く局所解が違う !
• 2. 過学習 • 隠れ素子の数が多くなったり,活性化関数がサチったりでノイズに適合し始めると,過学習が起こる
• 対策として,early stoppingやL2正則化などが行われているが,一番効くのはデータ数を増やすこと
28
![Page 29: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/29.jpg)
相澤・山崎研究室勉強会
NN冬の時代!
• ある時期,NIPS(機械学習系のトップカンファレンス)に投稿される論文の採択率と,タイトルにニューラルネットワークが入っていた場合と負の相関があった(SVMは正の相関) !
• 過学習に対応できず,う~んといったかんじ
29
Deep Learning の登場
![Page 30: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/30.jpg)
相澤・山崎研究室勉強会
Deep Learning
30 CVPR2013 Tutorialより
![Page 31: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/31.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/32.jpg)
相澤・山崎研究室勉強会
Deep Learning• Full-Connected + Pre-traning系 • ネットで探してDeep Learningって言われがちなのはこっち • フル接続の多層NNは誤差が分散してしまって性能が上がらなかったが,事前学習を取り入れることでそれを回避
• Deep Belief NetsやStacked Denoising Autoencodersなどが知られている !
• CNN系 • 事前学習なし,局所受容野の考え方を取り入れることで過学習の回避
• 画像に向いている(らしい)
32
![Page 33: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/33.jpg)
Today I’ll talk about CNN
![Page 34: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/34.jpg)
相澤・山崎研究室勉強会
アウトライン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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/35.jpg)
相澤・山崎研究室勉強会
アウトライン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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/36.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/37.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/38.jpg)
相澤・山崎研究室勉強会
Other dataset..
38
1. Introduction to Convolutional Neural Network
![Page 39: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/39.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/40.jpg)
相澤・山崎研究室勉強会
知識の流れ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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/41.jpg)
相澤・山崎研究室勉強会
基本構造
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/42.jpg)
相澤・山崎研究室勉強会
42
1. Introduction to Convolutional Neural Network
![Page 43: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/43.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/44.jpg)
相澤・山崎研究室勉強会
全体構造• 基本的にはこの2層を繰り返すことで成り立つ. • 最終層は出力層として,ソフトマックス関数を置くことが多い(分類問題の場合) • そこにいたるいくつかの層はフル接続とすることが多い.
44
1. Introduction to Convolutional Neural Network
LeNet-5 [LeCun, 1998]
![Page 45: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/45.jpg)
相澤・山崎研究室勉強会
学習Stochastic Gradient Descend (SGD, Batch training)
!
+ !
Back Propagation (誤差逆伝搬法)
45
1. Introduction to Convolutional Neural Network
![Page 46: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/46.jpg)
相澤・山崎研究室勉強会
アウトライン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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/47.jpg)
相澤・山崎研究室勉強会
全体構造(再掲)• 基本的にはこの2層を繰り返すことで成り立つ. • 最終層は出力層として,ソフトマックス関数を置くことが多い(分類問題の場合) • そこにいたるいくつかの層はフル接続とすることが多い.
47
1. Introduction to Convolutional Neural Network
LeNet-5 [LeCun, 1998]
![Page 48: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/48.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/49.jpg)
相澤・山崎研究室勉強会
• 直感的にはある程度の領域を「まとめる」ことで位置情報を捨て,変化に対してロバストにする作業のこと.
• 広義では,抽出した生の特徴表現を,認識に必要な部分だけ残すような新たな表現に変換すること. !!
• 無意識に多く使われている • 「最大値をとる」「平均をとる」「(語弊あるが)まとめる」 • 要素技術しかり,アルゴリズム全体然り • 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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/50.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/51.jpg)
相澤・山崎研究室勉強会
Pooling
51
2. The Detail of Conventional CNN Techniques
• 結局どれがいいのか • [Boureau, CVPR 2010及びICML 2010]に詳しい議論 • Cardinality(プーリングサイズ)による • 直感的には・・ • 元画像に対し,広い部分を扱うときは平均プーリング,小さい部分の時はmaxの方が良い?
![Page 52: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/52.jpg)
相澤・山崎研究室勉強会
☆プーリング開始画素は? ☆プーリングサイズは?(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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/53.jpg)
相澤・山崎研究室勉強会
局所コントラスト正規化
53
2. The Detail of Conventional CNN Techniques
• 発端は?:計算神経科学(哺乳類の初期視覚野のモデル) • 脳のニュートンによる情報伝達はパルス数によって制限(有限)
• どうやってやる?:減算初期化と除算初期化 • どちらかというと除算が重要か(?) !
• 意味は?: • ①上記の脳の初期視覚野のモデルを表現 • ②複雑視覚野におけるニュ―ロンの選択性がコントラストに非依存であることの説明
![Page 54: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/54.jpg)
相澤・山崎研究室勉強会
局所コントラスト正規化
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/55.jpg)
相澤・山崎研究室勉強会
局所コントラスト正規化
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/56.jpg)
相澤・山崎研究室勉強会
アウトライン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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/57.jpg)
相澤・山崎研究室勉強会
なぜ学習がうまくいくのか?• 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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/58.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/59.jpg)
相澤・山崎研究室勉強会
CNNの問題点•ただただパラメータが多い
59
3. Other Topic
![Page 60: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/60.jpg)
相澤・山崎研究室勉強会
CNNの問題点
60 http://www.slideshare.net/yurieoka37/ss-28152060
3. Other Topic
←最初に決めるが,一番難しい…
![Page 61: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/61.jpg)
相澤・山崎研究室勉強会
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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/62.jpg)
相澤・山崎研究室勉強会
☆プーリング開始画素は? ☆プーリングサイズは?(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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/63.jpg)
相澤・山崎研究室勉強会
いわゆるハイパパラメータ• いくつかの決定手法は提案されてはいる • ランダムサーチのほうが性能がいい?[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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/64.jpg)
相澤・山崎研究室勉強会
アウトライン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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/65.jpg)
相澤・山崎研究室勉強会
cuda-convnet• LSVRC2012優勝のSupervisionのコード • GPU利用が前提 • 演算部分はC++ / CUDA, UI部分はPython !
• @hokkun_cvの卒論にて利用
65
4. Implementation
![Page 66: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/66.jpg)
相澤・山崎研究室勉強会
cuda-convnet• 基本的なCNNの機能を網羅 • ただし自分たちで使ってるDropOutの実装はない • (Forkして公開している人はいる) !
• UI部分はPythonなのでいじりやすい !
• 欠点: • 画像を読み込ませるためにデータ加工するコードを自分で書かなければならない
• 並列処理ライブラリCUDAを用いているので,重要な処理の部分を変更するにはそれなりの知識が必要
66
4. Implementation
![Page 67: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/67.jpg)
相澤・山崎研究室勉強会
まとめ• CNNはConvolutionとPoolingの繰り返しでできている • アイデア自体はかなり古い !
• 同じ層分だけあるフル接続NNよりも性能が良い • なぜかはまだ理論的説明がない !
• 局所的な正規化を行うことで性能向上 !
• あらゆる場所でコンテストを行っても上位独占 • 特にSupervisionの快挙は2013年にその改良を行う論文が多く執筆されたことからもわかる
67
![Page 68: 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/68.jpg)
相澤・山崎研究室勉強会
後半の参考資料(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まで](https://reader030.vdocuments.site/reader030/viewer/2022013107/548e451eb4795982638b48e3/html5/thumbnails/69.jpg)
相澤・山崎研究室勉強会
前半の参考資料(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