20150803.山口大学集中講義

110
山口大学 集中講義 ニューラルネット: 基礎から応用へ 2015/08/03~2015/08/06 電気通信大学 大学院情報理工学研究科 庄野 逸: [email protected] 1 http://www.slideshare.net/HAL9801

Upload: shouno-hayaru

Post on 18-Aug-2015

547 views

Category:

Education


1 download

TRANSCRIPT

山口大学 集中講義 ニューラルネット: 基礎から応用へ

2015/08/03~2015/08/06 電気通信大学 大学院情報理工学研究科

庄野 逸: [email protected]

1

http://www.slideshare.net/HAL9801

ニューラルネットワーク脳研究

統計物理統計学

解析手法の提供

確率的情報処理(主にBayes 推定の立場から)

解析手法の提供理論的な

類似性

データマイニング最適化問題

応用

解析手法の提供医療画像応用

実データへの応用

脳的な何か磁石の理論

画像処理

研究立ち位置的なもの

講義計画

ガイダンス (8/3)

ニューラルネットワークの構成要素 (8/4午前)

パーセプトロンと誤差逆伝搬法(8/4午後)

Neocognitron/Deep Convolution Neural network (8/5午前, 午後)

(講演)いま何故 Deep net なのか?

Boltzmann Machine とその眷属(8/5 午後, 8/6午前)

4

単位の認定について出席: 点数化はしない,単位認定の十分条件

単位認定はレポートによる判定

レポート課題

テーマ: 講義内で取扱ったトピックに関する要約

自分の研究とのかかわり合い, 追加論文調査(要引用)等を交えた論述は加点対象

分量: A4 用紙,4ページ以内

提出期限: 2015/08/18 24

提出場所: (どうしよう?)

5

多分必要となる学問体系学生: 先生,脳(ニューラルネット)の研究やりたいです!

僕:なんで?

学: だって,線形代数とか情報理論とかプログラミングとかいらなさそうな,ふわっとした話みたいじゃないですか

僕: ごめん,それ全部いるんだ…

6

多分必要となる学問体系

数理的な空間の記述

高次元空間の記述: 線形代数でも低次元(2~3次元)で考えて図を描くのが理解が早い

観測データにはノイズが含まれる

データの散らばり,モデルの記述: 確率,統計

モデルの適切なパラメータ決定: 最適化,簡単なモデルでは解析計算: 微積分

計算機によるデータの生成: プログラミングただしロジックが重要,昔ほど言語の高速性は要求されない .パッケージが充実している言語: MATLAB, R, Python など

7

本講義を受ける際に

数式での表現は万国共通なので重要 でも式の表現しているイメージの方がはるかに重要.数式は言葉にすぎません.

基礎的な線形代数,確率・統計,解析学の知識が必要となる場合があるので,しっかり復習しましょう

プログラミングはパッケージを利用することを考えましょう.

python は,numpy, scipy, matplolib などのパッケージでかなりのことができます

さらに scikit-learn などの機械学習パッケージ,pylearn2, chainer などの Deep net 向けのパッケージがあります

8

山口大学 集中講義 ニューラルネット: 基礎から応用へ

2015/08/03~2015/08/06 電気通信大学 大学院情報理工学研究科

庄野 逸: [email protected]

9

http://www.slideshare.net/HAL9801

なぜ,いま (ディープな)ニューラルネットなのか?

10

岡之原さんのスライドから http://www.slideshare.net/pfi/deep-learning-22350063

世界を取り巻く動き

2013/03 Google: DNN research を買収

2013/04 Baidu: Institute of Deep Learning を設立

2013/12 Facebook: AI research lab を設立

2014/01 Google: DeepMind を設立

日本でも人工知能研究拠点の設立へ

ドワンゴ: 人工知能研究所

産総研: 人工知能研究所設立

11

12

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) 歴史的背景第3期(たぶん)

ニューラルネットは新技術なの?

歴史的には 1960 年代くらいまで遡れる

要素技術的には新しいことは(多分)それほどない

第2期のブームから大きく変化したもの

データの質と量: Internet, SNS, Cloud…

計算機環境: パッケージ化,GPU の勃興…

13

Neural net (NN)の基礎知識NN を構成する3要素 基本ユニット(ニューロン) 決定論的ユニット 確率的ユニット

ネットワークアーキテクチャ 階層型 相互結合型

学習ルール 教師あり学習 教師なし学習

14

神経回路モデルのはじまりニューラルネットワーク (NN) は脳構造の真似から

脳は 140億個の神経細胞(Neuron) から構成される

15

http://ja.wikipedia.org

http://www.scholarpedia.org/article/Neuron

ニューロンのモデル化ができるか?

ニューロンの特性ニューロンは基本的に 2値表現(と考えられた) 活性(ON)状態/非活性(OFF)状態 信号伝達方法 ニューロン内部: 電気信号

ニューロン間: 化学信号

16

McCulloch-Pitts 素子モデル(1)

最初の数理的ニューロンモデル (McCulloch&Pitts 43)

入力は線形重ねあわせ

活性化関数 f ( ): 閾値制御

17

u

yx1 y

x2Σ u

θ

w1

w2

McCulloch-Pits 素子モデル(2)

モデルパラメータ {w, θ} の変更→様々な論理素子

18

u

yx1 y

x2Σ u

θ

w1

w2

w1 w2 θAND 1 1 1.5OR 1 1 0.5NAND -1 -1 -1.5

y

y

モダンNN の基本素子ユニット(1) 決定論的ユニット

内部状態: 入力の線形和 出力: 非線形活性化関数 Logistic-Sigmoid Rectified Linear Hyperbolic Tangent, etc...

19

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

内部状態

出力

u

j

=

3X

i=1

w

ji

x

i

+ b

j

y

j

⇠ p(yj

| uj

)

y

y

モダンNN の基本素子ユニット(2) 確率的ユニット

内部状態: 入力の線形和 出力: 確率変数値 内部状態 uj は事後確率のパラメータとして用いられる

20

x1

x2

x3

y2

z2

内部状態

出力

p(y j | u j) =1

1 + e��u jなど

ネットワークアーキテクチャニューラルネットワークアーキテクチャとは? 素子と素子とをどう繋いでネットワーク構築するか?

全体の構成に関する議論 階層型アーキテクチャ 相互結合型アーキテクチャ

それ以外の観点も在る 結合の密度がスパースか全結合か? Feed forward 型 か Recurrent 型か

21

階層型アーキテクチャ入力パターンを順次変換していくアーキテクチャ

入出力が層単位で定義され一つの階層が変換された入力を記述

素子の状態更新順序は一意に決定 (Feed forward など)

22Input

OutputPerceptron

Deep Convolution Net

Neocognitron

LeNet などなど

Restricted Boltmann Machine

相互結合型アーキテクチャ全ての素子が互いに結合することを許すアーキテクチャ

素子集合全体で一つの状態を表す

素子の更新順序によって状態が変わってくる

23

連想記憶モデル

Boltzmann Machine

u

yx1 y

x2Σ u

θ

w1

w2

NN の学習とは?モデルパラメータ {w, θ} で振る舞いが変化

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

24

w1 w2 θAND 1 1 1.5OR 1 1 0.5NAND -1 -1 -1.5

教師あり学習 (supervised learnning)入力データ x に対して 教師信号 t が設定されている

出力 y が t と一致するように {w,θ} を調整

25

yx1

w2

w1

t

x2

x2

x1(0,0) (1,0)

(0,1) (1,1)

AND 素子

1 →

1 → 青だと思う

赤です

教師なし学習 (unsupervised learnning)与えられるのは入力データ x のみ

(例えば)入力された x が似ているかどうかでグループ分け(クラスタリング)

26

yx1

w2

w1

x2

x2

x1

二つの分布の

1 →

0 → 前見た青に似ている

27

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

今ココ

第3期(たぶん)

Perceptron (Rosenblatt 57)

28

y2(xn)y1(xn)

y3(xn)

Perceptron のアーキテクチャ

McClloch-Pits ニューロンによる階層型ネットワーク

S層 → A層 間は固定ランダム結合

A層 → R層 間が学習で決定される結合

29

w20w21w22

w23

{xn}x3n

1

x2nx1n

Sensory Layer

Associative Layer

Response Layer

"  n=1n=2n=3

パターン認識がやりたいことパターン認識: 与えられた入力をどうにかして分類

入力空間を分離すること

30線引きはどうやってするか?

0 0 : 1 1 : 0 0

入力データ→ベクトル 新規入力: 赤?青?

単純 Perceptron による識別

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

31

φ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

AND 素子

Perceptronの学習(1): 誤り訂正学習Hebb 学習則教師 t と出力 y の関係により w を修正

目標{xn, tn} が与えられたとき y(xn) = tn としたい

正解 tn と答え yn が不一致のときのみパラメータを修正

解が存在する場合,正しい解に収束する→デモ

32

yx wt

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

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

33

クラス1クラス2

φ2

φ1

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

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

各線の分離結果を合成→階層化は妥当(多分)

34

クラス1クラス2

x2

x1

{xn} {zn}

x1

x2

x0z0

z1

z2

1 1

y

Perceptron のやっていること

35

y2(xn)y1(xn)w20

w21w22

w23 y3(xn){xn}

x3n

1

x2nx1n

Sensory Associative Response

 

中間層での表現 (上手くいった場合)

入力空間での表現

が,もちろん 上手くいかない場合もある

36

中間層の訓練はどうすれば?

固定ランダム結合この部分はどう学習させるの?

37

y2(xn)y1(xn)w20

w21w22

w23 y3(xn){xn}

x3n

1

x2nx1n

Sensory Layer

Associative Layer

Response Layer

 

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

今ココ

第3期(たぶん)

Back Propagation with Multi Layer Perceptron

(Rumelhart+ 86) (Amari 67)

39

多層Perceptron (MultiLayer Perceptron: MLP)単純 Perceptron の線形分離問題→ 階層性による打破

入力 x, 出力 y の他以外に中間層(隠れ層)z を持つ

信号は一定方向(入力から出力へ向けて)で処理

40

x0

x1

xD

z0

z1

zM

y1

yK

w

(1)MD

w

(2)KM

w

(2)10

hidden units

inputs

outputs

MLP にできること適切な設定(隠れ層の素子数,結合重み)を選べば任意の関数を任意精度で表現できる.[Funahashi 1989]

41

{xn}

{zn}

x1

x0z0

z1

z2

1 1

z3yx1

y

x1

y

x1

y

x1

y

“どんな解でも表現出来る” こと と

“どうやったら解が得られるか” ということは全くの別問題

42

多層ネットワークの学習の難しさ誤り訂正教師信号 t は1階層であれば対応可能

中間層 z1, z2 に対する教師信号はどう生成する?

43

u

yx1 y

x2Σ u

θ

w1

w2

u

yx1 y

x2Σ u

θ

w1

w2

u

yx1 y

x2Σ u

θ

w1

w2

x1

x2

z1

z2

y

tw11(1)

w22(1)

w12(1)

w21(1)

w1(2)

w2(2)

z1

θ

z2

θ

u

u OK!NG!

Error Back-propagation

単純 Perceptron の線形分離問題→ 階層性による打破

多層Perceptron (MLP)の学習則

基本アイディアは勾配法

微分の連鎖則を活用

44

x0

x1

xD

z0

z1

zM

y1

yK

w

(1)MD

w

(2)KM

w

(2)10

hidden units

inputs

outputs

ところで勾配法って何? って人どれくらいいる?

45

回帰問題から勾配法を考えてみる回帰問題: 点データ{(xn, tn)} 説明する直線は何?

46

0.0 0.2 0.4 0.6 0.8 1.0

0.5

1.0

1.5

2.0

x

y, t

0.0 0.2 0.4 0.6 0.8 1.0

0.5

1.0

1.5

2.0

x

y, t

0.0 0.2 0.4 0.6 0.8 1.0

0.5

1.0

1.5

2.0

x

y, t

(xn, tn)

コスト関数の考え方モデルのデザイン: y (x) = w0 + w1 x (直線だし)

コスト関数のデザイン

47

0.0 0.2 0.4 0.6 0.8 1.0

0.5

1.0

1.5

2.0

x

y, t

(xn, tn)

( xn, y(xn) ) “データ点と直線のズレ” は小さい方がいいよね?✏

n

= (y(x

n

) � t

n

)2

E(w0,w1) =1

2N

X

n

(y(x

n

) � t

n

)2

全ての点でのズレを考慮すると

コスト関数の考え方

ズレを “小さくする” には?

最適化の問題微分を使うことを考えてみる

48

0.0 0.2 0.4 0.6 0.8 1.0

0.5

1.0

1.5

2.0

x

y, t

(xn, tn)

( xn, y(xn) )

E(w0,w1) =1

2N

X

n

(y(x

n

) � t

n

)2

@E@w0= 0

@E@w1= 0と    とを書きくだし w0, w1 を求める方程式を記述せよ

勾配降下(Gradient Decent)法による状態更新

コスト関数の最小化を直接求めるのが困難な場合

勾配にそって状態を更新し,現在よりマシな状態に更新する

49

w

E(w)w(t+1) = w(t) � ⌘@E(w)

@w

勾配法まとめ記述モデルのデザイン(ここでは MLP)“どのようになって欲しいか” をコスト関数としてデザイン(教師信号と似た答えを出してほしい)

直接的な最適化が出来ない場合,コスト関数のパラメータに関する勾配を導出

勾配にそってパラメータを変化させ,最適解にパラメータを近づける

50w

E(w)

w(t+1) = w(t) � ⌘@E(w)@w

線形Perceptronの勾配学習法(1)2乗誤差の勾配を用いる学習則デルタ則,adaline 則 (Widrow-Hoff 1960)

51

勾配を使うには微分可能性が必要→活性化関数に線形関数を使う

u

yx1 y

x2Σ u

w1

w2u

yx1 y

x2Σ u

θ

w1

w2

McCuloch-Pitts

線形Perceptronの勾配学習法(2)2乗誤差の勾配を用いる学習則デルタ則,adaline 則 (Widrow-Hoff 1960)

52

E(w) =12

n

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

{xn}t1nt2nt3n

{tn}y2(xn)y1(xn)

y3(xn)x3n

1

x2nx1n

φ3(xn)w23

パラメータ更新則

多層線形パーセプトロンでの勾配学習線形ニューロンであれば勾配を用いた学習は可能

微分の連鎖則(chain-rule) を適用

ただし線形写像の多重適用なので実用的な意味は余りない

53

u

yx1 y

x2Σ u

θ

w1

w2

u

yx1 y

x2Σ u

θ

w1

w2

u

yx1 y

x2Σ u

θ

w1

w2

x1

x2

z1

z2

y

tw11(1)

w22(1)

w12(1)

w21(1)

w1(2)

w2(2)

z1

u

z2

u

y

u

@E(w)@w(1)

22

@E(w)@w(2)

2

MLP の勾配学習MLP の勾配学習に線形性ではなく微分可能性なのでは?

微分の連鎖則(chain-rule) を適用

多層に意味を持たせるためには微分可能な非線形活性化関数であれば良い

54

u

yx1 y

x2Σ u

θ

w1

w2

u

yx1 y

x2Σ u

θ

w1

w2

u

yx1 y

x2Σ u

θ

w1

w2

x1

x2

z1

z2

y

tw11(1)

w22(1)

w12(1)

w21(1)

w1(2)

w2(2)

z1

u

z2

u

y

u

@E(w)@w(1)

22

@E(w)@w(2)

2

z1

u

z2

u

y

u

MLP アーキテクチャの具体的な例

55

yk

tk

k

jwkj

iwji 入力層 x

隠れ層 z

出力層 y

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

隠れ層を持つ

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

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

MLP 学習のコスト関数例

56

yk

tk

k

jwkj

iwji 入力層 x

隠れ層 z

出力層 y

回帰問題と同様に考えるn 番目の入力に関するコスト

  

回帰問題→2乗誤差関数

2値分類→Logisitic-Sigmoid

多値分類→ Softmax

ynk = yk(x

n; w) として

En(w) =12

X

k

⇣tn

k � ynk

⌘2

En(w) = �X

k

tnk ln yn

k

+ (1 � tnk )(1 � yn

k)

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

57

コスト関数yk

tk

k

jwkj

iwji� j

微係数

割と面倒に見える…

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

58

コスト関数yk

tk

k

jwkj

iwji� j

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

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

誤差逆伝搬法の実装

59

yk

xi

ujzj

uk

yk

tk

zj

δk

xi

δj

�k = �0(uk)(yk � tk)

Feed forward を一旦計算 Back Prop. を計算 勾配を計算

誤差逆伝搬法の適用

コスト関数 En(w) はパターン事に定義可能

1サンプルごとの勾配で動かす (Online learning) → 局所解の問題

全サンプルの平均勾配で動かす(Batch learning) → 学習が遅い

確率的降下法(Stochastic GD)[Amari 67] mini Batch: 数個~100個程度の平均勾配

準ニュートン法や,共益勾配法 (Le+11)

60

Back prop. の応用先

XOR 問題 (Rumelhart+ 86)

Auto-Encoder (Ackley+ 85), 画像圧縮(Cottrell+ 87)

NETtalk (Sejnowski & Rosenberg 87)

ソナー音識別(Gorman & Sejnowski 88)

コンボリューションネット(Le-Net)(LeCun+ 89)

61

62

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

今ココ

第3期(たぶん)

Neocognitron (Fukushima 1980)

63

視覚野(Ventral pathway)の性質

視覚野: 階層構造を持ち,階層ごとに異なる視覚課題の解決

初期視覚野: 狭い受容野,単純な特徴抽出Simple Cell,Complex Cellの存在

高次視覚野: 広い受容野,中程度に複雑な特徴に選択的

64

V1

V2V4

PITCIT

Ventral PathwayAIT

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 fieldEdge, Line segmentdetector

Large receptive fieldFace, Complex featuredetector

?

?

(Felleman & van Essen 91 を改変)

初期視覚野 (V1野) の受容野計測初期視覚野の細胞の観える範囲(受容野)は狭い

視覚野中の “エッジ” や “線分” 成分に反応

単純型細胞(simple cell)と複雑型細胞(complex cell)に大きく分けられる

65

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: 位相には許容的

66

Simple Cell Phase SensitiveOrientation Selective

Receptive Field

Input Stimulus

Fire Not FireNot Fire

Phase InsensitiveComplex Cell

Receptive Field

Input Stimulus

Fire Not FireFire

V1

V2V4

PITCIT

Ventral PathwayAIT

TEO

TE

V1

V4

V2

IT

Small receptive fieldEdge, Line segmentdetector

Large receptive fieldFace, Complex featuredetector

?

?

Simple Cell Phase SensitiveOrientation Selective

Receptive Field

Input Stimulus

Fire Not FireNot Fire

Phase InsensitiveComplex Cell

Receptive Field

Input Stimulus

Fire Not FireFire

Hubel-Wiesel 階層仮説

Simple Cell の出力合成で,Complex cell は説明可能(Hubel & Wiesel 59)

67

Simple Cell Phase SensitiveOrientation Selective

Receptive Field

Input Stimulus

Fire Not FireNot Fire

Phase InsensitiveComplex Cell

Receptive Field

Input Stimulus

Fire Not FireFire

Simple/Complex Cell 計算論的解釈

68

細胞種類 結合様式 計算の意味 計算操作

Simple cell

特徴抽出 テンプレートマッチ

Gaussian-Tuning (AND 的)

Complex cell

変形の許容 並進不変性

Soft-max (OR 的)

(Poggio 07 を改変)

高次視覚野の性質

中程度に複雑な特徴に反応顔細胞の存在

巨大な受容野

時空間的な変化に許容的69

V1

V2V4

PITCIT

Ventral PathwayAIT

TEO

TE

V1

V4

V2

IT

Small receptive fieldEdge, Line segmentdetector

Large receptive fieldFace, Complex featuredetector

?

?

(Kobatake & Tanaka 94 を改変)

生理学的な知見

70https://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Perception

細かい特徴 抽象特徴

CNN の視覚野的解釈

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

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

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

V1

V2V4

PITCIT

Ventral PathwayAIT

TEO

TE

V1

V4

V2

IT

Small receptive fieldEdge, Line segmentdetector

Large receptive fieldFace, 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)

72

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 の動作原理局所特徴抽出(畳み込み)+変形に対する不変性(プーリング)

73

Preferred Feature (Orientation): X

Input: x

Convlution Layer

Blurring

PreferredOrientation

S-cell responseInput: x

Subsampling Layer

ConvolutionsSubsampling

Convolutions Subsampling

Preferred feature

CNN の動作イメージ(contd.)局所特徴抽出(畳み込み)+変形に対する不変性(プーリング)

74

Neocognitron まとめ

畳み込み演算を原理としたネットワーク構造

Perceptron に比べて,結合係数の自由度は低いでも視覚入力は並進対称なので構造としては妥当(多分)

特徴抽出層とプーリング層の階層構造

徴抽出層は学習で決定可能 BP使わなくても割りと普通に動く.たぶんクラスタリングアルゴリズムでも動く

プーリングによる空間的な位相ずれの許容

75

77

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

今ココ

第3期(たぶん)

ConvolutionNeural Network

(CNN) (LeCun+ 1986, Okada 1988)

78

Convolution-net

基本アーキテクチャNeocognitron (Fukushima 80)

畳み込み演算による,局所特徴抽出+並進不変性

学習則に Back-Propagation (LeCun+86, Okada88)

79

(LeCun+86)

CNN デモ

80http://yann.lecun.com/exdb/lenet/index.html

Rotation Scale

NoiseMultiple Input

Deep learning事例: 一般物体認識

IMAGENET Large Scale Visual Recognition Challenge 2012

1000 カテゴリ × 約1000枚の訓練画像

Convolution Neural Network

81

Krizhevsky et al. NIPS 2012

SIFT + FVs: 0.26 test err.CNN: 0.15 test err.

Neural network (NN) 歴史的背景

82

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期

今ココ

第3期(たぶん)

Boltzmann Machine &

Restricted Boltzmann Machine

(Hinton+85, Hinton 00)

83

生成モデルの推定とは

確率分布のエミュレートとは

下のようなデータ {vp} があった時どのようなルールで生成されているかを知りたい

84

v1:v2:v3:v4:v5:

x1 x2 x3 p(x1=+1)= 3/5p(x2=+1)= 2/5p(x3=+1)= 4/5

としてしまって良いか?

Boltzmann Machine (Hinton+ 85)

確率型素子

隠れ素子 h と可視素子 v

相互結合型アーキテクチャ

対数尤度最大化による学習

出来ること: パターンの生成,模倣確率分布のエミュレート

85

h

v

v1:v2:v3:

学習パターン

p(v) に基づきパターン生成v:

Boltzmann Machine: アーキテクチャ

素子モデル

86

h

v

vi = {�1,+1}, h j = {�1,+1}

u =

vh

!

とりあえず,系のエネルギーを定義しておくE(u) = �

X

i,i0Wi0ivivi0 �

X

j, j0Wj0 jh jh j0 �

X

i, j

Wi jvih j

係数 W が互いの素子の好感度設定Wukul において W > 0 ならukとul とは好きどうし

Boltzmann Machine: アーキテクチャ

素子モデル

エネルギー関数

同時分布

87

h

v

vi = {�1,+1}, h j = {�1,+1}

u =

vh

!

p(h, v) =1

Z(W)

exp(�H(h, v))

Z(W) =X

h,vexp(�H(h, v))

(Boltzmann 分布)H(h, v) = �uTWu

Boltzmann Machine: 学習モデル対数尤度最大化

88

h

v

対数尤度

対数尤度の勾配を用いた最大化W (p)

i j = W (p�1)i j + ⌘

@ ln p(v(p))@Wi j

ln p(v(p)

) = ln

X

hexp(�H(h, v(p)

)) � ln Z(W)

@ ln p(v)@Wi j

=Duiu jE

cramp�Duiu jE

free

MCMC 法による期待値→ 恐ろしく時間がかかる

MCMC法について

Markov Chain Monte Carlo (MCMC)法:乱数にも基づき対象の統計量を算出する手法

与えられたエネルギー関数の密度に従い状態空間をうろつく(最小値への最適化ではない)

89

Metropolis Hasting 法Gibbs Sampling

Metropolis 法

Slice Sampling

Gibbs Sampling

簡単のため,2個の変数(素子) x1, x2 で大まかなアルゴリズム

1. x1 の更新では,x2 を固定した条件付き確率 p(x1 | x2) を考える(この確率からの乱数が楽に取れることが重要)

2. 条件付き確率から新たにサンプル x1を生成する

3. x2 の更新では, x1 を固定した確率 p(x2 | x1) からのサンプルを生成

4.  1. に戻る

90

BM学習の時間短縮したい…

91

Restricted Boltzmann Machine(RBM): アーキテクチャBM で恐ろしく時間がかかる理由→結合数が多すぎること

隠れ層と可視層を階層構造と考え,層内結合を撤廃→ RBM 何ということでしょう.素子が条件付き独立に!

92

h

v

H(h, v) = �X

i, j

h jWi jvi p(h | v) =Y

j

p(h j | v) =Y

j

exp(h jP

i Wi jvi)

2 cosh(

Pi Wi jvi)

p(v | h) =Y

i

p(vi | h) =Y

i

exp(viP

j Wi jh j)

2 cosh(

Pj Wi jh j)

補足関数 exp( ±u ) / 2 cosh( u ) に関して あまり見かけない表記だがシグモイド関数である

この表記だと hj = ±1 の値によらない表記で,計算に便利なので(統計)物理屋さんが好む.

93

exp(h ju)

2 cosh(u)

=exp(+u)

exp(+u) + exp(�u)

=1

1 + exp(�2u)

where hj=1

Restricted Boltzmann Machine(RBM): 学習モデル

対数尤度最大化

94

h

v

対数尤度と勾配を用いた最大化ln p(v(p)

) = ln

X

hexp(�H(h, v(p)

)) � ln Z(W)

W (p)i j = W (p�1)

i j + ⌘@ ln p(v(p))@Wi j

@ ln p(v)@Wi j

=Dh jviE

cramp�Dh jviE

free

ほぼ一撃計算vi tanh(

X

i

Wi jvi)

MCMC だけど 10回ぐらいでいいよね?

(Hinton 00)

Restricted Boltzmann Machine(RBM): 応用先

95

h

v

Images$&$Video$

Rela:onal$Data/$$Social$Network$

Massive$increase$in$both$computa:onal$power$and$the$amount$of$data$available$from$web,$video$cameras,$laboratory$measurements.$

Mining$for$Structure$

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

96

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期

今ココ

第3期(たぶん)

Deep Belief Net (Hinton+ 06)

97

p(v | h1) =Y

i

p(vi | h1)

SigmoidBelief net

Deep Belief Net(DBN): アーキテクチャ

RBM は単層モデル (結構成功はしている)

隠れ層の表現をさらに RBM で学習する機械を考えてみよう!

学習後の下層はパターン生成器として働く(Sigmoid Belief net)

98

h1

v

h2

RBM

Sigmoid Belief net

p(v, h1, h2) = p(v | h1)p(h1, h2)RBM

p(h1, h2

) =1

Z(W2

)

exp(

X

j,k

h2

kW2

jkh1

j )

Deep Belief Net(DBN): 学習モデルDBN の学習は,階層ごとのRBM学習 (Greedy Layer-wise Learning)

第1層: 勾配法での対数尤度最大化

99

h1

v

RBM

@ ln p(v)@W1

i j=Dvih jE

cramp�Dvih jE

free

ln p(v(p)) =X

i, j

h1jW

1i jv

(p)i � ln Z(W1)

Deep Belief Net(DBN): 学習モデルDBN の学習は,階層ごとのRBM学習 (Greedy Layer-wise Learning)

第1層学習後,p(h1 | v) に基づき サンプル {h1(p)} を収集

第2層: 勾配法による対数尤度最大化

100

h1

v

h2

RBM

Sigmoid Belief net

@ ln p(h1)@W2

jk

=Dh1

jh2k

Ecramp

�Dh1

jh2k

Efree

ln p(h1(p)) =X

j,k

h2kW2

jkh1j(p) � ln Z(W2)

Deep Belief Net(DBN): サンプリング

DBN によるサンプリング

最上位層 ( p(h1, h2) )の Gibbs サンプリング,h1 のサンプルを生成

得られた表現 h1 を 下層の Sigmoid Belief Net へ投入,p(v | h1) により v のサンプルを生成

101

h1

v

h2

RBM

Sigmoid Belief net

h2 h2 h2

h1 h1 h1

v

Deep Belief Net(DBN): MNIST を使った場合

MNIST を用いたDBNの学習

高位層では,より大まかな特徴抽出器として振る舞う

102

h1

v

h2

RBM

Sigmoid Belief net

Learned�Features

(Salakhudinov13, 14 より)

Convolution Net + Deep Belief Net(CDBN): 自然画像への適用

Convolution net + DBN の自然画像への応用(Lee+09)

103

Learning�PartͲbased�RepresentationConvolutional DBN

Faces

Trained�on�face�images.

Object�Parts

Groups�of�parts.

Lee�et.al.,�ICML�2009

Convolution Net + Deep Belief Net(CDBN): 自然画像への適用

Convolution net + DBN の自然画像への応用(Lee+09)

104

Learning�PartͲbased�RepresentationFaces Cars Elephants Chairs

Lee�et.al.,�ICML�2009

Deep Neural Net (Hinton+ 06)

105

MLP における Back Prop.

106

過学習問題 訓練誤差 ≫ 汎化誤差

勾配情報の拡散 識別器だけなら上位層で実現可能 全体のトレーニングは難しい

全結合型 NN で顕著 データに対してパラメータ数が過多

O(Mk Mk+1 )

Deep Neural Net(DNN): アーキテクチャ

DBN の構造↔ MLP の構造

識別モデルとして使ったら?

107

h1

v

h2

p(h1

j | v) =exp(h1

jP

i W1

i jvi)

2 cosh(

Pi W1

i jvi)

y

p(h2

k | h1

) =exp(h2

kP

j W2

jkh1

j )

2 cosh(

Pj W2

jkh1

j )

p(yl = 1 | h2

) =exp(

Pk W3

klh2

k)

Pm exp(

Pk W3

kmh2

k)

SoftMax

Deep Neural Net(DNN): 学習

Back Prop の問題点: 局所解の存在 DBN を初期状態として使う(Pre-Training) ネットワークの結合 (Unroll) 結合したネットワークを MLP としてBP 学習(Fine Tuning)

108

h1

v

h2

y

h2

h1

RBM

RBM

SoftMax

Deep Neural Net(DNN): MNIST への応用

誤識別率→ DNN: 1.2 %, SVM 1.4 %, MLP: 1.6 %

109

DBNs$for$Classifica:on$

• $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$the$informa:on$in$the$weights$comes$from$modeling$the$input$data.$

W +�W

W

W

W +�

W +�

W +�

W

W

W

W

1 11

500 500

500

2000

500

500

2000

5002

500

RBM

500

20003

Pretraining Unrolling Fine�tuning

4 4

2 2

3 3

1

2

3

4

RBM

10

Softmax Output

10RBM

T

T

T

T

T

T

T

T

Deep Auto Encoder DNN の応用

DNN の応用入力の自動写像 圧縮表現の生成 PreTraining による効率良い学習

110

Deep$Autoencoders$

!

!

! !�

!

!

!

!

! !�

! !�

! !�

!

! !�

! !�

! !�

!�

!

!

!

!

!

!

"

#$$$

%&'

#

#$$$

"$$$

($$

($$

"$$$

"$$$

($$

" "

#$$$

#$$$

($$($$

"$$$

"$$$

#$$$

($$

#$$$

)

*)

%&'

+,-.,/01012 31,455012

"$$$ %&'

6

*

6$

6$

701-�.81012

* *

# #

6 6

*)

(

6)

9

#)

:

")

;

<1=4>-,

"

#

6

6$

*

6

#)

")

?4>-@5/A-,

B-=4>-,

%&')4C

DNN の応用: テキスト分類

111

Legal/JudicialLeading Economic Indicators

European Community Monetary/Economic

Accounts/Earnings

Interbank Markets

Government Borrowings

Disasters and Accidents

Energy Markets

Model$P(document)$

Bag$of$words$

Reuters$dataset:$804,414$$newswire$stories:$unsupervised*

Deep$Genera:ve$Model$

(Hinton & Salakhutdinov, Science 2006)!(Hinton+ 06 より)

まとめニューラルネットワークの基本要素

素子,アーキテクチャ,学習モデル

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

第2期主力アーキテクチャ Perceptron, CNN(Neocognitron), Boltzmann Machine を中心に

第3期主力アーキテクチャ DCNN, RBM, DNN

学習則

誤り訂正学習,微分を用いたコスト関数の極小化

NN は,ビッグデータ時代になって実用化へ

112