Mais conteúdo relacionado
Semelhante a PRML_from5.1to5.3.1 (20)
PRML_from5.1to5.3.1
- 10. フィードフォワードネットワーク関数
10
3章および4章と同じ形の基底関数を用いる
𝑦 𝐱, 𝐰 = 𝑓(σ 𝑗=1
𝑀
𝑤𝑗 𝜙𝑗 𝐱 ) (5.1)
𝑦 𝐱, 𝐰 : 予測モデル, 𝜙(𝐱): 基底関数
𝑓 :非線形活性化関数, 𝐱: 入力ベクトル, 𝐰: 係数(重み)
係数 𝑤𝑗 だけでなく,基底関数 𝜙𝑗 𝐱 も学習したい
⇒ これを2層のニューラルネットワーク(NN)で確認していく
参考文献には
「それぞれの基底関数自体が入力の線形和の非線形関数
であり,線形和の係数が適応可能なパラメータ」とある
- 12. 2層の NN を数式で追うⅠ
1層目:入力層⇒中間層(隠れ層)
入力変数 𝑥1, … , 𝑥 𝐷 の線形和を作成し,2層目へ
𝑧𝑗 = ℎ(σ 𝑗=1
𝐷
𝑤𝑗𝑖
(1)
𝑥𝑖 + 𝑤𝑗0
(1)
)
2層目:中間層⇒出力層
変数 𝑧1, … , 𝑧 𝑀 の線形和を作成し,出力層へ
𝑦 𝑘 = 𝜎(σ 𝑗=1
𝑀
𝑤 𝑘𝑗
(2)
𝑧𝑗 + 𝑤 𝑘0
(2)
)
全体:入力層⇒中間層⇒出力層
1層目と2層目を結合し,入力から出力を導出
𝑦 𝑘 𝐱, 𝐰 = 𝜎(σ 𝑗=1
𝑀
𝑤 𝑘𝑗
(2)
ℎ(σ 𝑗=1
𝐷
𝑤𝑗𝑖
(1)
𝑥𝑖 + 𝑤𝑗0
(1)
) + 𝑤 𝑘0
(2)
)
12
順に
追っていく
- 13. 2層の NN を数式で追うⅡ
入力⇒中間層で入力変数 𝑥1, … , 𝑥 𝐷 の線形和を作成・変換
𝑥0 = 1 を追加して簡単化すると,𝑎𝑗 = σ𝑖=0
𝐷
𝑤𝑗𝑖
(1)
𝑥𝑖
𝑧𝑗 = ℎ(σ𝑖=0
𝐷
𝑤𝑗𝑖
(1)
𝑥𝑖)
13
𝑎𝑗 = σ𝑖=1
𝐷
𝑤𝑗𝑖
(1)
𝑥𝑖 + 𝑤𝑗0
(1)
(5.2)
𝑧𝑗 = ℎ(𝑎𝑗) (5.3)
𝑎𝑗: 活性, 𝑗: [1, 𝑀], (1): 1層目のネットワーク
𝑤𝑗𝑖
(1)
: 重みパラメータ, 𝑤𝑗0
(1)
: バイアスパラメータ
𝑧𝑗: 基底関数の出力, ℎ: 微分可能な非線形活性化関数
- 14. 2層の NN を数式で追うⅢ
中間⇒出力層で変数 𝑧1, … , 𝑧 𝑀 の線形和を作成・変換
𝑧0 = 1 を追加して簡単化すると,
𝑦 𝑘 = 𝜎(σ 𝑗=0
𝑀
𝑤 𝑘𝑗
(2)
𝑧𝑗)
14
𝑎 𝑘 = σ 𝑗=1
𝑀
𝑤 𝑘𝑗
(2)
𝑧𝑗 + 𝑤 𝑘0
(2)
(5.4)
𝑦 𝑘 = 𝜎(𝑎 𝑘) (5.5)
𝑎 𝑘: 活性, 𝑘: [1, 𝐾], (2): 2層目のネットワーク
𝑤 𝑘𝑗
(2)
: 重みパラメータ, 𝑤 𝑘0
(2)
: バイアスパラメータ
𝑦 𝑘: NN の出力, 𝜎: 活性化関数(sigmoid 関数)
- 15. 2層の NN を数式で追うⅣ
ニューラルネットワークモデルは2層をまとめて
可変パラメータのベクトル 𝐰 で制御
入力の集合{𝑥𝑖}から出力の集合{𝑦 𝑘}への非線形関数
式(5.7)を評価する過程がネットワークの順伝播
P.11,16 における図で決定論的(≠確率論)に表現可能
15
𝑦 𝑘 𝐱, 𝐰 = 𝜎 σ 𝑗=0
𝑀
𝑤 𝑘𝑗
2
ℎ σ𝑖=0
𝐷
𝑤𝑗𝑖
1
𝑥𝑖 (5.7)
𝐱: 入力変数の集合{𝑥𝑖}
𝐰: すべての重み・バイアスパラメータをまとめたもの
すなわち, 𝑤𝑗𝑖
1
, 𝑤 𝑘𝑗
2
をまとめたもの
- 18. sigmoid と tanh
tanh = 2sigmoid 2𝑥 − 1 を導いて,sigmoid について解く
tanh =
𝑒 𝑥−𝑒−𝑥
𝑒 𝑥+𝑒−𝑥 =
1−𝑒−2𝑥
1+𝑒−2𝑥 =
1
1+𝑒−2𝑥 −
𝑒−2𝑥
1+𝑒−2𝑥
= sigmoid 2𝑥 − (−
1
1+𝑒−2𝑥 +
1+𝑒−2𝑥
1+𝑒−2𝑥)
= 2sigmoid 2𝑥 − 1
sigmoid について解くと,sigmoid(x) =
1
2
tanh
x
2
+ 1
18
活性化関数を sigmoid 関数とするネットワークは
tanh 関数を活性化関数とするネットワークで表現可能
- 20. logistic sigmoid と softmax
2値分類の際には,sigmoid と softmax の両方が使用可能
制約からも,クラス1かどうかわかれば,クラス2はわかる
クラス1に着目して考えると, sigmoid を内包
𝑓 𝑥1 =
𝑒 𝑥1
𝑒 𝑥1+𝑒 𝑥2
=
1
1+𝑒 𝑥2−𝑥1
= sigmoid(𝑥1 − 𝑥2)
20
2値分類の時の softmax 関数
𝑓 𝑥1 =
𝑒 𝑥1
𝑒 𝑥1+𝑒 𝑥2
, 𝑓 𝑥2 =
𝑒 𝑥2
𝑒 𝑥1+𝑒 𝑥2
, 𝑓 𝑥1 + 𝑓 𝑥2 = 1
2値分類の sigmoid と softmax の違い
出力の個数.sigmoid は1個, softmax は2個
クラス2の扱い方.「クラス1とそれ以外」か「クラス1と2」
※省略されているが正確には logistic sigmoid
- 22. 隠れ層がないネットワーク
𝑦 𝑘 𝐱, 𝐰 = 𝜎 σ 𝑗=0
𝑀
𝑤 𝑘𝑗
2
ℎ σ𝑖=0
𝐷
𝑤𝑗𝑖
1
𝑥𝑖 = 𝜎 σ𝑖=0
𝐷
𝑤 𝑘𝑖
1 ′
𝑥𝑖
隠れユニットを持たない=隠れ層を持たないネットワーク
隠れユニット数が入力層・出力層より小さい時は
次元削減が起きるため,同様のことは不可能
12章で PCA との関係について触れるが,関心が薄い分野
22
ネットワークの隠れユニットの活性化関数がすべて線形
⇒等価な隠れユニットを持たないネットワークが存在
線形であれば,必ず 𝐰(𝟏)′
= 𝐰(2)ℎ(𝐰(1)) と書き直せる
- 27. NN による関数近似
3つの隠れユニットを持つ
NN による関数近似
⇒ どれも近似できている
青点:データ点
赤線:ネットワークの出力
(活性化関数は線形関数)
破線: 各ユニットの出力
(活性化関数は tanh )
27
線形な出力を持つ2層の NN は
十分な数の隠れユニット数があれば,コンパクトな定義
域を持つどんな連続関数でも,任意の精度で一様に近似
- 29. NN による2値分類
2つの隠れユニットを持つ NN による
2値分類
〇,×:データ点
緑線:本来の境界線
赤線:ネットワークによる境界線
⇒ 赤線の左側は完璧,右は微妙?
◆入力:𝑥, 𝑦 の2変数
◆隠れユニットの活性化関数: tanh
◆青線:隠れユニットの出力 𝑧 = 0.5 の線
◆ネットワークの活性化関数: logistic sigmoid 関数
29
- 36. ネットワーク訓練(回帰)Ⅰ
𝑡 は 𝐱 に依存する平均を持つガウス分布に従うとすると
NN で任意の 𝐱 から 𝑦 への連続関数を近似できるため
出力ユニットの活性化関数は恒等写像で良い
限定的な仮定なため,より一般的なアプローチは5.6節で
36
任意の実数値を取れる1つの目標変数 𝑡 から考えていく
𝑝(𝑡|𝐱, 𝐰) = 𝑁(𝑡|𝑦 𝐱, 𝐰 , 𝛽−1)
𝑦 𝐱, 𝐰 : NN の出力, 𝛽−1
: 精度パラメータ
- 37. ネットワーク訓練(回帰)Ⅱ
𝑁 個の独立同分布に従う観測値 𝐗 = {𝐱1, … , 𝐱 𝑁} と
それぞれに対応する目標値 𝐓 = {𝑡1, … , 𝑡 𝑁} が与えられた時
尤度関数は
𝑝(𝐭|𝐗, 𝐰, 𝑝) = ς 𝑛=1
𝑁
𝑝(𝑡 𝑛|𝐱 𝑛, 𝐰, 𝛽)
負の対数を取ると
𝛽
2
σ 𝑛=1
𝑁
𝑦 𝐱 𝑛, 𝐰 − 𝑡 𝑛
2 −
𝛽
2
𝑙𝑛𝛽 +
𝑁
2
ln(2𝜋)
この式が誤差関数であり,誤差関数を用いて 𝐰, 𝛽 を学習
37
対数尤度の最大化ではなく,誤差関数の最小化
- 38. ネットワーク訓練(回帰)Ⅲ
通常の最尤推定と同様に, 𝐰, 𝛽 の順に求めていく
𝐰 について無関係な項を削除すると
𝐸 𝑤 =
1
2
σ 𝑛=1
𝑁
𝑦 𝑥 𝑛, 𝑤 − 𝑡 𝑛
2
誤差関数を最小化する重みが最尤推定解 𝐰 𝑀𝐿
⇒ 誤差が非凸 ⇒ 最尤点でなく尤度の極大点になりがち
38
対数尤度の最大化ではなく,誤差関数の最小化
尤度関数の最大化 = 二乗和誤差関数の最小化
- 39. ネットワーク訓練(回帰)Ⅳ
𝐰 𝑀𝐿 が求まれば,𝛽 も負の対数尤度を最小化して求まる
1
𝛽 𝑀𝐿
=
1
𝑁
σ 𝑛=1
𝑁
𝑦 𝐱 𝑛, 𝐰 𝑀𝐿 − 𝑡 𝑛
2
𝐱, 𝐰 の条件付確率が独立でノイズ精度が共通であるとき
目標変数の数 𝐾 を用いると,ノイズ精度は
1
𝛽 𝑀𝐿
=
1
𝑁𝐾
σ 𝑛=1
𝑁
𝒚 𝐱 𝑛, 𝐰 𝑀𝐿 − 𝐭 𝑛
2
また,活性化関数は恒等写像 𝑦 𝑘 = 𝑎 𝑘 なので,
𝜕𝐸
𝜕𝑎 𝑘
= 𝑦 𝑘 − 𝑡 𝑘
39
目標値の条件付分布:
𝑝(𝐭|𝒙, 𝒘) = 𝑁(𝐭|𝒚 𝐱, 𝐰 , 𝛽−1
𝐈)
𝑦 𝐱, 𝐰 : NN の出力, 𝛽−1
: 精度パラメータ, 𝐈: Identity
- 40. ネットワーク訓練(2値分類)Ⅰ
入力 𝐱 が与えられた時の目標 𝑡 の条件付き分布は
𝑦 𝐱, 𝐰 は条件付き確率 𝑝(𝐶1|𝐱) と解釈可能なため
𝑝 𝐶2 𝐱 = 1 − 𝑦 𝐱, 𝐰
出力ユニットの活性化関数は logistic sigmoid 関数
𝑦 = 𝜎 𝑎 =
1
1+exp(−𝑎)
40
𝑡 = 1 がクラス 𝐶1, 𝑡 = 0 がクラス 𝐶2な1つの目標変数 𝑡
𝑝(𝑡|𝐱, 𝐰) = 𝑦 𝐱, 𝐰 𝑡
{1 − 𝑦 𝐱, 𝐰 }1−𝑡
𝑦 𝐱, 𝐰 : NN の出力[0,1], 𝑝(𝑡|𝐱, 𝐰):ベルヌーイ分布
- 41. 負の対数尤度を取ると,交差エントロピー誤差が得られ
𝐸 𝐰 = − σ 𝑛=1
𝑁
𝑡 𝑛ln𝑦𝑛 + 1 − 𝑡 𝑛 ln 1 − 𝑦𝑛
正しくラベル付けをされている場合,ノイズ精度 𝛽 は不要
二乗和誤差を用いるよりも訓練が速く,汎化性能が高い
実際,交差エントロピーは画像分類でよく使用されている
41
クラス分類問題では,交差エントロピー誤差関数
ネットワーク訓練(2値分類)Ⅱ
- 42. ネットワーク訓練(2値分類)Ⅲ
𝐾 個の出力を持ち,各活性化関数に logistic sigmoid 関数
入力 𝐱 が与えられた時の目標 𝐭 の条件付き分布は
負の対数尤度を取ると,
𝐸 𝐰 = − σ 𝑛=1
𝑁 σ 𝑘=1
𝐾
𝑡 𝑛𝑘ln𝑦 𝑛𝑘 + 1 − 𝑡 𝑛𝑘 ln 1 − 𝑦 𝑛𝑘
誤差関数の微分は回帰同様,
𝜕𝐸
𝜕𝑎 𝑘
= 𝑦 𝑘 − 𝑡 𝑘
42
(ラベルが独立な)𝐾 個の異なる2値分類問題を解く
𝑝(𝐭|𝐱, 𝐰) = ෑ
𝑘=1
𝐾
𝑦 𝑘 𝐱, 𝐰 𝑡 𝑘{1 − 𝑦 𝑘 𝐱, 𝐰 }1−𝑡 𝑘
𝑦 𝐱, 𝐰 : NN の出力[0,1], 𝐭: 目標値の集合 𝑡 𝑘 , 𝑡 𝑘 ∈ {0,1}
※この線形クラス分類モデルでは重みが独立だが NN では共有
- 43. ネットワーク訓練(多クラス分類)
目標変数 𝐭 は one-hot 表現(1of𝐾)で与えられるとき
出力ユニットの活性化関数は softmax 関数で
𝑦 𝑘 𝐱, 𝐰 =
exp 𝑎 𝑘 𝐱,𝐰
σ 𝑗 exp 𝑎 𝑗 𝐱,𝐰
誤差関数の微分は,今までと同様
𝜕𝐸
𝜕𝑎 𝑘
= 𝑦 𝑘 − 𝑡 𝑘
43
標準的な多クラスのクラス分類問題を考える
誤差関数:
𝐸 𝐰 = − σ 𝑛=1
𝑁 σ 𝑘=1
𝐾
𝑡 𝑛𝑘ln𝑦 𝑘(𝐱 𝑛, 𝐰)
𝑦 𝑘(𝐱, 𝐰) = 𝑝 𝑡 𝑘 = 1 𝐱)
- 46. 𝛻𝐸 𝐰 = 0 となる点が最小値
パラメータ最適化Ⅰ
点𝐰 𝐴: 局所的極小点
点𝐰 𝐵: 大域的最小点(最小値)
点𝐰 𝐶: 任意の点
𝛻𝐸: 誤差曲面の局所勾配
(−𝛻𝐸 方向に動けばよい)
46
誤差関数 𝐸 𝐰 を最小化する重み 𝐰 を見つけたい
𝛻𝐸 𝐰 = 0 となる点が最小値
1つじゃない?
- 47. パラメータ最適化Ⅱ
停留点: 勾配が0になる点 𝐰 (𝛻𝐸 𝐰 = 0)
極小点:連続関数が減少から増加に変わる点
極大点:連続関数が増加から減少に変わる点
鞍点:ある方向では極大点,別の方向では極小点
重み空間対称性より,𝑀 個のユニットを持つ2層の NN には
等価な極小点が 2 𝑀 𝑀! 個存在
47
誤差関数 𝐸 𝐰 を最小化する重み 𝐰 を見つけたい
※図, [2]https://qiita.com/ishizakiiii/items/82cfa9522ceb20703f2b
- 48. パラメータ最適化Ⅲ
点 𝐰 𝐴: 局所的極小点
点 𝐰 𝐵: 大域的最小点(最小値)
点 𝐰 𝐴, 𝐰 𝐵 のように等価な値でない
極小点が存在
⇒ 本当に最小値かわからない・・・
48
誤差関数 𝐸 𝐰 を最小化する重み 𝐰 を見つけたい
複数の極小点を比較して対処
- 49. パラメータ最適化Ⅳ
基本的に,2ステップを繰り返す
① 初期値 𝑤(0) の選択
② 重み空間内の移動 𝑤(𝜏+1)
= 𝑤(𝜏)
+ ∆𝑤(𝜏)
𝜏: 反復ステップ数,∆𝑤(𝜏): 𝜏 時の重みベクトル更新量
最適化手法はいくつかあるが,結局 ∆𝑤(𝜏)
が違うだけ
⇒ 更新時によく使用される勾配情報の重要性をチェック!
49
解析的に解くのはあまりに厳しいので反復手順で考える
※図, [2]https://qiita.com/ishizakiiii/items/82cfa9522ceb20703f2b
- 51. 局所二次近似Ⅰ
ある点 ෝ𝐰 の周りで 𝐸 𝐰 を二次までテイラー展開し近似
微分すると,勾配の局所近似は
𝛻𝐸 ≃ 𝐛 +𝐇(𝐰 − ෝ𝐰)
51
理解のために,誤差関数の局所二次近似を考えていく
𝐸 𝐰 ≃ 𝐸 ෝ𝐰 + 𝐰 − ෝ𝐰 𝑇 𝐛 +
1
2
𝐰 − ෝ𝐰 𝑇 𝐇(𝐰 − ෝ𝐰)
𝐛: 点 ෝ𝐰 における勾配≡ 𝛻𝐸| 𝐰= ෝ𝐰,
(𝐇)𝑖𝑗: 点 ෝ𝐰 におけるヘッセ行列≡
𝛿𝐸
𝛿𝑤 𝑖 𝛿𝑤 𝑗
| 𝐰= ෝ𝐰
𝐻 𝐸 = 𝛻2 𝐸 =
𝜕2
𝐸
𝜕2 𝑤1
𝜕2
𝐸
𝜕𝑤1 𝛿𝑤2
𝜕2
𝐸
𝜕𝑤2 𝛿𝑤1
𝜕2
𝐸
𝜕2 𝑤2
- 52. 局所二次近似Ⅱ
極小点 𝐰∗
では, 𝐛 ≡ 𝛻𝐸| 𝐰=𝐰∗ = 0 である
ただし,(𝐇)𝑖𝑗≡
𝛿𝐸
𝛿𝑤𝑖 𝛿𝑤 𝑗
| 𝐰=𝐰∗ が0となるかはわからないので
⇒ より深く解釈するために,式の第2項について考える
52
誤差関数の極小点 𝐰∗の周りでの近似を考えていく
𝐸 𝐰 ≃ 𝐸 𝐰∗ +
1
2
𝐰 − 𝐰∗ 𝑇 𝐇(𝐰 − 𝐰∗)
(𝐇)𝑖𝑗: 点 𝐰∗
におけるヘッセ行列≡
𝛿𝐸
𝛿𝑤 𝑖 𝛿𝑤 𝑗
| 𝐰=𝐰∗
- 53. 局所二次近似Ⅲ
ヘッセ行列の固有方程式を考えると
𝐇𝐮𝑖 = 𝜆𝑖 𝐮𝑖
固有ベクトル 𝐮𝑖 は完全正規直行系をなしているので
𝐮𝑖
𝑇
𝐮 𝑗 = 𝛿𝑖𝑗 = ቊ
𝑖 = 𝑗 のとき 1
𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 0
(𝐰 − 𝐰∗) を固有ベクトルの線形和に展開すると
𝐰 − 𝐰∗ = σ𝑖 𝛼𝑖 𝐮𝑖 (𝛼𝑖: 軸 𝐮𝑖 への係数)
⇒ これらの式を用いて,誤差関数の第2項を置換する
53
𝐰∗ で評価されているヘッセ行列 𝐇 を掘り下げていく
- 54. 局所二次近似Ⅳ
𝐸 𝐰 ≃ 𝐸 𝐰∗
+
1
2
𝐰 − 𝐰∗ 𝑇
𝐇(𝐰 − 𝐰∗
)
≃ 𝐸 𝐰∗ +
1
2
σ𝑖 𝛼𝑖 𝐮𝑖
𝑇
𝐇 σ𝑖 𝛼𝑖 𝐮𝒊 ∵ 𝐰 − 𝐰∗ = σ𝑖 𝛼𝑖 𝐮𝑖
≃ 𝐸 𝐰∗ +
1
2
σ𝑖 𝛼𝑖 𝐮𝒊
𝑻 σ𝑖 𝛼𝑖 𝜆𝑖 𝐮𝒊 ∵ 𝐇𝐮𝑖 = 𝜆𝑖 𝐮𝑖
≃ 𝐸 𝐰∗ +
1
2
σ 𝑗 𝜆𝑖 𝛼𝑖
2
∵ 𝐮𝑖
𝑇
𝐮 𝑗 = 𝛿𝑖𝑗
以上より,
𝐸 𝐰 ≃ 𝐸 𝐰∗ +
1
2
σ 𝑗 𝜆𝑖 𝛼𝑖
2
54
近似した誤差関数における第2項の置換
- 56. 局所二次近似Ⅵ
重み空間が1次元の場合
停留点 𝐰∗
は
𝛿2 𝐸
𝛿𝐰2 | 𝐰∗ > 0 の時,極小点
重み空間が 𝐷 次元の場合
𝐰∗
で評価されたヘッセ行列が正定値ならば,極小点
56
行列 𝐇 が正定値であるとは
すべての 𝑣 ≠ 0 に対して 𝑣 𝑇 𝐻𝑣 > 0 であるということ
固有ベクトルの集合 {𝐮𝑖} は完全基底なので,任意のベクトル 𝒗 は
𝒗 = σ𝑖 𝑐𝑖 𝐮𝑖
また,𝐇𝐮𝑖 = 𝜆𝑖 𝐮𝑖, 𝐮𝑖
𝑇
𝐮 𝑗 = 𝛿𝑖𝑗 から 𝒗 𝑇 𝐇𝐯 = σ𝑖 𝑐𝑖
2
𝜆𝑖 と書けるので
行列 𝐻 はすべての固有値が正の時,正定値
- 59. 勾配情報の利用Ⅰ
局所二次近似中の独立な変数は 𝐛 と 𝐇
ヘッセ行列は対称性があるので,独立なパラメータ数は
𝑊 +
𝑊 𝑊+1
2
=
𝑊 𝑊+3
2
極小値の特定には 𝑂(𝑊2) 個の計算が必要
59
勾配情報によって,誤差関数の極小点は速く見つかる
𝐸 𝐰 ≃ 𝐸 ෝ𝐰 + 𝐰 − ෝ𝐰 𝑇
𝐛 +
1
2
𝐰 − ෝ𝐰 𝑇
𝐇(𝐰 − ෝ𝐰)
𝐛 の次元数: W × 1, 𝐇 の次元数: W × 𝑊
𝐻 𝐸 =
𝜕2
𝐸
𝜕2 𝑤1
𝜕2
𝐸
𝜕𝑤1 𝛿𝑤2
𝜕2
𝐸
𝜕𝑤2 𝛿𝑤1
𝜕2
𝐸
𝜕2 𝑤2
ヘッセ行列の対称性
- 70. 誤差関数微分の評価Ⅱ
出力 𝑦 𝑘 が入力変数 𝑥𝑖 の線形和の単純な線形モデルだと
𝑦 𝑘 = σ𝑖 𝑤 𝑘𝑖 𝑥𝑖
ある特定の入力パターン 𝑛 に対する誤差関数は
𝑦 𝑛𝑘 = 𝑦 𝑘(𝐱 𝑛, 𝐰) として,𝐸 𝑛 =
1
2
σ 𝑘 𝑦 𝑛𝑘 − 𝑡 𝑛𝑘
2
この誤差関数の重み 𝑤𝑗𝑖 に関する勾配は
𝜕𝐸 𝑛
𝜕𝑤 𝑗𝑖
= 𝑦 𝑛𝑗 − 𝑡 𝑛𝑗 𝑥 𝑛𝑖
70
局所的な計算
[重みに関する勾配] = [出力側の誤差信号] × [入力側の変数]
- 72. 誤差関数微分の評価Ⅳ
𝐸 𝑛の重み 𝑤𝑗𝑖 に関する微分の評価をしていく(逆伝播)
𝐸 𝑛 はユニット 𝑗 への入力和 𝑎𝑗 を通して重み 𝑤𝑗𝑖 に依存
𝜕𝐸 𝑛
𝜕𝑤 𝑗𝑖
=
𝜕𝐸 𝑛
𝜕𝑎 𝑗
𝜕𝑎 𝑗
𝜕𝑤 𝑗𝑖
誤差 𝛿𝑗 ≡
𝜕𝐸 𝑛
𝜕𝑎 𝑗
であり, 𝑎𝑗 = σ𝑖 𝑤𝑗𝑖 𝑧𝑖 であるから,
𝜕𝑎 𝑗
𝜕𝑤 𝑗𝑖
= 𝑧𝑖
𝜕𝐸 𝑛
𝜕𝑤 𝑗𝑖
= 𝛿𝑗 𝑧𝑖
72
単純な線形モデルから一般的な feed-forward NN に拡張
※特定の入力パターン 𝑛 に依存するが,省略
[微分の値] = [出力側の値] × [入力側の値]
- 73. 誤差関数微分の評価Ⅴ
正準連結関数を活性化関数に用いた出力ユニットでは
𝛿 𝑘 = 𝑦 𝑘 − 𝑡 𝑘
隠れユニットを評価するには,重みに関する微分を考えて
𝛿𝑗 ≡
𝜕𝐸 𝑛
𝜕𝑎 𝑗𝑖
= σ 𝑘
𝜕𝐸 𝑛
𝜕𝑎 𝑘
𝜕𝑎 𝑘
𝜕𝑎 𝑗
𝛿𝑗 ≡
𝜕𝐸 𝑛
𝜕𝑎 𝑗𝑖
, 𝑎𝑗 = σ𝑖 𝑤𝑗𝑖 𝑧𝑖, 𝑧𝑗 = ℎ(𝑎𝑗) から
𝛿𝑗 = σ 𝑘 𝛿 𝑘
𝜕(σ 𝑘 𝑤 𝑘𝑗 𝑧 𝑗)
𝜕𝑎 𝑗
=
𝜕(𝑧 𝑗)
𝜕𝑎 𝑗
σ 𝑘 𝑤 𝑘𝑗 𝛿 𝑘
= ℎ′
(𝑎𝑗) σ 𝑘 𝑤 𝑘𝑗 𝛿 𝑘 (逆伝播公式)
73