PRML Reading 5.1 - 5.2

28
PATTERN RECOGNITION and MACHINE LEARNING READING 5.1 Feed-forward Network Functions 5.2 Network Training GSIS Tohoku Univ. Tokuyama Lab. M1 Yu Ohori

Transcript of PRML Reading 5.1 - 5.2

Page 1: PRML Reading 5.1 - 5.2

PATTERN RECOGNITION and MACHINE LEARNING

READING5.1 Feed-forward Network Functions

5.2 Network Training

GSIS Tohoku Univ. Tokuyama Lab. M1 Yu Ohori

Page 2: PRML Reading 5.1 - 5.2

5 Neural Networks

2015/6/3 PRML Reading 2

線形モデル

𝑦 𝐱, 𝐰 = 𝑓 𝑗=1

𝑀

𝑤𝑗𝜙𝑗 𝐱

• 𝜙𝑗 𝐱 :基底関数

• 𝑓 ∙ : 恒等写像(回帰)あるいは非線形活性化関数(クラス分類)

• 解析や計算において有用な性質を持つ

• 次元の呪いのため実際的な応用可能性は限られる

• 基底関数をデータに適応させる必要がある

• サポートベクトルマシン ( SVM )

• フィードフォワードニューラルネットワーク

Page 3: PRML Reading 5.1 - 5.2

5.1 Feed-forward Network Functions

ニューラルネットワークモデル• 基底関数はパラメータ依存

• 訓練中にパラメータを調整

• 利点• コンパクト(基底関数の数が少ない)

• 新規データの迅速な処理が可能• 万能近似器

• 高い関数近似能力

• 欠点• 尤度関数が非凸関数

• 非凸最適化問題を解く必要がある

2015/6/3 PRML Reading 3

Σ 𝑓 ∙output

input

unit

𝑥1

𝑥2

𝑥3

𝑥𝐷

𝑦

© 2015 WDB Co., Ltd

Page 4: PRML Reading 5.1 - 5.2

5.1 Feed-forward Network Functions

2015/6/3 PRML Reading 4

基本的なニューラルネットワークモデル

• 入力変数の線形和を生成

𝑎𝑗 = 𝑖=1

𝐷

𝑤𝑗𝑖1

𝑥𝑖 + 𝑤𝑗01

= 𝑖=0

𝐷

𝑤𝑗𝑖1

𝑥𝑖

• 𝑎𝑗 : 活性

• 𝑤𝑗01

: バイアスパラメータ

• 𝑥0 = 0

• 1 は 1層目を示す

• 活性を非線形活性化関数で変換𝑧𝑗 = ℎ 𝑎𝑗

• 𝑧𝑗 : 隠れユニット

• ℎ ∙ : 微分可能な非線形活性化関数

Fig. 5.1 ( p. 228 )

Page 5: PRML Reading 5.1 - 5.2

5.1 Feed-forward Network Functions

2015/6/3 PRML Reading 5

基本的なニューラルネットワークモデル

• 隠れユニットの線形和を生成

𝑎𝑘 = 𝑗=1

𝑀

𝑤𝑘𝑗2

𝑧𝑗 + 𝑤𝑘02

= 𝑖=0

𝐷

𝑤𝑘𝑗2

𝑧𝑗

• 𝑎𝑘 : 出力ユニット活性

• 𝑤𝑘02

: バイアスパラメータ

• 𝑧0 = 0

• 2 は 2層目を示す

• 出力ユニット活性を非線形活性化関数で変換𝑦𝑘 = 𝜎 𝑎𝑘

• 𝑦𝑘 : 出力変数

• 𝜎 ∙ : ロジスティックシグモイド関数

• 活性化関数の選択はデータの性質と目標変数の分布に依存

Fig. 5.1 ( p. 228 )

Page 6: PRML Reading 5.1 - 5.2

5.1 Feed-forward Network Functions

2015/6/3 PRML Reading 6

ノード:入力変数,隠れ変数,出力変数リンク:重みパラメータ

基本的なニューラルネットワークモデル

• ネットワーク全体の関数

𝑦𝑘 𝐱, 𝐰 = 𝜎 𝑗=1

𝑀

𝑤𝑘𝑗2

ℎ 𝑖=1

𝐷

𝑤𝑗𝑖1

𝑥𝑖 + 𝑤𝑗01

+ 𝑤𝑘02

= 𝜎 𝑗=0

𝑀

𝑤𝑘𝑗2

ℎ 𝑖=0

𝐷

𝑤𝑗𝑖1

𝑥𝑖

Fig. 5.1 ( p. 228 )

Page 7: PRML Reading 5.1 - 5.2

5.1 Feed-forward Network Functions

2015/6/3 PRML Reading 7

ネットワーク構造の拡張

• 隠れユニットからなる層の追加

• 層を飛び越えた結合の導入

• 有向閉路があってはならない(フィードフォワード構造)

𝑧𝑘 = ℎ 𝑗𝑤𝑘𝑗𝑧𝑗

Fig. 5.2 ( p. 230 )

Page 8: PRML Reading 5.1 - 5.2

5.1.1 Weight Space Symmetries

符号反転対称性

• 一部の重みの符号を反転させてもネットワークが表す入出力関数は変化しない

2015/6/3 PRML Reading 8

等価 −𝑎𝑗 tanh −𝑎𝑗

𝑥1

𝑥2

𝑥3

𝑥𝐷

𝑧𝑗

𝑥0

−𝑤𝑗0

−𝑤𝑗1

−𝑤𝑗2

−𝑤𝑗3

−𝑤𝑗𝐷

−𝑤1𝑗

−𝑤3𝑗−𝑤2𝑗

𝑧𝑗

𝑧𝑗

𝑧𝑗−𝑤𝑀𝑗

tanh −𝑎𝑗 = −tanh 𝑎𝑗

𝑎𝑗 tanh 𝑎𝑗

𝑥1

𝑥2

𝑥3

𝑥𝐷

𝑧𝑗

𝑥0

𝑤𝑗0

𝑤𝑗1

𝑤𝑗2

𝑤𝑗3

𝑤𝑗𝐷

𝑤1𝑗

𝑤3𝑗𝑤2𝑗

𝑧𝑗

𝑧𝑗

𝑧𝑗𝑤𝑀𝑗

hidden unit

Page 9: PRML Reading 5.1 - 5.2

5.1.1 Weight Space Symmetries

交換対称性

• 二つの隠れユニットにつながる結合の重みを入れ換えても入出力関数は変化しない

2015/6/3 PRML Reading 9

等価

𝑎𝑗′ tanh 𝑎𝑗′𝑥𝐷 𝑧𝑗′

𝑤𝑗′1

𝑤𝑗′2

𝑤𝑗′𝐷

𝑤1𝑗′

𝑤3𝑗′

𝑤2𝑗′

𝑧𝑗′

𝑧𝑗′

𝑧𝑗′

𝑤𝑀𝑗′

𝑎𝑗 tanh 𝑎𝑗𝑥1

𝑥2

𝑧𝑗

𝑥0

𝑤𝑗0

𝑤𝑗1

𝑤𝑗2

𝑤1𝑗

𝑤3𝑗𝑤2𝑗

𝑧𝑗

𝑧𝑗

𝑧𝑗𝑤𝑀𝑗

𝑤𝑗𝐷

𝑤𝑗′0

𝑎𝑗 tanh 𝑎𝑗𝑥𝐷 𝑧𝑗

𝑤𝑗1

𝑤𝑗2

𝑤𝑗𝐷

𝑤1𝑗

𝑤3𝑗𝑤2𝑗

𝑧𝑗

𝑧𝑗

𝑧𝑗𝑤𝑀𝑗

𝑎𝑗′ tanh 𝑎𝑗′𝑥1

𝑥2

𝑧𝑗′

𝑥0

𝑤𝑗′0

𝑤𝑗′1

𝑤𝑗′2

𝑤1𝑗′

𝑤3𝑗′

𝑤2𝑗′

𝑧𝑗′

𝑧𝑗′

𝑧𝑗′

𝑤𝑀𝑗′

𝑤𝑗′𝐷

𝑤𝑗0

Page 10: PRML Reading 5.1 - 5.2

5.1.1 Weight Space Symmetries

重み空間対称性

• 同じ入力から出力への関数を表す重みベクトル 𝐰が複数存在

• 符号反転対称性

• 2𝑀 通り

• 交換対称性

• 𝑀!通り

• 全部で 𝑀! 2𝑀 個の等価な重みベクトルが存在

• ベイズモデル比較を考える際に重要な役割を果たす ( Sec. 5.7 )

2015/6/3 PRML Reading 10

Page 11: PRML Reading 5.1 - 5.2

5.2 Network Training

ネットワークパラメータ決定問題

• 最も単純なアプローチ…二乗和誤差関数の最小化

ネットワーク出力の確率的解釈

• 問題に応じて出力ユニットの活性化関数と誤差関数を選択 ( Sec. 4.3.6 )

• 活性化関数:正準連結関数

• 目標変数に対する条件付分布:指数型分布族

• いずれの場合も誤差関数の微分は次の形をとる𝜕𝐸

𝜕𝑎𝑘= 𝑦𝑘 − 𝑡𝑘

• 誤差逆伝播を議論する際に利用 ( Sec. 5.3 )

2015/6/3 PRML Reading 11

本当に全部の問題二乗和誤差関数でいいの?(だめ)

© 2009 チャコレート

Page 12: PRML Reading 5.1 - 5.2

5.2 Network Training

2015/6/3 PRML Reading 12

出力ユニットの活性化関数 線形出力関数

𝑦𝑘 = 𝑎𝑘

目標変数に対する条件付分布 ガウス分布

𝑝 𝑡 𝐱, 𝐰, 𝛽 = 𝒩 𝑡 𝑦 𝐱, 𝐰 , 𝛽−1

尤度関数𝑝 𝐭 𝐗, 𝐰, 𝛽 =

𝑛=1

𝑁

𝑝 𝑡𝑛 𝐱𝑛, 𝐰, 𝛽

誤差関数 二乗和誤差関数

𝐸 𝐰 =1

2

𝑛=1

𝑁

𝑦 𝐱𝑛, 𝐰 − 𝑡𝑛2

回帰問題

Page 13: PRML Reading 5.1 - 5.2

5.2 Network Training

2015/6/3 PRML Reading 13

出力ユニットの活性化関数 ロジスティックシグモイド関数

𝑦𝑘 = 𝜎 𝑎𝑘 ≡1

1 + exp 𝑎𝑘

目標変数に対する条件付分布 ベルヌーイ分布

𝑝 𝑡 𝐱, 𝐰 = Bern 𝑡 𝑦 𝐱, 𝐰

尤度関数𝑝 𝐭 𝐗, 𝐰 =

𝑛=1

𝑁

𝑝 𝑡𝑛 𝐱𝑛, 𝐰

誤差関数 交差エントロピー誤差関数

𝐸 𝐰 = − 𝑛=1

𝑁

𝑡𝑛 ln 𝑦𝑛 + 1 − 𝑡𝑛 ln 1 − 𝑦𝑛

𝟐クラス分類問題

Page 14: PRML Reading 5.1 - 5.2

5.2 Network Training

2015/6/3 PRML Reading 14

出力ユニットの活性化関数 ソフトマックス関数

𝑦𝑘 =exp 𝑎𝑘 𝐱,𝐰

𝑗 exp 𝑎𝑗 𝐱, 𝐰

目標変数に対する条件付分布 ベルヌーイ分布

𝑝 𝐭 𝐱, 𝐰 = 𝑘=1

𝐾

𝑦𝑘 𝐱, 𝐰 𝑡𝑘

尤度関数𝑝 𝐓 𝐗, 𝐰 =

𝑛=1

𝑁

𝑘=1

𝐾

𝑦𝑘 𝐱𝑛, 𝐰 𝑡𝑛𝑘

誤差関数 多クラス交差エントロピー誤差関数

𝐸 𝑤 = − 𝑛=1

𝑁

𝑘=1

𝐾

𝑡𝑛𝑘 ln 𝑦𝑘 𝐱𝑛, 𝐰

多クラス分類問題

Page 15: PRML Reading 5.1 - 5.2

5.2 Network Training

回帰問題

•𝜕𝑦𝑘

𝜕𝑎𝑘= 1

•𝜕𝐸

𝜕𝑎𝑘=

𝜕𝐸

𝜕𝑦𝑘∙

𝜕𝑦𝑘

𝜕𝑎𝑘= 𝑦𝑘 − 𝑡𝑘 ∙ 1 = 𝑦𝑘 − 𝑡𝑘

𝟐クラス分類問題

•𝜕𝑦𝑘

𝜕𝑎𝑘= 𝜎 𝑎𝑘 1 − 𝜎 𝑎𝑘 = 𝑦𝑘 1 − 𝑦𝑘

•𝜕𝐸

𝜕𝑎𝑘=

𝜕𝐸

𝜕𝑦𝑘∙

𝜕𝑦𝑘

𝜕𝑎𝑘= − 𝑡𝑘

1

𝑦𝑘+ 1 − 𝑡𝑘

−1

1−𝑦𝑘∙ 𝑦𝑘 1 − 𝑦𝑘 = 𝑦𝑘 − 𝑡𝑘

多クラス分類問題

•𝜕𝑦𝑘

𝜕𝑎𝑗= 𝑦𝑘 𝛿𝑘𝑗 − 𝑦𝑗

•𝜕𝐸

𝜕𝑎𝑛𝑗=

𝜕𝐸

𝜕𝑦𝑛𝑘∙

𝜕𝑦𝑛𝑘

𝜕𝑎𝑛𝑗= − 𝑘 𝑡𝑛𝑘

1

𝑦𝑛𝑘∙ 𝑦𝑛𝑘 𝛿𝑘𝑗 − 𝑦𝑛𝑗 = 𝑦𝑛𝑗 − 𝑡𝑛𝑗

2015/6/3 PRML Reading 15

Page 16: PRML Reading 5.1 - 5.2

5.2.1 Parameter optimization

誤差関数の幾何学的描写

• 𝐸 𝐰 は 𝐰の滑らかで連続な曲面

• 𝐰から 𝐰 + 𝛿𝐰へ少しだけ移動

• 誤差関数の変化は 𝛿𝐸 ≃ 𝛿𝐰T𝛻𝐸 𝐰

• 𝛻𝐸 𝐰 : 誤差関数が最も変化する方向

• 𝐸 𝐰 の最小値は 𝛻𝐸 𝐰 = 0になる点

2015/6/3 PRML Reading 16

Fig. 5.6 ( p. 240 )

Page 17: PRML Reading 5.1 - 5.2

5.2.1 Parameter optimization

停留点• 𝛻𝐸 𝐰 = 0を満たす点

• 極小点• 大域的最小点

• 誤差関数の最小値に相当する極小点

• 局所的極小点

• それ以外の極小点

• 極大点

• 鞍点• 極値を取らない停留点

• 非線形性のため停留点は重み空間内に多数存在

2015/6/3 PRML Reading 17

Fig. 5.6 ( p. 240 )

Page 18: PRML Reading 5.1 - 5.2

5.2.1 Parameter optimization

非線形最適化問題

• 𝛻𝐸 𝐰 = 0を解析的に解くことはほぼ不可能

• 数値的な反復手順を利用

𝐰 𝜏+1 = 𝐰 𝜏 + ∆𝐰 𝜏

• 𝜏 : 反復ステップ数

• 多くのアルゴリズムでは ∆𝐰 𝜏 に勾配情報を利用

2015/6/3 PRML Reading 18

Fig. 5.6 ( p. 240 )

Page 19: PRML Reading 5.1 - 5.2

5.2.2 Local quadratic approximation

2015/6/3 PRML Reading 19

ある点 𝐰 のまわりでの誤差関数の局所二次近似

𝐸 𝐰 ≃ 𝐸 𝐰 + 𝐰 − 𝐰 T𝐛 +1

2𝐰 − 𝐰 T𝐇 𝐰 − 𝐰

• 𝐛 ≡ 𝛻𝐸 𝐰= 𝐰 : 𝐰で評価された勾配

• 𝐇 𝑖𝑗 ≡ 𝜕𝐸

𝜕𝑤𝑖𝜕𝑤𝑗 𝐰= 𝐰

: 𝐰で評価されたヘッセ行列

停留点 𝐰⋆ のまわりでの誤差関数の局所二次近似

𝐸 𝐰 ≃ 𝐸 𝐰⋆ +1

2𝐰 − 𝐰⋆ T𝐇 𝐰 − 𝐰⋆

• 𝐛 = 𝟎

• 𝐇 𝑖𝑗 ≡ 𝜕𝐸

𝜕𝑤𝑖𝜕𝑤𝑗 𝐰=𝐰⋆

Page 20: PRML Reading 5.1 - 5.2

5.2.2 Local quadratic approximation

誤差関数の幾何学的解釈

• 固有方程式

𝐇𝐮𝑖 = 𝜆𝑖𝐮𝑖• 𝐇 : ヘッセ行列(実対称行列)

• 𝜆𝑖 : 固有値

• 𝐮𝑖 : 固有ベクトル(完全正規直交系)

• 𝐮𝑖T𝐮𝑗 = 𝛿𝑖𝑗

• 𝐰 − 𝐰⋆ = 𝑖 𝛼𝑖𝐮𝑖 と展開すれば

𝐸 𝐰 ≃ 𝐸 𝐰⋆ +1

2𝐰 − 𝐰⋆ T𝐇 𝐰 − 𝐰⋆ = 𝐸 𝐰⋆ +

1

2

𝑖𝜆𝑖𝛼𝑖

2

2015/6/3 PRML Reading 20

Page 21: PRML Reading 5.1 - 5.2

5.2.2 Local quadratic approximation

誤差関数の幾何学的解釈

• 停留点近傍における誤差関数の導出

𝐸 𝐰

≃ 𝐸 𝐰⋆ +1

2𝐰 − 𝐰⋆ T𝐇 𝐰 − 𝐰⋆

= 𝐸 𝐰⋆ +1

2

𝑖𝛼𝑖𝐮𝑖

T

𝐇 𝑗𝛼𝑗𝐮𝑗

= 𝐸 𝐰⋆ +1

2

𝑖𝛼𝑖𝐮𝑖

T 𝑗𝛼𝑗𝜆𝑗𝐮𝑗

= 𝐸 𝐰⋆ +1

2

𝑖

𝑗𝜆𝑗𝛼𝑖𝛼𝑗𝐮𝑖

T𝐮𝑗

= 𝐸 𝐰⋆ +1

2

𝑖𝜆𝑖𝛼𝑖

2

2015/6/3 PRML Reading 21

∵ 𝐰 − 𝐰⋆ = 𝑖𝛼𝑖𝐮𝑖

∵ 𝐇𝐮𝑖 = 𝜆𝑖𝐮𝑖

∵ 𝐮𝑖T𝐮𝑗 = 𝛿𝑖𝑗

Page 22: PRML Reading 5.1 - 5.2

5.2.2 Local quadratic approximation

誤差関数の幾何学的解釈• 𝐰⋆ で評価されたヘッセ行列 𝐇 𝐸 が正定値

• ⇔ 𝐇 𝐸 ≻ 0

• ⇔ ∀𝐯 = 𝑖 𝑐𝑖𝐮𝑖 ≠ 𝟎 ∶ 𝐯T𝐇𝐯 = 𝑖 𝑐𝑖2𝜆𝑖 > 0

• ⇔ ∀𝑖 ∶ 𝜆𝑖 > 0

• ⇔ 𝐸 𝐰 ≃ 𝐸 𝐰⋆ +1

2 𝑖 𝜆𝑖𝛼𝑖

2 > 𝐸 𝐰⋆

• 𝐰 − 𝐰⋆ = 𝑖 𝛼𝑖𝐮𝑖

• ⇔停留点 𝐰⋆ は極小点

2015/6/3 PRML Reading 22

Page 23: PRML Reading 5.1 - 5.2

5.2.2 Local quadratic approximation

誤差関数の幾何学的解釈

• 極小値 𝐰⋆ の近傍において誤差関数は二次関数で近似

• 誤差関数の等高線は楕円の形

• 中心 𝐰⋆

• 長さは 𝜆𝑖

−1

2 に比例

2015/6/3 PRML Reading 23

Fig. 5.6 ( p. 240 )

Page 24: PRML Reading 5.1 - 5.2

5.2.3 Use of gradient information

勾配情報を利用しない場合

• 誤差曲面は 𝐛と 𝐇で特定

𝐸 𝐰 ≃ 𝐸 𝐰 + 𝐰 − 𝐰 T𝐛 +1

2𝐰 − 𝐰 T𝐇 𝐰 − 𝐰

• 𝐛の独立な要素数𝑊 個• 𝑊 : 𝐰の次元

• 𝐇の独立な要素数𝑊2−𝑊

2+ 𝑊 =

𝑊 𝑊+1

2個

• 極小点の位置は 𝑂 𝑊2 個のパラメータに依存

• 各関数の評価に必要なステップ数 𝑂 𝑊

• 極小値を見つけるために必要な計算量 𝑂 𝑊3

2015/6/3 PRML Reading 24

𝐇 =

𝑊

𝑊

Page 25: PRML Reading 5.1 - 5.2

5.2.3 Use of gradient information

勾配情報を利用する場合

• 𝛻𝐸 𝐰 を評価する毎に𝑊 個の情報を得る

• 𝑂 𝑊 回の評価で極小点を見つけることが可能

• 各勾配の評価に必要なステップ数 𝑂 𝑊

• 誤差逆伝播を利用

• 極小値を見つけるために必要な計算量 𝑂 𝑊2

2015/6/3 PRML Reading 25

Page 26: PRML Reading 5.1 - 5.2

バッチ手法

• 全ての訓練データ集合を一度に処理

• 勾配降下法

𝐰 𝜏+1 = 𝐰 𝜏 − 𝜂𝛻𝐸 𝐰 𝜏

• 𝜂 > 0 : 学習率パラメータ

• 勾配降下法より頑健でかつ高速なアルゴリズム

• 共役勾配法

• 準ニュートン法

5.2.4 Gradient decent optimization

2015/6/3 PRML Reading 26

Page 27: PRML Reading 5.1 - 5.2

5.2.4 Gradient decent optimization

オンライン手法

• データ点を一度に一つだけ用いてパラメータを順次更新

• 逐次的勾配降下法

𝐰 𝜏+1 = 𝐰 𝜏 − 𝜂𝛻𝐸𝑛 𝐰 𝜏

• 𝐸 𝐰 = 𝑛=1𝑁 𝐸𝑛 𝐰

• 利点

• データの冗長度を効率的に扱うことが可能

• 局所的極小値を回避できる可能性がある

2015/6/3 PRML Reading 27

Page 28: PRML Reading 5.1 - 5.2

Reference

Pattern Recognition and Machine Learning [ Christopher M. Bishop, 2006 ]

• English

• pp. 225 – 241

• Japanese ( vol. 1 )

• pp. 225 – 242

• Web site

• http://research.microsoft.com/en-us/um/people/cmbishop/prml/

2015/6/3 PRML Reading 28