パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン...

99
パターン認識論 最終編 伊藤 彰則 1

Transcript of パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン...

Page 1: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

パターン認識論最終編伊藤 彰則

1

Page 2: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

自己組織化マップ◦英語ではSelf Organizing Map (SOM)

◦(高次元)空間から構造を持ったユニットへの非線形写像を求める◦KL展開/PCAのような次元圧縮とクラスタリングを同時に行う

2

Page 3: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

例◦色空間の写像

0 2 4 6 8

02

46

8

x

y

色空間の場合、実は次元を上げている(3次元→64次元)ことに注意

3

Page 4: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

例◦色空間の写像◦元画像の色(3次元)を8x8のユニットに写像

◦ユニットの隣接関係と、特徴空間での点の近さに相関がある

0 2 4 6 8

02

46

8

x

y

4

Page 5: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

自己組織化マップ◦数学的準備◦学習データ 𝑥1, … , 𝑥𝑁 ∈ 𝑅𝑛

◦ノード 𝑣 ∈ 𝑉

◦ノード重みベクトル 𝑚𝑣 ∈ 𝑅𝑛

◦データ間距離関数 𝑑 𝑥, 𝑦 = 𝑥 − 𝑦

◦ノード間類似度 ℎ(𝑢, 𝑣)

5

Page 6: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

目的関数◦ノードに相互の関係がない場合の誤差関数

◦𝐸 = 𝑖 𝑑 𝑥𝑖 , 𝑚𝑐𝑖

2

◦𝑐𝑖 = argmin𝑣

𝑑(𝑥𝑖 , 𝑚𝑣)

◦「隣接ノードは似たような特徴を持つ」という制約を入れると◦𝐸 = 𝑖 𝑣 ℎ 𝑐𝑖 , 𝑣 𝑑 𝑥𝑖 , 𝑚𝑣

2

6

Page 7: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

ノード間類似度◦「隣接するノードは最終的に同じような特徴を持つべき」という制約を表現

◦例(2次元配置)◦ 𝑣 = 𝑣𝑥, 𝑣𝑦 , 𝑢 = 𝑢𝑥, 𝑢𝑦

◦ ℎ 𝑢, 𝑣 = 1 𝑢𝑥 − 𝑣𝑥 ≤ 𝐾 and 𝑢𝑦 − 𝑣𝑦 ≤ 𝐾

0 otherwise◦ ℎ 𝑢, 𝑣 = exp(−𝜆 𝑢 − 𝑣 2)

7

Page 8: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

学習データが順番に与えられる場合◦次の𝐸(𝑡)を逐次最小化する◦𝐸 𝑡 = 𝑣 ℎ 𝑐𝑖(𝑖), 𝑣 𝑑 𝑥𝑖 , 𝑚𝑣(𝑖)

2

◦逐次更新式◦𝑚𝑣 𝑖 + 1 = 𝑚𝑣 𝑖 − ℎ(𝑐𝑖 , 𝑣)𝛼(𝑖)(𝑥𝑖 −𝑚𝑣 𝑖 )

◦ 0 < 𝛼 𝑖 < 1は時間とともに減少する重み

◦入力に最も近い重みベクトルを持つノード(Best Matching Unit, BMU)とその近傍の重みだけを𝑥𝑖に少しずつ近づける

8

Page 9: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

アルゴリズムすべてのノードの重みベクトルをランダムに初期化

For 𝑖 = 1…𝑁 do

𝑐𝑖 ← argmin𝑣

𝑥𝑖 −𝑚𝑣(𝑖)

𝑐𝑖およびその近傍のノード𝑣について

𝑚𝑣 𝑖 + 1 ← 𝑚𝑣 𝑖 − ℎ(𝑐𝑖 , 𝑣)𝛼(𝑖)(𝑥𝑖 −𝑚𝑣 𝑖 )

9

Page 10: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

学習データが一度に与えられる場合(バッチ学習SOM)すべてのノードの重みベクトルを初期化

(学習データのKL展開の主成分を初期値とする)

Loop

𝑥𝑣 ← 𝑖 ℎ 𝑐𝑖,𝑣 𝑥𝑖

𝑖 ℎ(𝑐𝑖,𝑣)

すべてのノード𝑣について

𝑚𝑣 𝑖 + 1 ← 𝑚𝑣 𝑖 − 𝛼(𝑖)( 𝑥𝑣 −𝑚𝑣 𝑖 )

10

Page 11: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

K-means法との関係◦バッチ学習SOMについて、近傍ノードを考慮しない(ℎ 𝑢, 𝑣 =1 𝑖𝑓 𝑢 = 𝑣) 場合には K-means法と同じになる◦「隣接するノードの重みは似ている」という制約をなくすと、各ノードの重みは独立になる

11

Page 12: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

ユニットの配置◦だいたい1次元~3次元(それ以上であってもよい)

◦2次元でありがちな配置

0 2 4 6 8

02

46

8

x

y

2 4 6 8

24

68

x

y

12

Page 13: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

0 5 10 15 20 25 30

0.6

1.4

x

y

ユニットの配置◦不均等な2次元配置

◦1次元5 10 15

0.5

1.5

2.5

3.5

x

y

13

Page 14: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

深層学習(Deep Learning)◦多くの中間層を持つニューラルネットワーク

◦高い識別性能・近似性能を持つことから近年注目されている

14

Page 15: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

復習:3層NN

1x

2x

3x

4x

1

)1(

11w)1(

1h )2(

11w)1(

1g)2(

1h)2(

1g

1

入力層 中間層 出力層

15

Page 16: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

復習:3層NN◦第k層の第iユニットの入力と出力

x

k

i

k

i

j

k

j

k

ji

k

i

ii

exf

hfg

gwh

xg

1

1)(

)( )()(

)1()()(

)0(

1x

2x

3x

4x

1)1(

11w)1(

1h)1(

1g

(など)

16

Page 17: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

復習:誤差逆伝搬学習(Back Propagation)◦重みの学習

◦出力層の誤差

◦中間層の誤差

)1()()()( l

i

l

j

l

ij

l

ij gww

)1()( )2()2()2()2(

jjjjj ggbg

)1( )1()1()2()2()1(

jj

k

jkkj ggw

17

Page 18: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

復習:誤差逆伝搬学習(Back Propagation)

)2(

ih )( )2()2(

ii hfg

教師信号bi

ii bg )2()1()(

)()(

)2()2()2(

)2(')2()2(

iiii

iiii

ggbg

hfbg

)1(

ih)2(

1)2(

2)2(

3)2(

4

)1()(

)()(

)1()1()2()2(

)1(')2()2()1(

ii

k

ikk

i

k

ikki

ggw

hfw

18

Page 19: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Deep Neural Network◦中間層がたくさんあるNN

3層 7層

19

Page 20: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

DNNはなぜよい(と思われる)のか◦任意の関数を近似する能力は3層NNで十分◦ただし中間層のユニット数がいくらでも多くてもよく、しかも学習ができれば

◦実際には難しい

20

Page 21: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

DNNはなぜよい(と思われる)のか◦多層NNの場合◦非線形関数を重ねて使うことで、少ないユニット数で高い表現力が得られる(うまく学習できれば)

21

Page 22: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

例◦次のようなデータの識別◦これは難しそう

-2 -1 0 1 2 3

-3-2

-10

1

data$x

da

ta$

y

22

Page 23: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

例◦3層NNによる識別

N=3

-2 -1 0 1 2 3

-3-2

-10

1

data$x

da

ta$

y

-2 -1 0 1 2 3

-3-2

-10

1

data$x

da

ta$

y

N=5

-2 -1 0 1 2 3

-3-2

-10

1

data$x

da

ta$

y

N=10

23

Page 24: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

多層にしたら◦ちょっと卑怯に◦中心からの距離と、距離からの識別を直列のNNでやったら?

-2 -1 0 1 2 3

-3-2

-10

1

data$x

da

ta$

y

この辺で特徴抽出をしている

24

Page 25: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

結果◦中間層が実質5ユニットでこんな結果が得られる◦この例はデータの構造を人手で与えたが、実際は特徴が自動的に発見されることが期待される

-2 -1 0 1 2 3

-3-2

-10

1

data$xd

ata

$y

25

Page 26: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

DNNの問題点◦Vanishing Gradient Problem◦NNの学習法(BP法)は最急降下法(Gradient descent)の一種◦各レイヤーの各ユニットで、誤差を最小にする方向に重みを変化させる

◦変化量を非線形関数の微係数と入力の誤差の総和に比例させる

◦ネットワークの層が深くなると、重みの学習が困難になる

26

Page 27: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Vanishing Gradient例◦例:6層NNの中間4層のアクティベーションの変化 [X. Glorot&Y. Bengio,

2010]

27

Page 28: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Vanishing Gradient

)1(

ih)2(

1)2(

2)2(

3)2(

4

𝜖𝑖(1)

= 𝑘𝜖𝑘

2𝑤𝑖𝑘

2𝑓′ ℎ𝑖

1 特定の部分以外では0に近い

𝑤𝑖𝑗(𝑙)

← 𝑤𝑖𝑗(𝑙)

− 𝜌𝜖𝑗𝑙𝑔𝑖(𝑙−1)

重みのアップデートが起きにくい

レイヤーが深くなるとだんだん小さくなる

28

Page 29: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

対策◦深いネットワークを一度にBPで学習せず、1層ずつなんかの方法で学習してから(プリトレーニング)全体を学習し直す◦Autoencoderを使う方法

◦RBMを使う方法(Deep Belief Network)

29

Page 30: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Autoencoder◦自動的にデータの符号化器(encoder)を学習する

入力 教師信号=入力

出力の誤差が十分小さければ、この部分に入力の特徴が集積されている

30

Page 31: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Autoencoderによるプリトレーニング

第1段 第2段 第3段

BPで学習

31

Page 32: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

制限付ボルツマンマシン(RBM)による初期化◦教師なし学習の一種RBMによって各レイヤーの初期化◦ボルツマンマシンとは

◦ボルツマンマシンとRBM

◦Deep Belief Network

32

Page 33: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

ボルツマンマシン(Boltzmann Machine)◦ニューラルネットの一種◦0/1の値を取る複数のユニットと、その間の重み付き結合からなる

◦ユニットには「見える」ユニット(入力)と「見えない」ユニット(内部状態)が存在

◦「エネルギー」が定義される

33

Page 34: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

ボルツマンマシン(Boltzmann Machine)◦ユニットの値 𝑠𝑖 ∈ {0,1}◦ユニット間結合 𝑤𝑖𝑗

◦𝑤𝑖𝑗 = 𝑤𝑗𝑖 , 𝑤𝑖𝑖= 0

◦ユニットのバイアス 𝜃𝑖◦エネルギー

𝐸 = −

𝑖<𝑗

𝑤𝑖𝑗𝑠𝑖𝑠𝑗 +

𝑖

𝜃𝑖𝑠𝑖

34

Page 35: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

ボルツマンマシン(Boltzmann Machine)◦状態からエネルギー算出◦重みとバイアスが定義され、全ユニットの状態が決まればエネルギーがわかる

◦入力ユニットの状態を固定すると、全体のエネルギーが最小になるように隠れユニットの値が(確率的に)決まる

35

Page 36: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

ボルツマンマシン(Boltzmann Machine)◦あるユニットが0と1の時のエネルギーの差◦Δ𝐸𝑖 = 𝑗𝑤𝑖𝑗𝑠𝑗 + 𝜃𝑖

◦これがボルツマン分布に従う

◦𝑃 𝑠𝑖 = 1 =1

1+exp −Δ𝐸𝑖𝑇

◦Tは「温度」

36

Page 37: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

エネルギーの計算◦入力ユニットの値を固定すると、隠れユニットの値が「確率的に」決まる◦温度に依存

◦エネルギーを一意に決めることはできないが、最小値は存在(熱平衡)

◦熱平衡時のエネルギーは重みとバイアスによって決まる

37

Page 38: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

ボルツマンマシンの学習◦学習用の入力を与えたときの熱平衡時のエネルギー期待値を最小にするように重み・バイアスを決める◦Positive, negative学習フェーズの繰り返しによる◦ Positive: 入力ユニットを固定し、隠れユニットの値と重みを調整

◦ Negative: 入力ユニットを含めた全ユニットの値と重みを調整

38

Page 39: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

ボルツマンマシンの学習

問題点◦焼きなまし法(simulated annealing)を使うので遅い

◦ユニット数に対して指数的に時間がかかる

39

Page 40: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

制限付きボルツマンマシン(RBM)◦入力ユニットと隠れユニットとの間の結合しかないボルツマンマシン◦同じ種類のユニット間結合はない

◦効率的な学習ができる

40

Page 41: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

RBMの学習◦ Positiveフェーズ

◦ 入力ユニットを固定すると隠れユニットの確率が確定

◦ 隠れユニットの値をサンプリング

◦ Negativeフェーズ

◦ 隠れユニットを固定すると入力ユニットの確率が確定

◦ 入力ユニットの値をサンプリング

◦重みの学習

41

Page 42: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Deep Belief Network◦RBMによるプリトレーニング◦RBMの隠れユニットは一種の内部状態

◦入力の情報をよく表すはず

◦特徴量(の変換関数の初期値)として使える

◦1段ずつRBMを構築する

42

Page 43: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Deep Belief Network

RBMその1 RBMその2 RBMその3

43

Page 44: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

DBNの学習

BP学習

44

Page 45: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

活性化関数の工夫

シグモイド関数1

1+exp(−𝑥)

-10 -5 0 5 10

0.0

00

00

.00

05

0.0

01

00

.00

15

0.0

02

00

.00

25

x

sig

mo

id'(x)

元の関数 微分

-10 -5 0 5 10

0.0

0.2

0.4

0.6

0.8

1.0

x

sig

mo

id(x

)

45

Page 46: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

活性化関数の工夫

tanh関数 tanh 𝑥 =𝑒𝑥−𝑒−𝑥

𝑒𝑥+𝑒−𝑥

元の関数 微分

-10 -5 0 5 10

-1.0

-0.5

0.0

0.5

1.0

x

tan

h(x

)

-10 -5 0 5 10

0.0

00

.02

0.0

40

.06

0.0

80

.10

x

tan

h'(x)

46

Page 47: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

活性化関数の工夫

ランプ関数 max(0, 𝑥)

元の関数 微分

-10 -5 0 5 10

02

46

81

0

x

Re

LU

(x)

-10 -5 0 5 10

0.0

00

0.0

02

0.0

04

0.0

06

0.0

08

0.0

10

x

Re

LU

'(x)

47

Page 48: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

活性化関数の工夫

ランプ関数 min(0, 𝑥)

元の関数

-10 -5 0 5 10

02

46

81

0

x

Re

LU

(x)

Rectified-Linear Unit (ReLU)

48

Page 49: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

使用例

MNIST手書き数字DB認識◦中間2層(128-64), シグモイド出力

94%

74%

49

Page 50: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

その他の活性化関数Leaky ReLU

𝑥 𝑥 ≥ 00.001𝑥 𝑥 < 0

SoftPlus

log(1 + 𝑒𝑥)

-10 -5 0 5 10

02

46

81

0

x

Le

aky R

eL

U

-10 -5 0 5 10

02

46

81

0

x

So

ftP

lus

50

Page 51: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

出力層の活性化関数オリジナル:sigmoid◦0/1の出力を近似(識別向き)

0/1

0/1

0/1

各出力ユニットの出力は独立

51

Page 52: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

出力層の活性化関数Softmax出力

◦𝑔𝑖 =exp ℎ𝑖

𝑗 exp ℎ𝑗

ih

j j

ii

h

hg

exp

exp

どれかの出力だけが1に近くなるそれ以外は0に近い総和は1(確率近似)

52

Page 53: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Softmaxと誤差逆伝播

◦𝜕𝑔𝑖

𝜕ℎ𝑗=

exp ℎ𝑖 𝛿𝑖𝑗−exp ℎ𝑗

𝑗 exp ℎ𝑗2 = 𝑔𝑖(𝛿𝑖𝑗 − 𝑔𝑗)

◦ヤコビ行列 J =𝜕𝑔𝑖

𝜕ℎ𝑗

◦誤差ベクトル 𝒆◦入力側での誤差 𝝐 = J𝒆

53

Page 54: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Softmaxと誤差逆伝播◦シグモイド出力◦𝜖𝑖 = 𝑔𝑖 − 𝑏𝑖 𝑔𝑖 1 − 𝑔𝑖

◦Softmax出力

◦𝜖𝑖 = 𝑔𝑖 𝑗 𝑔𝑗 − 𝑏𝑗 (𝛿𝑖𝑗 − 𝑔𝑗)◦ある出力ユニットの逆伝播誤差に他の出力ユニットが影響

+ih

)( ii hfg

ib

)()( 'iiii hfbg

54

Page 55: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

コスト関数出力側で小さくしたいもの◦これまでは二乗誤差を考えた

◦𝐿 = 𝑖 𝐿𝑖

◦𝐿𝑖 =1

𝑛 𝑘 𝑔𝑖

𝑘 − 𝑏𝑖𝑘

2

◦出力が(0,1)の場合にはこれ以外のコスト関数もありうる

55

Page 56: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

クロスエントロピー

出力のエントロピーを最小化◦𝐿 = 𝑖 𝐿𝑖◦ 𝐿𝑖 = −

1

𝑛 𝑘 𝑏𝑖

(𝑘)log 𝑔𝑖

(𝑘)+ 1 − 𝑏𝑖

(𝑘)log 1 − 𝑔𝑖

(𝑘)

◦𝑏𝑖(𝑘)

= 1のときは前半のみ

◦𝑏𝑖(𝑘)

= 0のときは後半のみ

56

Page 57: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

コストの比較

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

x

Co

st

二乗誤差 クロスエントロピー

b=1 b=0 b=1 b=0

0.0 0.2 0.4 0.6 0.8 1.0

01

23

4

x

Co

st

57

Page 58: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

コストと誤差◦二乗誤差の場合◦出力側 𝑔𝑖 − 𝑏𝑖

◦二乗コスト𝐿 =1

2𝑔𝑖 − 𝑏𝑖

2

◦𝜕𝐿

𝜕𝑔𝑖= 𝑔𝑖 − 𝑏𝑖

◦クロスエントロピーの場合◦コスト L = 𝑏𝑖 log 𝑔𝑖 + 1 − 𝑏𝑖 log(1 − 𝑔𝑖)

◦𝜕𝐿

𝜕𝑔𝑖=

𝑏𝑖

𝑔𝑖−

1−𝑏𝑖

1−𝑔𝑖=

𝑏𝑖−𝑏𝑖𝑔𝑖−𝑔𝑖+𝑏𝑖𝑔𝑖

𝑔𝑖 1−𝑔𝑖=

𝑏𝑖−𝑔𝑖

𝑔𝑖(1−𝑔𝑖)

+ih

)( ii hfg

ib

)()( 'iiii hfbg

58

Page 59: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

コストと誤差◦二乗誤差の場合

◦𝜖𝑖 =𝜕𝐿

𝜕𝑔𝑖𝑓′ ℎ𝑖 = 𝑏𝑖 − 𝑔𝑖 𝑔𝑖(1 − 𝑔𝑖)

◦クロスエントロピーの場合

◦𝜖𝑖 =𝜕𝐿

𝜕𝑔𝑖𝑓′ ℎ𝑖 =

𝑏𝑖−𝑔𝑖

𝑔𝑖 1−𝑔𝑖𝑔𝑖 1 − 𝑔𝑖

= 𝑏𝑖 − 𝑔𝑖

+ih

)( ii hfg

ib

iii bg

59

Page 60: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

バッチ学習◦いつ重みを更新するか?◦1サンプルごと

◦元のBPの式に従って係数を更新

◦全サンプルの平均◦係数更新量を全サンプルで平均してすべての学習サンプルに対して1回だけ係数を更新

60

Page 61: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

バッチ学習◦ミニバッチ

◦少ないサンプルごとに更新量を平均して係数を更新

61

Page 62: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

ミニバッチの利点◦数十サンプル程度をまとめて更新◦1サンプルごと更新よりも高速

◦全サンプル更新よりも局所最適解に陥りにくい◦確率的最急降下法 (SGD)

62

Page 63: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

学習係数の問題◦重みの学習◦更新は学習係数の影響を強く受ける

63

)1()()()( l

i

l

j

l

ij

l

ij gww

ji𝑤𝑖𝑗

(𝑙)

第𝑙 − 1層 第𝑙層

出力𝑔𝑖(𝑙−1)

誤差𝜖𝑗(𝑙)

MNISTの学習曲線例

Page 64: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

学習アルゴリズムの改良◦通常

◦𝒘(𝑡) ← 𝒘(𝑡 − 1) − 𝜌𝜖 𝑡 𝒈(t)

◦AdaGrad◦ 𝑟 𝑡 ← 𝑟 𝑡 − 1 + 𝜖 𝑡 𝒈 𝑡 2

◦𝒘(𝑡) ← 𝒘(𝑡 − 1) −𝜌𝜖 𝑡 𝒈(t)

𝑟+𝑒

◦RMSProp◦ 𝑟 𝑡 ← 𝛾𝑟 𝑡 − 1 + (1 − 𝛾) 𝜖 𝑡 𝒈 𝑡 2

◦𝒘(𝑡) ← 𝒘(𝑡 − 1) −𝜌𝜖 𝑡 𝒈(t)

𝑟+𝑒

64

徐々に学習係数を小さくする

Page 65: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

学習アルゴリズムの改良◦AdaDelta

◦ 𝑟 𝑡 ← 𝛾𝑟 𝑡 − 1 + (1 − 𝛾) 𝜖 𝑡 𝒈 𝑡 2

◦𝒗 ←𝑠(𝑡)+𝑒

𝑟(𝑡)+𝑒𝜖 𝑡 𝒈(𝑡)

◦𝒘 𝑡 ← 𝒘 𝑡 − 1 − 𝜌𝒗

◦ 𝑠 𝑡 ← 𝛾𝑠 𝑡 − 1 + 1 − 𝛾 𝒗 2

65

Page 66: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

学習アルゴリズムの改良◦Adam

◦𝒗 𝑡 ← 𝛽𝒗 𝑡 − 1 + (1 − 𝛽)𝜖 𝑡 𝒈(𝑡)

◦ 𝑟 𝑡 ← 𝛾𝑟 𝑡 − 1 + (1 − 𝛾) 𝜖 𝑡 𝒈 𝑡 2

◦𝒘 𝑡 ← 𝒘 𝑡 − 1 −𝜌

𝑡

1−𝛾𝑡+𝑒

𝒗

1−𝛽𝑡

66

Page 67: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

学習アルゴリズム比較

タスク:MNIST手書き数字認識

◦学習係数0.01

67

0 10 20 30 40 50

0.0

00

.05

0.1

00

.15

0.2

0

Epoch

Err

or

sgd

adagrad

adadelta

adam

rmsprop

70

80

90

100

adadelta adagrad adam rmsprop sgd

method

accura

cy

Page 68: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Dropout学習◦過学習を防ぐテクニック◦学習を行う係数をランダムに決める◦アンサンブル学習に似ている

68

Page 69: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Convolutional DNN (CNN)◦画像の認識に有効◦下の方では一部のユニット間の結合だけを持つ[Fukushima+ 1983]

• 最初のレイヤーでは低次元特徴(線、角、点など)を検出

• 上位レイヤーではそれらを組み合わせた「図形」に反応するユニットが学習される

69

Page 70: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Convolutional NN◦畳み込み(Convolution)層の構造◦ある隠れユニットは前の層におけるその周辺のユニットとだけ結合する

◦ユニットは数種類に限られ、同じユニットは異なる場所でも重みを共有する

70

Page 71: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Convolutional NN◦畳み込み(Convolution)層の構造

71

Page 72: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Convolutional NN◦プーリング層の構造

◦畳み込み出力をまとめる(2次元では2x2)

72

直前の層の値の最大値を出力する (Max pooling)または平均値を出力する(Average pooling)

画像の場合は1回のプーリングでサイズが縦横半分ずつになる

Page 73: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

カラー画像の場合◦チャネルが複数ある→3次元(テンソル)

73

画像(3次元)

畳み込み

チャネル×畳み込みユニットの種類

プーリング

Page 74: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

複数の畳み込み◦異なる畳み込み(畳み込み領域の違いなど)と統合

74

畳み込み

Depthconcat

Page 75: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Convolutional Neural Networkの例

75

Convolutionlayer

Poolinglayer

Convolutionlayer

Poolinglayer Convolution

layer Full connectionlayer

Outputlayer

Feature extraction Recognition

Page 76: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

CNN developed by Google(GoogLeNet)

全体像

76

Page 77: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

CNN developed by Google(GoogLeNet)

前段

77

Page 78: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

CNN developed by Google(GoogLeNet)

中段1

78

Page 79: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

CNN developed by Google(GoogLeNet)

中段2

79

Page 80: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

CNN developed by Google(GoogLeNet)

最終段

80

Page 81: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

古い方法との比較◦SIFT+BoFによる画像認識

81

Feature Classifier

CatDogFlowerDesk

CatDogFlowerDesk

Page 82: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

クラシックな方法特徴抽出◦画像から特徴点を抽出

◦ベクトル量子化によるコード化

◦特徴量コードのヒストグラム(Bag-of-Feature, BoF)

識別◦BoFを特徴量とした識別(SVMなど)

82

Page 83: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

特徴点抽出◦画像中から特徴的に変化する部分を抽出

83

http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_sift_intro/py_sift_intro.html

代表的な特徴点抽出法• SIFT (Scale Invariant Feature Transform)• SURF (Speed Up Robust Feature)

Page 84: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Scale Invariant Feature Transform (SIFT)◦代表的な特徴点抽出法◦異なる解像度の画像間の差を計算◦空間-スケールの空間での極値を検出

84http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_sift_intro/py_sift_intro.html

Page 85: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

BoF特徴量◦複数の特徴点を固定長の特徴量に変換

85http://www.sccs.swarthmore.edu/users/09/btomasi1/tagging-products.html

Page 86: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

識別

86

Image DB BoF

Input image

BoF

Classsi-fier

SVMk-NNNNet

Most similar class

Page 87: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

クラシックな方法とCNNタスク クラシック NN

特徴点検出

SIFTなど

異なるスケールの画像の差分

CNN

異なる大きさの畳み込みの統合

特徴量の統合

VQ+ヒストグラム プーリングDepthConcat

識別器 SVM, k-NN等 DNN (全結合)

学習 処理ブロックごと 全体

87

Page 88: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

時間的な依存関係の導入◦NNに時間の概念を導入

◦入力層にはベクトルが時間とともに入力されると仮定

88

1 2 3 4 ……… t 1 2 3 4 ……… t

時刻tの出力は時刻tの入力にのみ

依存する

Page 89: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Time Delay Neural Network (TDNN)◦時刻tの前後のフレームを利用

89

1 2 3 4 ……… t

1

2

3

2

3

4

3

4

5

t-1

t

t+1

Page 90: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Recurrent Neural Network (RNN)◦過去の出力を入力にフィードバック

90

1 2 3 4 ……… t 1 2 3 4 ……… t

Elman型ネットワーク

Page 91: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

Recurrent Neural Network (RNN)◦過去の出力を入力にフィードバック

91

1 2 3 4 ……… t 1 2 3 4 ……… t

Jordan型ネットワーク

Page 92: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

RNNの学習◦Backpropagation Through Time(BPTT)

92

1 2 3 4 ……… t 1 2 3 4 ……… t

Page 93: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

RNNの学習

93

t 1 2 3 4 ……… t

t-1

t-2

重みを共有

無限に続くが実際には適当なところで打ち切る

Page 94: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

RNNとLSTM◦Long Short Term Memory◦1つの層に複雑な内部構造

94

通常のRNN

Ctx x

xFt

It Ot LSTM

Ct

Page 95: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

LSTMの内部構造

95

Ctx x

xFt

It Ot

それぞれの丸はベクトルの記憶・演算

Page 96: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

LSTMの内部構造

96

Ctx x

xFt

It Ot

現在の状態を記憶する

入力の積和に非線形演算

Page 97: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

LSTMの内部構造

97

Ctx x

xFt

It Ot

入力と記憶の積和から「どのくらい記憶を出力するか」

を計算

入力と記憶の積和から「どのくらい入力を覚えるか」を計算

入力と記憶の積和から「どのくらい記憶を忘れるか」を計算

Page 98: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

LSTMの利点◦過去の記憶をどのくらい保持するかを制御できる◦タスクによってどのくらい前の入力が現在の出力に影響するかが違う

◦単純なRNNでは最近の入力によってどれくらい前からの影響を考慮するかを変えることができなかった

98

Page 99: パターン認識論aito/patternrec/slides4.pdf · 制限付ボルツマンマシン (RBM)による初期化 教師なし学習の一種RBMによって 各レイヤーの初期化

例:LSTM言語モデル◦過去の単語列から次に来る単語の確率を予測する◦入力:現在の単語のone-hot vector

◦出力:各単語の出現確率予測値

99Sundermeyer, Schlüter, Ney: LSTM Neural Networks for Language Modeling. Proc. Interspeech, 2012.