SlideShare a Scribd company logo
+
深層学習
Chapter 3:確率的勾配降下法
@zakktakk
+
⽬次
1. 勾配降下法
2. ニュートン法
3. 確率的勾配降下法
4. ミニバッチ
5. 汎化性能と過適合
6. 過適合の緩和
i. 重み減衰
ii. 重み上限
iii. ドロップアウト
7. 学習のトリック
i. データの正規化
ii. データ拡張
iii. 複数ネットの平均
iv. 学習係数の決め⽅
v. モメンタム
vi. 重みの初期化
vii. サンプルの順序
+
勾配降下法
まずはアニメーションでざっくり理解…
←勾配降下法で最⼩値を求めたい関数
←上の関数の微分
坂道を転がり落ち
てるっぽい
(http://qiita.com/kenmatsu4/items/d282054ddedbd68fecb0)
+
勾配降下法
◯勾配降下法とは
Ø ⽬的関数の局所的な最⼩値 (⼤域的な最⼩値とは限らない) を反復計算
で求める⽅法
Ø 何らかの初期値𝑤(#)
を出発点に𝑤(%)
を以下の式で更新する
𝒘(%'()
= 𝒘(%)
− 𝜖𝛻𝐸
𝐸 : ⽬的関数
𝜖 : 学習係数
𝑤	: 𝐸の変数
◯具体的に深層学習のどの場⾯で⽤いられるのか?
Ø 順伝播型ネットワークの誤差関数𝐸 𝒘 を最⼩化する際に⽤いる
Ø 𝒘はネットワークの重みとバイアス
𝛻𝐸 ≡
𝜕𝐸
𝜕𝒘
=
𝜕𝐸
𝜕𝑤(
…
𝜕𝐸
𝜕𝑤2
3
勾配 のとき
+
ちなみに…
Ø 勾配降下法は関数の最⼩化⼿法で最も単純な⼿法
Ø 最⼩化⼿法にはニュートン法もあるよ!
◯ニュートン法とは
Ø ⽬的関数の2次のテーラー展開を最⼩化するように,パラメータの
修正量を各ステップごとに決定するアルゴリズム
Ø 勾配降下法よりも極⼩解への収束が早い
𝒘(%'()
= 𝒘(%)
− 𝐻5(
𝛻𝐸
𝐸 : ⽬的関数
𝑤	: 𝐸の変数
ヘッセ⾏列(Hessian matrix) 𝐻 = 𝛻6
𝐸
ニュートン法の詳細は → http://www.dais.is.tohoku.ac.jp/~shioura/teaching/mp11/mp11-13.pdf
ニュートン法は勾配降下法と違い,学習係数の決定に
学習が⼤きく左右されることがない
ディープネットの学習では
⽬的関数の2次微分の計算が
難しいのでニュートン法は
つらい
+
確率的勾配降下法
◯確率的勾配降下法(stochastic gradient descent : SGD)とは
𝒘(%'()
= 𝒘(%)
− 𝜖𝛻𝐸7
𝐸7 : サンプルnについての誤差関数
𝜖 : 学習係数
𝑤	: ネットワークの重みとバイアス
◯確率的勾配降下法のメリット
Ø 計算効率が向上し,学習が速く実⾏できる
Ø 望まない局所的な極⼩解にトラップされるリスクを低減
Ø 訓練データの収集と最適化の計算を同時並⾏で⾏える → オンライン学習
Ø 勾配降下法はすべてのサンプルを⽤いて重みを更新 → バッチ学習
Ø 訓練サンプルのうち1つのサンプルだけを使って以下のように
パラメータの更新を⾏う⽅法
Ø 重みの更新に⽤いるサンプルは毎回取り替える
+
ミニバッチ
Ø 計算規模の⼤きいニューラルネットワークの学習では計算機
が持つ並列計算資源の利⽤が不可⽋
Ø 重みの更新を少数のサンプルからなる集合(ミニバッチ)単位で
⾏うと効率的
Ø 1つのミニバッチを𝐷%とすると,ミニバッチ単位の重み更新で⽤いる
誤差関数は以下の通り
𝐸%(𝒘) ≡
1
𝑁%
; 𝐸7 𝒘
7∈=>
𝐸7 : サンプルnについての誤差関数
𝑁% : ミニバッチが含むサンプル数
Ø ミニバッチのサイズは10~100サンプル前後とすることが多い
→ サイズを⼤きくし過ぎると計算速度が低下
Ø 多クラス分類の場合はミニバッチに各クラスから1つ以上の
サンプルを⼊れるとbetter
+
可視化して⽐較すると…
(http://sinhrks.hatenablog.com/entry/2014/11/24/205305)
ミニバッチ+SGDは
勾配降下法と確率的勾配降下法の
いいところを両取りしている
+
汎化性能と過適合
Ø これまでは訓練データに対する誤差を最⼩化することを考えていた
Underfitting Overfitting
Ø 実際は「まだ⾒ぬ」サンプルに対して正しく推定を⾏いたい (汎化性能)
Ø 訓練データに対する誤差→訓練誤差,テストデータに対する誤差→テスト誤差
学習が進むと,訓練誤差は単調減少するが
テスト誤差は訓練誤差と乖離 or 増加
過適合(overfitting)
学習の進⾏のイメージ→
過適合では外れ値に
対して過剰に反応
+
過適合の緩和
Ø 過適合 ↔	学習時に誤差関数の浅い局所解にトラップされた状態
ネットワークの⾃由度(主に重みの数)が⼤きいほど
過適合のリスク and ネットワークの表現能⼒が⾼くなる
学習時に重みの⾃由度を制約する正則化に
よって過適合の問題を解決
単純にネットワークの⾃由度を減らすことは
過適合のリスクも下げるが,ネットワークの
表現能⼒も下げるため望ましくない
+
過適合の緩和法
◯重み減衰
𝒘(%'() = 𝒘(%) − 𝜖
1
𝑁%
; 𝛻𝐸7 + 𝜆 𝒘(%)
𝐸%(𝒘) ≡
1
𝑁%
; 𝐸7 𝒘 +
𝜆
2
𝒘 6
7∈=>
𝜆 : 正則化パラメータ
通常𝜆=0.01~0.00001
Ø 以下のように誤差関数に重みの⼆乗和を加算し,
これの最⼩化を⾏う
Ø 最終項の追加により,学習時により⼩さい重みが選好される.
勾配降下法の更新式は以下の通り
※重み減衰は通常ネットワークの重みだけに適⽤し,
バイアスには適⽤しない
重みは⾃⾝の⼤きさに⽐例した速さで常に減衰
+
過適合の緩和法
◯重み上限
; 𝑤CD
6
< 𝑐
D
Ø 各ユニットの結合重みの⼆乗和に対し,上限を制約
Ø 上限を超える場合は重みに1以下の定数を掛け,制約を満たす
ようにする
Ø 重み減衰を上回る効果があり,特に後述のドロップアウトと
共に⽤いると⾼い効果を発揮
正則化の種類 テストデータ分類誤差(%)
重み減衰 1.62
重み上限 1.35
ドロップアウト+重み減衰 1.25
ドロップアウト+重み上限 1.05
表:各正則化⼿法ごとの⼿書き数字認識MNISTの分類精度の⽐較
+
過適合の緩和法
◯ドロップアウト
Ø 多層ネットワークのユニットを確率的に選別して学習する⽅法
Ø 学習時,中間層と⼊⼒層のユニットを確率𝑝(通常𝑝	=0.5程度)で
ランダムに選出し,それら以外を無効化する
	𝑖
𝑝𝑤(D 𝑧D
𝑝𝑤6D 𝑧D
𝑝𝑤JD 𝑧D
𝑝𝑤KD 𝑧D
Ø 学習終了後の推論時にはドロップアウトで無効化
の対象とした層のユニットの全ての出⼒を𝑝倍する
左のネットワークの中間層,⼊⼒層のユニットを
確率𝑝でランダムに選出し,ネットワークの重みを更新
+
学習のトリック
この世には学習時に実⾏することで
汎化性能を向上 or 学習を早く進められる
⽅法がいくつか存在する
以降のスライドでは本で紹介されている7つの⽅法を紹介します
より詳しくは → https://www.cs.toronto.edu/~hinton/absps/guideTR.pdf
その多くは
厳密な理論を伴わないノウハウのようなもの
であるが,実際に効果が認められている
+
データの正規化
𝑥7D ←
𝑥7D − 𝑥̅D
𝜎D
𝜎D : 学習データの標準偏差
𝑥̅D : 全学習データの平均
Ø 訓練データの偏りをなくすような前処理
Ø テストデータおよび推論時の各データにも同じ前処理を施す必要あり
Ø 以下の変換を⾏い,サンプルの各成分の平均を0,分散を1にする
(a) 元のサンプル集合
(b) 平均を0にする変換後
(c) 成分ごとの分散を1にする変換後
これもデータの偏りをなくす前処理の⼀つ
(d) ⽩⾊化:成分間の相関を0にする変換
𝜎Dが超⼩さい場合は代わり
にmax(𝜎,𝜖) (𝜖は⼩さな値)
で割ったりする
データの正規化
+
データ拡張
Ø サンプルが画像データならば,平⾏移動・鏡像反転・回転変動・⾊の変動
などの処理を施し,サンプルに追加
Ø 訓練サンプルに何らかの加⼯を施し,量を⽔増しする処理
元データ ⾊の変動 鏡像反転 回転+拡⼤
Ø 訓練サンプルの量が⾜りないことは過適合の最⼤の原因
Ø しかし,⼤量のサンプルを集めることはコスト⼤ or 不可能
データの⽔増しをしよう!
◯データ拡張とは?
+
複数ネットの使⽤
Ø ドロップアウトは単⼀ネットワーク内で実質的にモデル平均を
実⾏している
Ø 「モデル平均」と呼ばれ,機械学習全般で有効な⽅法
Ø 精度は向上するが,学習およびテスト時の計算量が増加してしまう
という⽋点がある
Ø 複数の異なるニューラルネットを組み合わせる(=複数のネット
ワークから得られる出⼒の平均を答えとする)と⼀般に推定精度が
向上
n 具体的には構造の異なるネットワークや構造は同じだが
学習開始時の初期値が異なるネットワークなど
+
学習係数の決め⽅
Ø 学習係数を決める際,定番といえる考え⽅は以下の2つ
n 学習の進捗とともに学習係数を⼩さくする
n 層ごとに異なる値を⽤いる
Ø 学習係数を⾃動的に定める(変化させる)⽅法はいくつか存在する
n 本書では最もよく使われる⽅法としてAdaGradを紹介
その他の⽅法は → http://sebastianruder.com/optimizing-gradient-descent/
Ø 勾配法ではパラメータの更新量の⼤きさは学習係数により変化
n 誤差関数の勾配を𝒈% ≡ 𝛻𝐸%と書き,このベクトルの成分を𝑔%,D
と書くと,重みの更新量の𝑖成分は以下の通り
−𝜖𝑔%,D勾配降下法: −
𝜖
∑ 𝑔%T,D
6%
%TU(
𝑔%,DAdaGrad:
勾配の累積が⼤きいほど学習率を⼩さくする
+
モメンタム
Ø 重みの修正量に,前回の重みの修正量のいくばくかを加算する⽅法
Ø ミニバッチt-1に対する重みの修正量を∆𝒘(%5()
≡ 𝒘 %5(
− 𝒘(%56)
と
すると,ミニバッチtは以下のように重みを更新
ミニバッチ利⽤時の更新式 モメンタム
𝒘(%'()
= 𝒘(%)
− 𝜖𝛻𝐸% + 𝜇∆𝒘(%5() 𝜇 : モメンタム係数
通常0.5~0.9程度
Ø 誤差関数が深い⾕状であり,かつ⾕底が平らな時に特に有効
Ø 勾配降下法の収束性能を向上させる⽅法の⼀つ
←⾕状誤差関数の重み探索の様⼦
左:モメンタム項なし
右:モメンタム項あり(𝜇=0.5)
モメンタム項なしではジグザグと探索が進み効率が悪いが,
モメンタム項ありでは⾕と直⾏⽅向の動きが平均化され,なくなる
+
重みの初期化
Ø ガウス分布から⽣成したランダム値を初期値とする⽅法が⼀般的
Ø ガウス分布の標準偏差𝜎は以下のようにするのがbetter
𝜎 =
𝜎X
𝑀
(
6
𝜎X : ユニットの総⼊⼒の標準偏差
𝑀 : ユニットの⼊⼒側結合数
𝜎Xは定数ではなく
パラメータです
𝑀は定数です
Ø ガウス分布のパラメータ𝜎をどう選ぶかは学習の結果に影響を及ぼす
n 例えば活性化関数がロジスティック関数の場合,
𝜎が⼩さすぎる → 等しく0を初期値とするのと同様
𝜎が⼤きすぎる → ユニットの出⼒が値域の上下限いずれかの
値に偏る
+
サンプルの順序
Ø 確率的勾配降下法やミニバッチを⽤いる場合,提⽰する
サンプル(集合)の順序には任意性がある
↔ 設計者が⾃由に決められる
Ø ⼀般に,まだよく学習されていないサンプルから順に提⽰すると効果的
Ø ただし,ディープネットでは処理の効率性に重点が置かれるため
あまり⽤いられない
Ø 特にクラスごとのサンプル数に偏りがあるクラス分類問題で有効

More Related Content

PDF
TensorFlowで逆強化学習
PPTX
SVMについて
PPTX
深層学習の非常に簡単な説明
PDF
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
PDF
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
PDF
ブースティング入門
PPTX
MCMC法
PPTX
Prml 1.3~1.6 ver3
TensorFlowで逆強化学習
SVMについて
深層学習の非常に簡単な説明
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
ブースティング入門
MCMC法
Prml 1.3~1.6 ver3

What's hot (20)

PDF
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
PDF
「ランダムフォレスト回帰」のハイパーパラメーター
PDF
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
PPTX
変分ベイズ法の説明
PDF
指数時間アルゴリズム入門
PDF
ベイズ統計入門
PDF
時系列問題に対するCNNの有用性検証
PDF
PRML輪読#7
PPTX
Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...
PDF
信号処理・画像処理における凸最適化
PDF
PRML 6.4-6.5
PDF
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
PDF
Juliaで並列計算
PDF
2値分類・多クラス分類
PDF
XGBoostからNGBoostまで
PDF
PRML上巻勉強会 at 東京大学 資料 第2章2.3.3 〜 2.5.2
PPTX
勾配降下法の 最適化アルゴリズム
PDF
はじめてのパターン認識 第1章
PPTX
Kabsch Fit on PyMOL
PDF
PRML読書会1スライド(公開用)
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
「ランダムフォレスト回帰」のハイパーパラメーター
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
変分ベイズ法の説明
指数時間アルゴリズム入門
ベイズ統計入門
時系列問題に対するCNNの有用性検証
PRML輪読#7
Image Retrieval Overview (from Traditional Local Features to Recent Deep Lear...
信号処理・画像処理における凸最適化
PRML 6.4-6.5
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
Juliaで並列計算
2値分類・多クラス分類
XGBoostからNGBoostまで
PRML上巻勉強会 at 東京大学 資料 第2章2.3.3 〜 2.5.2
勾配降下法の 最適化アルゴリズム
はじめてのパターン認識 第1章
Kabsch Fit on PyMOL
PRML読書会1スライド(公開用)
Ad

Viewers also liked (20)

PDF
金融テキストマイニング 研究事例紹介
PDF
『入門 ソーシャルデータ』9章
PDF
PDF
Siamese networks
PDF
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
PDF
PRMLの線形回帰モデル(線形基底関数モデル)
PDF
わかりやすいパターン認識_3章
PDF
線形?非線形?
PDF
SGD+α: 確率的勾配降下法の現在と未来
PDF
PRML 5.3-5.4
PDF
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
PDF
「深層学習」第6章 畳込みニューラルネット
PDF
Deep learning実装の基礎と実践
PDF
強化学習入門
PDF
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
PDF
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
PDF
Deep Learning技術の今
PDF
Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料
ZIP
今さら聞けないカーネル法とサポートベクターマシン
PPTX
NIPS2015読み会: Ladder Networks
金融テキストマイニング 研究事例紹介
『入門 ソーシャルデータ』9章
Siamese networks
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
PRMLの線形回帰モデル(線形基底関数モデル)
わかりやすいパターン認識_3章
線形?非線形?
SGD+α: 確率的勾配降下法の現在と未来
PRML 5.3-5.4
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
「深層学習」第6章 畳込みニューラルネット
Deep learning実装の基礎と実践
強化学習入門
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
RBM、Deep Learningと学習(全脳アーキテクチャ若手の会 第3回DL勉強会発表資料)
Deep Learning技術の今
Deep Convolutional Generative Adversarial Networks - Nextremer勉強会資料
今さら聞けないカーネル法とサポートベクターマシン
NIPS2015読み会: Ladder Networks
Ad

Similar to 機械学習プロフェッショナルシリーズ 深層学習 chapter3 確率的勾配降下法 (20)

PDF
深層学習(講談社)のまとめ 第3章
PDF
Deep learning2
PPTX
深層学習①
PDF
[DL輪読会]Understanding Black-box Predictions via Influence Functions
PDF
強化学習その3
PPTX
Deep learning basics described
PPTX
Deep learning chapter4 ,5
PDF
CVIM#11 3. 最小化のための数値計算
PDF
Casual learning machine learning with_excel_no2
PPTX
20150730 トピ本第4回 3.4節
PDF
大規模凸最適化問題に対する勾配法
PPTX
PRML Chapter 5
PDF
TensorFlowによるニューラルネットワーク入門
PDF
深層学習(岡本孝之 著) - Deep Learning chap.3_1
PDF
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
PDF
NN, CNN, and Image Analysis
PDF
深層学習(岡本孝之 著)Deep learning Chap.4_2
PDF
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
PDF
PRML Chapter 5 (5.0-5.4)
PDF
オンライン学習 : Online learning
深層学習(講談社)のまとめ 第3章
Deep learning2
深層学習①
[DL輪読会]Understanding Black-box Predictions via Influence Functions
強化学習その3
Deep learning basics described
Deep learning chapter4 ,5
CVIM#11 3. 最小化のための数値計算
Casual learning machine learning with_excel_no2
20150730 トピ本第4回 3.4節
大規模凸最適化問題に対する勾配法
PRML Chapter 5
TensorFlowによるニューラルネットワーク入門
深層学習(岡本孝之 著) - Deep Learning chap.3_1
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
NN, CNN, and Image Analysis
深層学習(岡本孝之 著)Deep learning Chap.4_2
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
PRML Chapter 5 (5.0-5.4)
オンライン学習 : Online learning

機械学習プロフェッショナルシリーズ 深層学習 chapter3 確率的勾配降下法