PRML5.3
誤差逆伝播法
誤差逆伝播法
• 誤差逆伝播法
→誤差関数の勾配を効率よく評価するテクニックをみつけること
• 誤差関数を最小化するための反復手続きがあり、一連のステップに
おいて重みを調整する。
• 各ステップは2つの異なるステージに分けられる。
①誤差関数の重みに関する微分を評価する
②微分を用いて重みの調整量が計算される
各ステップの特徴
①誤差関数の重みに関する微分を評価する
・逆伝播テクニックが特に貢献している部分
・多くの他のネットワークにも応用可能
・二乗和以外の誤差関数にも応用可能
・ヤコビ行列やヘッセ行列のようは他の微分の評価にも使える
②微分を用いて重みの調整量を計算する
・勾配降下法
・さまざまな最適化スキームと組み合わせることができる
5.3.1
誤差関数の勾配の評価
• 誤差関数は、訓練集合の各データに対応する誤差項の和として表
せる
𝐸 𝑤 =
𝑛=1
𝑁
𝐸 𝑛(𝑤)
「一つの項に対する勾配𝛻𝐸 𝑤 を評価する問題を考える」
出力ykが入力変数xi線形和という単純な線形モデル
𝑦 𝑘 =
𝑖
𝑤 𝑘𝑖 𝑥𝑖
ある特定の入力パターンnに対する誤差関数が以下の形をとる
𝐸 𝑛 =
1
2
𝑘
(𝑦 𝑛𝑘 − 𝑡 𝑛𝑘)2
誤差関数の重みwjiに対する勾配は
𝜕𝐸 𝑛
𝜕𝑤𝑗𝑖
= 𝑦 𝑛𝑗 − 𝑡 𝑛𝑗 𝑥 𝑛𝑖
𝑦 𝑛𝑗 − 𝑡 𝑛𝑗:誤差信号
𝑥 𝑛𝑖:入力の変数
• 次回からはこれを多層フィードフォワードネットワークに拡張する方
法を見ていく
• 一般のフィードフォワードニューラルネットワークのそれぞれのユニッ
トは
𝑎𝑗 =
𝑖
𝑤𝑗𝑖 𝑧𝑖
𝑧𝑗 = ℎ(𝑎𝑗)
(5.48)(5.49)を順番に適用することによりネットワークのすべての隠れ
ユニットと出力ユニットの出力が計算されている
→順伝搬
入力ユニット
(iの列)
隠れユニット
(jの列)
出力ユニット
(kの列)
𝑎𝑗 = 𝑖 𝑤𝑗𝑖 𝑧𝑖 (5.48)
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗 = 𝑖 𝑤𝑗𝑖 𝑧𝑖 (5.48)
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗 = 𝑖 𝑤𝑗𝑖 𝑧𝑖 (5.48)
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
𝑧𝑖
𝑧1
𝜔𝑗𝑖
𝑎𝑗
𝑧𝑗 = ℎ(𝑎𝑗) (5.49)
𝑧𝑗
𝑧𝑖
𝑧1
𝜔𝑗𝑖
𝑎𝑗
(5.48) と(5.49)を順番に適用していく。(順伝播)
𝑧𝑗
𝑤 𝑘𝑗
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
(5.48) と(5.49)を順番に適用していく。(順伝播)
𝑧𝑗
𝑎 𝑘
𝑎1
𝑤 𝑘𝑗
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
(5.48) と(5.49)を順番に適用していく。(順伝播)
𝑧𝑗
𝑎 𝑘
𝑎1
𝑦 𝑘
𝑦1
𝑤 𝑘𝑗
Enの重みwjiに関する微分の評価(勾配)
勾配 =
𝜕𝐸 𝑛
𝜕𝑤 𝑗𝑖
=
𝜕𝐸 𝑛
𝜕𝑎 𝑗
𝜕𝑎 𝑗
𝜕𝑤 𝑗𝑖
(5.50)
Enの重みwjiに関する微分の評価(勾配)
勾配 =
𝜕𝐸 𝑛
𝜕𝑤 𝑗𝑖
=
𝜕𝐸 𝑛
𝜕𝑎 𝑗
𝜕𝑎 𝑗
𝜕𝑤 𝑗𝑖
(5.50)
𝛿𝑗 ≡
𝜕𝐸 𝑛
𝜕𝑎𝑗
Enの重みwjiに関する微分の評価(勾配)
勾配 =
𝜕𝐸 𝑛
𝜕𝑤 𝑗𝑖
= 𝛿𝑗
𝜕𝑎 𝑗
𝜕𝑤 𝑗𝑖
(5.50)
𝜕𝑎𝑗
𝜕𝑤𝑗𝑖
= 𝑧𝑖
Enの重みwjiに関する微分の評価(勾配)
勾配 =
𝜕𝐸 𝑛
𝜕𝑤 𝑗𝑖
= 𝛿𝑗 𝑧𝑖 (5.53)
誤差𝛿の値と入力側のユニットの𝑧の値を掛けあ
わせれば勾配が求められる。
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
𝑧𝑗
𝑎 𝑘
𝑎1
𝑦 𝑘
𝑦1
𝑤 𝑘𝑗
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
Zは既に求めている。
𝑧𝑗
𝑎 𝑘
𝑎1
𝑦 𝑘
𝑦1
𝑤 𝑘𝑗
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
後は𝛿を求めればよい
𝑧𝑗
𝑎 𝑘
𝑎1
𝑦 𝑘
𝑦1
𝑤 𝑘𝑗
𝛿 𝑘
𝛿1
𝛿j
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
𝑧𝑗
𝑎 𝑘
𝑎1
𝑦 𝑘
𝑦1
𝑤 𝑘𝑗
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
𝛿 𝑘 = 𝑦 𝑘 − 𝑡 𝑘
𝑧𝑗
𝑎 𝑘
𝑎1
𝑦 𝑘
𝑦1
𝑤 𝑘𝑗
𝑡1
𝑡 𝑘
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
𝛿 𝑘 = 𝑦 𝑘 − 𝑡 𝑘
𝑧𝑗
𝑎 𝑘
𝑎1
𝑦 𝑘
𝑦1
𝑤 𝑘𝑗
𝛿 𝑘
𝛿1
𝑡 𝑘
𝑡1
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
𝑧𝑗
𝑎 𝑘
𝑎1
𝑦 𝑘
𝑦1
𝑤 𝑘𝑗
𝛿 𝑘
𝛿1
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
𝛿𝑗 = ℎ′
𝑎𝑗
𝑘
𝑤 𝑘𝑗 𝛿 𝑘
𝑧𝑗
𝑎 𝑘
𝑎1
𝑦 𝑘
𝑦1
𝑤 𝑘𝑗
𝛿 𝑘
𝛿1
𝑧𝑖
𝑧1
𝑤𝑗𝑖
𝑎𝑗
𝛿𝑗 = ℎ′
𝑎𝑗 𝑘 𝑤 𝑘𝑗 𝛿 𝑘 (逆伝播公式)
𝑧𝑗
𝑎 𝑘
𝑎1
𝑦 𝑘
𝑦1
𝑤 𝑘𝑗
𝛿 𝑘
𝛿1
𝛿j
まとめ
1
𝑎𝑗 =
𝑖
𝑤𝑗𝑖 𝑧𝑖 𝑧𝑗 = ℎ(𝑎𝑗)
2
𝛿 𝑘 = 𝑦 𝑘 − 𝑡 𝑘
3
•
𝜕𝐸 𝑛
𝜕𝑤 𝑗𝑖
=
𝜕𝐸 𝑛
𝜕𝑎 𝑗
𝜕𝑎 𝑗
𝜕𝑤 𝑗𝑖
• 𝛿𝑗 ≡
𝜕𝐸 𝑛
𝜕𝑎 𝑗
•
𝜕𝑎 𝑗
𝜕𝑤 𝑗𝑖
= 𝑧𝑖
•
𝜕𝐸 𝑛
𝜕𝑤 𝑗𝑖
= 𝛿𝑗 𝑧𝑖
• 𝛿 𝑘 = 𝑦 𝑘 − 𝑡 𝑘
• 𝛿𝑗 ≡
𝜕𝐸 𝑛
𝜕𝑎 𝑗
= 𝑘
𝜕𝐸 𝑛
𝜕𝑎 𝑘
𝜕𝑎 𝑘
𝜕𝑎 𝑗
• 𝛿𝑗 = ℎ′
𝑎𝑗 𝑘 𝑤 𝑘𝑗 𝛿 𝑘
•
𝜕𝐸
𝜕𝑤 𝑗𝑖
= 𝑛
𝜕𝐸 𝑛
𝜕𝑤 𝑗𝑖

Prml5