16
パパパパパパパパパパパ S5.3-S5.3.2 パパパパパ __youki__ 2012.11.03(sat)

PRML復々習レーン 5.3節~5.3.2項(発表資料)

Embed Size (px)

Citation preview

パターン認識と機械学習 S5.3-S5.3.2

誤差逆伝播__youki__

2012.11.03(sat)

この節でやることは 誤差逆伝搬

誤差関数の勾配の効率的な評価方法 ※ ヘッセ行列も誤差逆伝搬により求めることができる( 5.4 節)

フィードフォワードニューラルネットワークの最適化手順 ステップ 1 :誤差関数の重みに関する微分の評価 誤差逆伝播による効率化 ステップ 2 :微分を用いた重みの調整量の計算 勾配降下法による効率化

上記各ステップにおいて計算効率を高めるテクニック ステップ1:逆伝播テクニック 本節 ステップ2: * 勾配降下法など 5.2 節

5.3.1 誤差関数微分の評価R1: 2012.10.09

目的:逆伝播アルゴリズムの導出 逆伝播アルゴリズムの利点

誤差関数微分を評価する計算量が少ない:

𝑎𝑖 𝑧 𝑗

𝑦 𝑘

𝑦 0

𝑤 𝑗𝑖

𝑤𝑘𝑗

順伝播

逆伝播

逆伝搬アルゴリズムを用いた微分結果 ある入力パターンに対する誤差の重みに関する微分結果

誤差の第一層の重みに関する微分結果 誤差の第二層の重みに関する微分結果

全入力パターンに対する誤差の重みに関する微分結果 :誤差の第一層の重みに関する微分結果 :誤差の第二層の重みに関する微分結果

5.3.1: 誤差関数微分の評価誤差関数の重みに関する勾配の解釈 出力が入力変数の線形和となる線形モデル [5.45] を仮定する

( 5.45 )

このとき入力パターンに対する誤差関数は [5.46] となる ( 5.46 )

この誤差関数の重みに関する勾配は [5.47] で与えられる ( 5.47 )

「局所的な」計算と解釈できる:リンクの出力側の「誤差信号」とリンクの入力側の変数の積

𝑥𝑛 0

𝑥𝑛𝑖

𝑦 𝑛0

𝑤00

・・・

𝑦 𝑛𝑘

・・・

特定の入力パターンに対する誤差関数:

誤差関数の重みに関する勾配:

(例)重み関する勾配:𝑥𝑛 1

𝒘 𝒌𝟎

𝑤01

𝑤𝑘1

𝑤0 𝑖

𝑤𝑘𝑖

5.3.1: 誤差関数微分の評価誤差関数の重みに関する勾配の解釈

「局所的な」計算と解釈できる:リンクの出力側の「誤差信号」とリンクの入力側の変数の積

5.3.1: 誤差関数微分の評価解釈の多層フィードフォワードネットワークへの拡張

𝑥𝑖𝑧 𝑗

𝑦 𝑘

𝑦 0

𝑤 𝑗𝑖

y k=∑j=0

J

𝑤𝑘𝑗(2)h (∑

𝑖=0

𝐼

𝑤 𝑗𝑖(1) 𝑥𝑖)

𝑤𝑘𝑗

𝑥𝑛 0

𝑥𝑛𝑖

𝑦 𝑛0

𝑤00

・・・

𝑦 𝑛𝑘

・・・

𝑥𝑛 1

𝒘 𝒌𝟎

𝑤01

𝑤𝑘1

𝑤0 𝑖

𝑤𝑘𝑖

𝑧 𝑗=h (𝑎 𝑗 )

𝑦 𝑛𝑘=∑𝑖=0

𝐼

𝑤𝑘𝑖𝑥𝑛𝑖

1P 前で重み勾配を求めた単純なネットワーク これから重み勾配を求めるネットワーク(多層フィードフォワードニューラルネットワーク)

5.3.1: 誤差関数微分の評価解釈の多層フィードフォワードネットワークへの拡張 多層フィードフォワードネットワークにおけるユニットの出力

( 5.48 )

多層フィードフォワードネットワークにおけるユニットの出力 ( 5.49 )

の重みに関する微分の評価を考える.はを通してのみ重みに依存するため,次のように偏微分の連携法則を適用できる

( 5.50 )

5.3.1: 誤差関数微分の評価解釈の多層フィードフォワードネットワークへの拡張 次に( 5.50 )に対して( 5.48 )を用いることで( 5.52 )が導

かれる ( 5.52 )

ここで( 5.51 )にある便利な記法を導入する ( 5.51 )

そして( 5.51 ),( 5.52 )を( 5.50 )に代入することで( 5.53 )を得る

( 5.53 )

の重みに関する微分はある重みの出力側のユニットのの値と重みの入力側のの値の積で表せる.

5.3.1: 誤差関数微分の評価解釈の多層フィードフォワードネットワークへの拡張 出力ユニットにおける誤差( see eq5.18 at page 235 )

※下記は活性化関数が正準連結関数の場合 ( 5.54 )

隠れユニットのの評価方法※ユニットに結合があるすべてのユニットについて和を取ること

( 5.55 )

逆伝播公式※下記は活性化関数がすべての出力ユニットで同一であることを仮定していることに注意!

( 5.56 )

まとめ ある入力パターンに対する誤差の重みに関する微分結果

誤差の第一層の重みに関する微分結果 誤差の第二層の重みに関する微分結果

全入力パターンに対する誤差の重みに関する微分結果 :誤差の第一層の重みに関する微分結果 :誤差の第二層の重みに関する微分結果

5.3.2 単純な例R1: 2012.10.28

問題設定

y k=∑j=0

J

𝑤𝑘𝑗(2)h (∑

𝑖=0

𝐼

𝑤 𝑗𝑖(1) 𝑥𝑖) tanh ′ (𝑎 )=1− tanh (𝑎 )2

・設定3.活性化関数

h (𝑎 )=tanh (𝑎)

・設定1.単純な 2 層ネットワーク ・設定2.誤差関数

𝐸𝑛=12∑𝑘=1

𝐾

(𝑦𝑘−𝑡𝑘 )2𝑥𝑖𝑧 𝑗

𝑦 𝑘

𝑦 0

𝑤 𝑗𝑖 𝑤𝑘𝑗

𝑧 𝑗=h (𝑎 𝑗 )

計算手順 次の処理を各入力パターンに対して繰り返す

順伝播を用いて入力パターンに対するネットワーク出力を得る ( 5.62+5.63 ) ( 5.64 )

逆伝播を用いてネットワーク出力の誤差を計測する ( 5.65 ) ( 5.66 ) ( 5.60 )

第一層と第二層の重みに関する微分値を得る ,  ( 5.67 )

まとめ 問題設定のおさらい

ネットワーク構造:単純 2 層 誤差関数: 2 乗和誤差関数 隠れユニットの活性化関数:

上記設定における第一層,第二層の重み勾配は以下の通り