Download - PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1
![Page 1: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/1.jpg)
PRML 上巻勉強会 第十回
5.1 - 5.3
Beenos株式会社(予定) 技術戦略室 エンジニア
松山錬
![Page 2: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/2.jpg)
目次5 ニューラルネットワーク 5.1 フィードフォワードネットワーク関数 5.1.1 重み空間対称性 5.2 ネットワーク訓練 5.2.1 パラメータ最適化 5.2.2 局所二次近似 5.2.3 勾配情報の利用 5.2.4 勾配降下最適化 5.3 誤差逆伝播 5.3.1 誤差関数微分の評価 5.3.2 単純な例 5.3.3 逆伝播の効率 5.3.4 ヤコビ行列
![Page 3: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/3.jpg)
3章・4章の手法の問題点3章・4章で紹介された回帰及び分類では固定された基底関数の線形和を使っていた。その結果、入力空間の次元数が増えると基底関数の数は急増する
1.4の多項式フィッティングの例を参考に
!
次数をMとし(上記1.74では次数は3)入力空間の次元数をDとすると係数の数は_ に比例する。この例ではベキ乗(power law)の増加だが係数(基底関数)を指数的に増やしていく必要がある場合も多い。
(p.35 1.74, p. 172を参照)
これは訓練データ集合を観測する前に基底関数を固定するという仮定から生じる次元の呪い
![Page 4: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/4.jpg)
訓練データに対しての適応基底関数(の数)の急増を防ぐ為訓練データに応じて基底関数を適応するモデルを考える。
• SVM •訓練データを中心に基底関数群を定義し、一部を訓練中に選ぶ(7章)
•フィードフォワードニューラルネットワーク(当章5.1節)
•基底関数の数を事前に固定
•基底関数をデータに適応し更新するパラメトリックなモデル
•コンパクトである
•非凸最適化問題を解く事になる(反面)
•新規データを素早く処理できる
![Page 5: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/5.jpg)
目次5 ニューラルネットワーク 5.1 フィードフォワードネットワーク関数 5.1.1 重み空間対称性 5.2 ネットワーク訓練 5.2.1 パラメータ最適化 5.2.2 局所二次近似 5.2.3 勾配情報の利用 5.2.4 勾配降下最適化 5.3 誤差逆伝播 5.3.1 誤差関数微分の評価 5.3.2 単純な例 5.3.3 逆伝播の効率 5.3.4 ヤコビ行列
![Page 6: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/6.jpg)
「ニューラルネットワーク」の語源は生体システムにおける情報処理を数学的に表現しようとしたモデルによる !!!!!!!!基底関数にパラメトリック形を用いたモデルの中でパターン認識の分野で最も成功したのがフィードフォワードニューラルネットワーク
フィードフォワードニューラルネットワーク
http://www.maxis-inc.com/advance/ai_04.html
![Page 7: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/7.jpg)
線形モデルの拡張3章・4章で回帰及びクラス分類の為に扱った線形モデルは以下の形を取った !!!!いずれも基底関数は固定 !• クラス分類の場合 f=非線形活性化関数(例:シグモイド)
!• 回帰の場合 f=恒等写像(identity) !基底関数 をパラメータに依存させ、訓練中に調整できるようにし、線形モデルを拡張する
![Page 8: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/8.jpg)
ニューラルネットワークの線形モデルニューラルネットワーク(以下NNと省略)の基底関数自体が入力の線形和の非線形関数なので、NNの基底関数そのものが(5.1)と同じ形になる。 !!!!!!!! を基底関数のパラメータとして扱う。 よってNNモデルが上記の様な関数による変換の列として表す事ができる。
http://docs.opencv.org/modules/ml/doc/neural_networks.html
![Page 9: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/9.jpg)
NNの基本的な構造NNの入力変数 から線形和を取る
iの列 jの列 kの列
上付きの(1):NNの層
:バイアスパラメータ:重みパラメータ
:活性
は微分可能な非線形活性化関数 で変換され (5.1)の出力に相当する
![Page 10: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/10.jpg)
NNの基本的な構造• 基底関数=隠れユニット • 非線形関数にはシグモイド関数が選ばれる(tanh, logistic sigmoid)
• これらの値の線形和 =出力ユニット !
iの列 jの列 kの列
:出力の総数
:バイアスパラメータ
一層目と同様出力は活性化関数で変換される
![Page 11: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/11.jpg)
NNの基本的な構造!
!
評価する過程→順伝播
MLPに似ているがステップ関数とは違った連続性を持つシグモイドで定義されるので決定的に異なる。
隠れユニットが持つ関数が微分可能である事が訓練において重要。
iの列 jの列 kの列
![Page 12: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/12.jpg)
NNの変形による拡張と一般化
!
•層を飛び越えた結合の導入も可能
• NNはスパースであり得る。層間で可能な結合の一部だけが存在する事も可能
• 層を複数追加する事が可能
• 横の図の場合ネットワークの性質を定める適応的な重みを持つ層が2つなので本書では2層ネットワークと呼ぶ
![Page 13: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/13.jpg)
• フィードフォワードネットワークは非常に汎用性が高い(文献はp.230)
• 2層NNで十分な数の隠れユニットがあればコンパクトな定義域においてどんな連続関数でも任意の精度で近似できる。
• しかし重要なのは、適切なパラメータ値をどのように見つけるかである。NN(2層、隠れユニット3個)の近似能力を示す例 青:データ点 赤:訓練されたNNの出力 破線:3個の隠れユニットの出力
f(x) = x^2 f(x) = sin(x) f(x) = |x| f(x) = H(x) step
万能近似器としてのNN(回帰)
![Page 14: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/14.jpg)
• 2クラス分類問題(人工データ) • 入力ユニット=2個 • 隠れユニット=2個 • 隠れユニット活性化関数=tanh • 出力ユニット=1 • 出力ユニット活性化関数 =ロジスティックシグモイド
細い破線:各隠れユニットの出力が入力に対して0.5となる等高線 太い破線:ネットワークの決定面 実線:データを生成した分布から計算した最適な決定境界
万能近似器としてのNN(分類)
![Page 15: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/15.jpg)
目次5 ニューラルネットワーク 5.1 フィードフォワードネットワーク関数 5.1.1 重み空間対称性 5.2 ネットワーク訓練 5.2.1 パラメータ最適化 5.2.2 局所二次近似 5.2.3 勾配情報の利用 5.2.4 勾配降下最適化 5.3 誤差逆伝播 5.3.1 誤差関数微分の評価 5.3.2 単純な例 5.3.3 逆伝播の効率 5.3.4 ヤコビ行列
![Page 16: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/16.jpg)
重み空間対称性フィードフォワードネットワークの一つの特徴として同じ入力と出力を得られる重みベクトルが複数ある。各層間が完全結合をしている2層ネットワークを考える。 !• 対称性1 活性化関数tanhは奇関数である為 tanh(-a) = -tanh(a) ! よってある隠れユニットの入力と出力の重みを符号反転してもネットワークとして同じ結果が得られる。( とおり) !• 対称性2 二つの隠れユニットの入力と出力結合の重みを全て交換する事によってネットワークとして同じ結果が得られる。( とおり)
!従って 個の等価な重みベクトルがある。 !5.7のベイズモデル比較に出てくる
![Page 17: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/17.jpg)
目次5 ニューラルネットワーク 5.1 フィードフォワードネットワーク関数 5.1.1 重み空間対称性 5.2 ネットワーク訓練 5.2.1 パラメータ最適化 5.2.2 局所二次近似 5.2.3 勾配情報の利用 5.2.4 勾配降下最適化 5.3 誤差逆伝播 5.3.1 誤差関数微分の評価 5.3.2 単純な例 5.3.3 逆伝播の効率 5.3.4 ヤコビ行列
![Page 18: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/18.jpg)
NNパラメータの決定問題への単純なアプローチ • 多項式曲線フィッティングで使った二乗和誤差関数の最小化 !!NNの訓練において出力を確率的に扱った解釈をする • 出力ユニットの非線形活性化関数と誤差関数の選択により明確な理由付けができる(4章)
!まずは回帰問題から 1.2.5、3.1の議論に従いtはxに依存する平均を持つガウス分布に従うとする !! 5.6節でより一般的な分布に拡張
ネットワーク訓練(回帰問題)
![Page 19: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/19.jpg)
ネットワーク訓練(回帰問題)(5.12)の分布に従い、出力ユニットの活性化関数を恒等写像とするNNでは任意の入力から出力への連続関数を近似できる。 !• N個の独立同分布に従う(i.i.d.)観測値とそれに対応する目標値tの場合の尤度関数
!• 負の対数を取ると誤差関数が得られる !!5.7ではベイズの枠組で扱うがここでは最尤推定のアプローチで考える • 加法・乗法定数を無視すると以下の二乗和誤差関数が得られる
![Page 20: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/20.jpg)
ネットワーク訓練(回帰問題)!(5.14)二乗和誤差の最小化は最尤関数の最大化と等価。 !• E(w)の最小化はこの回帰問題の仮定によると微分で得られるが、実際には、ネットワーク関数 の非線形性のため非凸になり現実に得られる解は尤度の極大点・極小点(局所解)であり !!
• を求める際、反復最適化等の手法を用いる !!
• が求まれば精度 も対数尤度の最小化から得られる!!!!
![Page 21: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/21.jpg)
ネットワーク訓練(回帰問題)目標変数が複数ある場合の目標値の条件付き分布!!!この場合単一の目標変数の議論に従えば、(5.11)の最小化で尤度を最大化する重みが得られる。 ! をもとにノイズ精度は以下で与えられる。Kは目標変数の数。 !!!!!ここで次の課題となるクラス分類に移る前に以下の二乗和誤差の性質を紹介する !!!活性化関数が恒等写像の為 を持つのみなし、5.3節の誤差逆伝播で利用される。
(参考文献 https://github.com/herumi/prml/ 5.2 ネットワーク訓練)
![Page 22: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/22.jpg)
ネットワーク訓練(2クラス分類)次に2クラスの分類問題を考える 活性化関数は となる様にロジスティックシグモイド関数とする ! は条件付き確率 、 は と解釈でき目標の条件付き分布は以下のベルヌーイ分布になる !!訓練集合が独立な観測値である場合の対数尤度で交差エントロピー誤差関数が与えられる !!目標値の正しいラベル付けが仮定でノイズ精度に相当するものがいないが、ラベル付け誤差を許容するように拡張できる
![Page 23: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/23.jpg)
ネットワーク訓練(K個の2クラス分類)各活性化関数がロジスティックシグモイドであるK個の出力を持つNNを用いる。 • 入力が与えられた時の目標値の条件付き分布 !!!対応する尤度関数の負である誤差関数 !!! は で表す !Simard et al.(2003)がクラス分類問題では二乗和より交差エントロピー誤差関数の方が訓練が早く、NNの汎化能力が高まることを見出した。
![Page 24: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/24.jpg)
ネットワーク訓練(クラス分類)4章で議論した線形クラス分類モデルとの比較 • 横の図の様な標準的な2層NNでは第1層の重みパラメータが様々な出力に共有される !
• 線形モデルはそれぞれのクラス分類問題は独立に解かれる
!• 第1層は非線形特徴抽出をしていると見なせる事が出来る !
• 異なる出力間で特徴を共有する事で計算を節約出来る !
• 汎化性能の向上に繋がる
![Page 25: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/25.jpg)
ネットワーク訓練(Kクラス分類)それぞれの入力をK個の排他的なクラスの1つに割り当てる問題 NN出力は と解釈した誤差関数は以下で与えられる !!!4.3.4節での議論に従うと、出力ユニットの活性化関数はソフトマックス関数で与えられる !!!仮にある定数を全ての に加えたとすると はその場合不変である事に注意。その結果重み空間において、ある方向に対して誤差関数が一定になる。正則化項を誤差関数に加える事によってこの退化を覗ける(5.5節)
![Page 26: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/26.jpg)
ネットワーク訓練(まとめ)
問題 活性化関数! 誤差関数
回帰 恒等写像・線形出力関数
二乗和誤差関数
2クラス分類 ロジスティックシグモイド関数
交差エントロピー誤差関数
多クラス分類 ソフトマックス関数 多クラス交差エントロピー誤差関数
![Page 27: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/27.jpg)
目次5 ニューラルネットワーク 5.1 フィードフォワードネットワーク関数 5.1.1 重み空間対称性 5.2 ネットワーク訓練 5.2.1 パラメータ最適化 5.2.2 局所二次近似 5.2.3 勾配情報の利用 5.2.4 勾配降下最適化 5.3 誤差逆伝播 5.3.1 誤差関数微分の評価 5.3.2 単純な例 5.3.3 逆伝播の効率 5.3.4 ヤコビ行列
![Page 28: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/28.jpg)
パラメータ最適化問題の誤差関数を選んだ所でその値E(w)を最小にする重みベクトルを見つけたい !図は重み空間上の誤差関数の幾何学的描写 であり、これを参考にパラメータの最適化 を考えて行く。 !wの移動が誤差を以下の通りに変化させる から へ少し移動すると !! は誤差が最も変化(増加)する方向を示し、 は連続な関数なので最小値は必然的に勾配がゼロになる点にある
![Page 29: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/29.jpg)
パラメータ最適化しかし を満たす解または勾配 が非常に小さくなる点は複数存在する。 これは誤差関数がパラメータの持つ依存性 に高い非線形性がある為。 !勾配がゼロになる点のことを停留点とよび 以下3種類に分けられる 極小点 (minima) 極大点 (maxima) 鞍点 (saddle point) !既に5.1.1でM個の隠れユニットを持つ2層NNの場合重み空間に置ける各点は 個の等価な点の群の一つである事を示した。
![Page 30: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/30.jpg)
パラメータ最適化更に単なる等価な点ではない停留点(極小点)が存在する。 誤差関数の最小値に相当する極小点を 大域的最小点(global minimum)と呼び それ以外の極小点を局所的極小点(local minimum)と呼ぶ。 !実践的な面では大域的最小点よりは十分に 良い解を見つける事を重視する !解析的な解を見つけるのは無理があるので、 重みベクトルのある初期値 を選び、反復的に重み空間を以下の形でステップを進んで動くテクニックを用いる。
![Page 31: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/31.jpg)
目次5 ニューラルネットワーク 5.1 フィードフォワードネットワーク関数 5.1.1 重み空間対称性 5.2 ネットワーク訓練 5.2.1 パラメータ最適化 5.2.2 局所二次近似 5.2.3 勾配情報の利用 5.2.4 勾配降下最適化 5.3 誤差逆伝播 5.3.1 誤差関数微分の評価 5.3.2 単純な例 5.3.3 逆伝播の効率 5.3.4 ヤコビ行列
![Page 32: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/32.jpg)
局所二次近似最適化問題を解くテクニックを考える際局所二次近似を考える。 !重み空間のある点 の周りのE(w)のテイラー展開で、3次以上の項を略して考える。 !!!ここで !となる (5.28)による極小点w*の周りでの局所二次近似は以下の通り。 で線形項はない。
![Page 33: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/33.jpg)
局所二次近似ヘッセ行列はw*で評価されていて、ヘッセ行列の固有方程式を使って幾何学的な解釈が得られる。 !固有方程式 !w-w*を固有ベクトルの線形和に展開すると以下の形になる !!!原点をw*に平行移動し、各軸を固有ベクトルに合わせるように回転座標変換と見なせる(付録C) !
![Page 34: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/34.jpg)
局所二次近似誤差関数は以下の形で書ける(付録C) !!!!• Hは全ての固有値が正の時、またその限り正定値となる !!• Hが正定値なら >0となりE(w)>E(w*)となるので、 ! w*で評価されたヘッセ行列が正定値ならばw*は極小点である。
![Page 35: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/35.jpg)
目次5 ニューラルネットワーク 5.1 フィードフォワードネットワーク関数 5.1.1 重み空間対称性 5.2 ネットワーク訓練 5.2.1 パラメータ最適化 5.2.2 局所二次近似 5.2.3 勾配情報の利用 5.2.4 勾配降下最適化 5.3 誤差逆伝播 5.3.1 誤差関数微分の評価 5.3.2 単純な例 5.3.3 逆伝播の効率 5.3.4 ヤコビ行列
![Page 36: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/36.jpg)
勾配情報の利用後で逆伝播の手順で使われるが、勾配情報を利用する事によって極小点を見つけるスピードは劇的に向上する。 !勾配情報を利用しない場合!bとHを合わせてW(W+3)/2個の独立な要素が含まれる Hは対象行列なので(W^2 - W)/2 + W + W = W(W+3)/2 !関数評価はO(W^2) !それぞれの評価においてO(W)ステップが必要 !極小値を見つける為の計算量はO(W^3) !
![Page 37: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/37.jpg)
勾配情報の利用勾配情報を利用する場合! を評価する毎にW個の情報が得られる !O(W)回の勾配の評価で極小点を見つけることが期待できる !誤差伝播により各勾配の評価をO(W)ステップで実行でき !極小点はO(W^2)で見つけることができる
![Page 38: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/38.jpg)
目次5 ニューラルネットワーク 5.1 フィードフォワードネットワーク関数 5.1.1 重み空間対称性 5.2 ネットワーク訓練 5.2.1 パラメータ最適化 5.2.2 局所二次近似 5.2.3 勾配情報の利用 5.2.4 勾配降下最適化 5.3 誤差逆伝播 5.3.1 誤差関数微分の評価 5.3.2 単純な例 5.3.3 逆伝播の効率 5.3.4 ヤコビ行列
![Page 39: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/39.jpg)
勾配降下最適化(5.27)の重み更新量を負の勾配の方向に以下のようなステップで小さな変位を選ぶ !! は学習率バラメータ • 新しい重みベクトルに付いての勾配の再評価を繰り返す !
• ここでは反復ステップに置いて全ての訓練集合の処理で を評価する。このテクニックをバッチ訓練と呼ぶ。 !
• 各ステップで誤差関数の減少率が最大の方向に重みベクトルが動かされる。勾配降下法(gradient descent method)や再急降下法(steepest descent method)とも知られている。 !
• 直感的に合理的に見えるが、性能が悪い(Bishop and Nabney 2008)
![Page 40: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/40.jpg)
他の最適化法勾配降下法とは異なる共役勾配法や準ニュートン方など重みベクトルが局所的極小点あるいは大域的最小点に到達してない限り反復毎に常に誤差関数が減少する性質を持つ頑健かつ早いアルゴリズムもある。 !大規模なデータ集合を扱う場合勾配降下のオンライン版が実用上便利。独立に得られた観測値に対する誤差関数を各データ点で評価し、その和をとる !!逐次的勾配降下法(sequential gradient descent)や確率的勾配降下法(stochastic gradient descent)とも知られ、重みベクトルの更新を1回毎に1つデータ点に基づいて作成する。 !
![Page 41: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/41.jpg)
目次5 ニューラルネットワーク 5.1 フィードフォワードネットワーク関数 5.1.1 重み空間対称性 5.2 ネットワーク訓練 5.2.1 パラメータ最適化 5.2.2 局所二次近似 5.2.3 勾配情報の利用 5.2.4 勾配降下最適化 5.3 誤差逆伝播 5.3.1 誤差関数微分の評価 5.3.2 単純な例 5.3.3 逆伝播の効率 5.3.4 ヤコビ行列
![Page 42: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/42.jpg)
誤差逆伝播フィードフォワードNNについて、誤差関数E(w)の勾配を効率良く評価するテクニック !誤差逆伝播(error backpropagation)による順向き、逆向きスキーム !NN訓練の過程で各ステップ(逆向き)は2つのステージに分けられる。 1. 誤差関数の重みに関する微分の評価 2. 微分を用いて重みの調整量が計算される !ステップ1では様々な誤差関数や微分の評価を用いる事が可能 !同様ステップ2の重み調整で様々な最適化スキームを組み合わせることができる。
![Page 43: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/43.jpg)
目次5 ニューラルネットワーク 5.1 フィードフォワードネットワーク関数 5.1.1 重み空間対称性 5.2 ネットワーク訓練 5.2.1 パラメータ最適化 5.2.2 局所二次近似 5.2.3 勾配情報の利用 5.2.4 勾配降下最適化 5.3 誤差逆伝播 5.3.1 誤差関数微分の評価 5.3.2 単純な例 5.3.3 逆伝播の効率 5.3.4 ヤコビ行列
![Page 44: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/44.jpg)
誤差関数微分の評価議論の仮定とする単純な多層ネットワーク構造 • シグモイド隠れユニット1層 • 二乗和誤差 !まず訓練データに対応する誤差項の和から考えていく !!!上記の誤差は独立同分布のデータ集合についての最尤推定などで実用上興味がある。1つの項に対する勾配 を評価する問題から進めて行く。逐次的最適化の場合それを直接使い、バッチの場合和をとれば良い。
![Page 45: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/45.jpg)
以下を定義する !出力 が入力変数の線形和 !!入力nに対しての誤差関数 !!!ただし 誤差関数の重み に関する勾配は以下で与えられる !!この形は4.3.2節の活性化関数と誤差関数の話にも出て来た
誤差関数微分の評価
![Page 46: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/46.jpg)
それぞれのユニットの入力の重み付き和 !!が計算され !!の非線形活性化関数によって変換される !(5.48)と(5.49)を順番に適応する事によりネットワークのすべての隠れユニットと出力ユニットの出力が計算されるとする。 情報がネットワークを順向きにながれる事から順伝播と呼ばれる。 !
誤差関数微分の評価(5.48)の和における変数 のいくつかは入力であり得ると同様、(5.49)のユニット は出力であり得ることに注意
![Page 47: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/47.jpg)
はユニットjへの入力和 を通してのみ重み に依存する。偏微分の連鎖法則を適用する。 !!!!更に(5.48)から と書くことができ、 !(5.51)と(5.52)を(5.50)に代入すると が得られる。 !正準連結関数を活性化関数とした出力ユニットの場合 !
誤差関数微分の評価
記法を導入
![Page 48: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/48.jpg)
隠れユニットの誤差は再度偏微分の連鎖法則を利用する !!!!!(5.51)の誤差の定義を(5.55)に代入し(5.48)と(5.49)を用いれば !!!!逆伝播の公式が得られる。これに対し(5.10)の順伝播の和は2番目の添字について取る事に注意。 !
誤差関数微分の評価
![Page 49: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/49.jpg)
誤差逆伝播 !!!1.入力ベクトル をネットワークに入れ、(5.48)と(5.49)を用いてネットワークを順伝播させ、全て隠れユニットの出力と求める。!!!!!2. (5.54)を用いてすべての出力ユニットの を評価する!!!
誤差関数微分の評価
![Page 50: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/50.jpg)
誤差逆伝播 !!!3.(5.56)を用いて を逆伝播させ、ネットワークの全ての隠れユニットの を得る!!!!!4. (5.53)を用いて必要な微分を評価する
誤差関数微分の評価
![Page 51: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/51.jpg)
バッチ手法については、逆伝播のステップを訓練集合のそれぞれのパターンについて繰り返し全てのパターンについて和をとる事によって全体の誤差の微分が得られる !!!!以上の導出ではユニットの活性化関数が同一である仮定でしたが、どのユニットにどんな を持つか注意すれば良い。
誤差関数微分の評価
![Page 52: PRML上巻勉強会 at 東京大学 資料 第5章5.1 〜 5.3.1](https://reader031.vdocuments.net/reader031/viewer/2022012317/55a2b8fd1a28ab9d548b459c/html5/thumbnails/52.jpg)
ご清聴ありがとうございました!