通信理論に特化した深層学習
第５回ゼミ資料
確率的局所最小化法
豊橋技術科学大学
電気・電子情報工学系准教授 竹内啓悟

1

学習とは何か？
学習の目標
学習すべきパラメータを𝜽𝜽 ∈ ℝ𝑛𝑛 、評価用データを表す確率変数を𝑍𝑍、損失関数を𝑓𝑓(𝑍𝑍; 𝜽𝜽)とする。期待損失𝔼𝔼𝑍𝑍 [𝑓𝑓 𝑍𝑍; 𝜽𝜽 ]を最小にするという意味で、未知の入力に対する出力が目標に最も近づくように、訓練用データを使ってパラメータ𝜽𝜽 ∈ ℝ𝑛𝑛 を最適化する。
学習の方法

min 𝔼𝔼𝑍𝑍 [𝑓𝑓 𝑍𝑍; 𝜽𝜽 ]𝜽𝜽∈ℝ𝑛𝑛𝐷𝐷に基づく損失関数の経験平均が大きさ𝐷𝐷の訓練データ 𝑧𝑧𝑑𝑑 𝑑𝑑=1最小になるように、パラメータを最適化する。
𝐷𝐷1
� 𝑓𝑓(𝑧𝑧𝑑𝑑 ; 𝜽𝜽)𝜽𝜽∈ℝ 𝐷𝐷
min𝑛𝑛𝑑𝑑=1

総和で表現される多変数関数の最小化問題
大域的最適解を見つけるのは困難なので、局所最適解を探す。
学習とは、総和で表現される大自由度関数の局所最適化である。
2

局所最適化と過学習への対策
過学習は、一般に学習すべきパラメータ数に対して訓練用データが不足するときに発生する。
層数20、層当たりのユニット数500の全結合型ネットワーク
重みの総数＝20 × 5002 = 5 × 106

ビッグデータとは名ばかりで、実際にはスモールデータとみなした方がよい。
過学習への対策• 問題の構造を利用して、ネットワークの構造を制約する。
深層学習が、画像、音声、自然言語処理で成功した理由• 良い局所最適解に到達する初期値を与える。
メッセージ伝播法を参考にする。
深層学習は万能ではなく、過学習を回避する人間の知恵が必要
3

バッチ学習訓練データを全てまとめて使用する学習方法
目的関数

勾配ベクトル𝐷𝐷𝑓𝑓 𝜽𝜽 = � 𝑓𝑓 𝑧𝑧𝑑𝑑 ; 𝜽𝜽 .
𝑑𝑑=1𝜕𝜕𝜕𝜕𝜕𝜕𝜕𝜕
𝛻𝛻𝑓𝑓 =,…,
𝜕𝜕𝜃𝜃1𝜕𝜕𝜃𝜃𝑛𝑛T.

勾配方向に微小移動すると、関数値は最大化される。
∵ 微小な𝜖𝜖 > 0と任意の単位ベクトル𝒖𝒖 ∈ ℝ𝑛𝑛 に対して、𝑓𝑓 𝜽𝜽 + 𝜖𝜖𝒖𝒖 = 𝑓𝑓 𝜽𝜽 + 𝜖𝜖𝛻𝛻𝑓𝑓 𝜽𝜽 T 𝒖𝒖 + 𝒪𝒪 𝜖𝜖 2 ≤ 𝑓𝑓 𝜽𝜽 + 𝜖𝜖 𝛻𝛻𝑓𝑓(𝜽𝜽) + 𝒪𝒪(𝜖𝜖 2 )コーシー・シュワルツの不等式から、等号成立は𝒖𝒖 = 𝛻𝛻𝑓𝑓(𝜽𝜽)/ ∇𝑓𝑓(𝜽𝜽) に限る。
勾配降下法

𝜽𝜽𝑡𝑡 = 𝜽𝜽𝑡𝑡−1 − 𝛼𝛼𝛻𝛻𝑓𝑓 𝜽𝜽𝑡𝑡−1 .

適切な初期値𝜽𝜽0 ∈ ℝ𝑛𝑛 と学習率（Learning rate）𝛼𝛼 > 0を設定すると、
𝜽𝜽𝑡𝑡 は関数𝑓𝑓の局所最小値を与える解に収束する。

4

ミニバッチ学習
学習時に使用する計算資源の並列数等にしたがって、全訓練データを� のデータ集合に分割する。
ミニバッチと呼ばれる小さなサイズ𝐷𝐷
�𝐷𝐷/𝐷𝐷

1, … , 𝐷𝐷 =∪𝑖𝑖=1 𝒟𝒟𝑖𝑖 ,�,𝒟𝒟𝑖𝑖 = 𝐷𝐷𝒟𝒟𝑖𝑖 ∩ 𝒟𝒟𝑗𝑗 = ∅ for 𝑖𝑖 ≠ 𝑗𝑗.

確率的勾配降下（Stochastic gradient descent, SGD）法

パラメータの更新の度に、ミニバッチ𝑖𝑖をランダムに選びなおす。
𝜽𝜽𝑡𝑡 = 𝜽𝜽𝑡𝑡−1 − 𝛼𝛼𝛻𝛻𝑓𝑓𝑖𝑖 𝜽𝜽𝑡𝑡−1 ,パラメータ更新𝑓𝑓𝑖𝑖 𝜽𝜽 = � 𝑓𝑓 𝑧𝑧𝑑𝑑 ; 𝜽𝜽 .
𝑑𝑑∈𝒟𝒟𝑖𝑖� にパラメータ更新回数が制約されないように、ミニバッチの数𝐷𝐷/𝐷𝐷ミニバッチの再利用を許す。
エポック数：ミニバッチ当たりの再利用回数

� = 50、エポック数3の場合、訓練用データ数10000、ミニバッチサイズ𝐷𝐷
パラメータの更新は3 × 10000/50 = 600回行われる。

5

AdaGrad
パラメータ𝜽𝜽の要素𝑗𝑗ごとに学習率を適用的に制御して収束を早める。
𝜃𝜃𝑗𝑗𝑡𝑡 = 𝜃𝜃𝑗𝑗𝑡𝑡−1 −解釈𝛼𝛼 𝜕𝜕𝑓𝑓𝑖𝑖 𝑡𝑡−1𝜽𝜽,𝜕𝜕𝜃𝜃
𝑣𝑣𝑗𝑗𝑡𝑡 𝑗𝑗

𝜕𝜕𝑓𝑓𝑖𝑖 𝑡𝑡−1𝑡𝑡𝑡𝑡−1
𝑣𝑣𝑗𝑗 = 𝑣𝑣𝑗𝑗 +(𝜽𝜽 )𝜕𝜕𝜃𝜃𝑗𝑗2,𝑣𝑣𝑗𝑗0 = 𝜖𝜖 > 0.

過去のパラメータの変化量が多いと、学習率は適用的に小さくなる。
過去の変化量が少ないパラメータほど、優先して更新すべきという直観に基づく。
[5-1] J. Duchi, E. Hazan, and Y. Singer, “Adaptive Subgradient Methods for Online Learning
and Stochastic Optimization,” J. Mach. Learn. Res., vol. 12, pp. 2121-2159, Jul. 2011.
6

Adam
AdaGradにおける勾配と学習率の制御パラメータ𝑣𝑣𝑗𝑗𝑡𝑡 をそれぞれ勾配の平均と二次モーメントとの移動平均不偏推定量に取る。
勾配の平均の推定量𝑚𝑚�𝑗𝑗𝑡𝑡 =𝑚𝑚𝑗𝑗𝑡𝑡,
1 − 𝛽𝛽1𝑡𝑡

𝛽𝛽1 ∈ [0, 1)は平均に関する忘却係数

𝑚𝑚𝑗𝑗𝑡𝑡 = 𝛽𝛽1 𝑚𝑚𝑗𝑗𝑡𝑡−1 +勾配の二次モーメントの推定量𝑣𝑣�𝑗𝑗𝑡𝑡 =𝑣𝑣𝑗𝑗𝑡𝑡𝑡𝑡 ,1 − 𝛽𝛽2𝜕𝜕𝑓𝑓𝑖𝑖 𝑡𝑡−1
1 − 𝛽𝛽1𝜽𝜽,𝜕𝜕𝜃𝜃𝑗𝑗𝑣𝑣𝑗𝑗𝑡𝑡 = 𝛽𝛽2 𝑣𝑣𝑗𝑗𝑡𝑡−1 + 1 − 𝛽𝛽2𝜕𝜕𝑓𝑓𝑖𝑖 𝑡𝑡−1𝜽𝜽𝜕𝜕𝜃𝜃𝑗𝑗𝛽𝛽2 ∈ [0, 1)は二次モーメントに関する忘却係数
𝛼𝛼𝑡𝑡
𝑡𝑡−1
パラメータ更新式
𝜃𝜃𝑗𝑗 = 𝜃𝜃𝑗𝑗 −𝑚𝑚
�𝑗𝑗𝑡𝑡 .
𝑣𝑣�𝑗𝑗𝑡𝑡 + 𝜖𝜖2,𝑚𝑚𝑗𝑗0 = 0.
𝑣𝑣𝑗𝑗0 = 0.

𝛼𝛼 = 0.001, 𝛽𝛽1 = 0.9, 𝛽𝛽2 = 0.999, 𝜖𝜖 = 10−8 が推奨されている。

[5-2] D. P. Kingma and J. L. Ba, “Adam: A Method for Stochastic Optimization,” in Proc. 3rd Int.
Conf. Learn. Rep., San Diego, CA, USA, May 2015.
7

不偏推定量であることの確認
反復𝑡𝑡において使用されたミニバッチを𝒟𝒟𝑖𝑖𝑡𝑡 とする。
𝑚𝑚𝑗𝑗𝑡𝑡 の定義式から、

𝑚𝑚𝑗𝑗𝑡𝑡 =両辺の期待値を取ると、𝔼𝔼 𝑚𝑚𝑗𝑗𝑡𝑡=≈ 𝔼𝔼𝑡𝑡𝜕𝜕𝑓𝑓𝑖𝑖 ′𝑡𝑡
𝑡𝑡−𝑡𝑡 ′
1 − 𝛽𝛽1 � 𝛽𝛽1
𝜕𝜕𝜃𝜃𝑗𝑗′𝑡𝑡 =1′
1 − 𝛽𝛽1 � 𝛽𝛽1𝑡𝑡−𝑡𝑡 𝔼𝔼
𝑡𝑡 ′ =1

𝜕𝜕𝑓𝑓𝑖𝑖 𝑡𝑡−1𝜽𝜽𝜕𝜕𝜃𝜃𝑗𝑗𝑡𝑡

𝜕𝜕𝑓𝑓𝑖𝑖 ′𝑡𝑡𝜕𝜕𝜃𝜃𝑗𝑗𝑡𝑡′

𝜽𝜽𝑡𝑡 −1 .

′𝜽𝜽𝑡𝑡 −1′1 − 𝛽𝛽1 � 𝛽𝛽1𝑡𝑡−𝑡𝑡 = 1 − 𝛽𝛽1𝑡𝑡 𝔼𝔼𝑡𝑡 ′ =1

𝜕𝜕𝑓𝑓𝑖𝑖 𝑡𝑡−1𝜽𝜽𝜕𝜕𝜃𝜃𝑗𝑗

.

近似の導出では、訓練用データの同一分布性と反復当たりのパラメータの変化量が微小であることとを仮定した。それゆえ、
𝜕𝜕𝑓𝑓𝑖𝑖 𝑡𝑡−1𝑡𝑡
𝔼𝔼 𝑚𝑚
�𝑗𝑗 ≈ 𝔼𝔼𝜽𝜽𝜕𝜕𝜃𝜃𝑗𝑗.

同様に、 𝔼𝔼 𝑣𝑣�𝑗𝑗𝑡𝑡 ≈ 𝔼𝔼

𝜕𝜕𝑓𝑓𝑖𝑖 𝑡𝑡−1𝜽𝜽𝜕𝜕𝜃𝜃𝑗𝑗2.

Adamは勾配ベクトルの各要素の大きさを1に近づけることを狙っている。
8問題例
最小化問題

目的関数

min 𝑓𝑓(𝑥𝑥, 𝑦𝑦) .

𝑥𝑥,𝑦𝑦∈ℝ

1001
� 𝑓𝑓(𝑥𝑥, 𝑦𝑦, 𝑎𝑎𝑑𝑑 ) ,𝑓𝑓 𝑥𝑥, 𝑦𝑦 =
100
𝑑𝑑=1

𝑓𝑓 𝑥𝑥, 𝑦𝑦, 𝑎𝑎 = 𝑎𝑎𝑥𝑥 2 + 𝑦𝑦 2 .

𝑎𝑎𝑑𝑑 ：区間[0, 0.2)上の一様乱数(𝔼𝔼 𝑎𝑎𝑑𝑑 = 0.1)

目的関数の特徴

𝑦𝑦軸方向の勾配が、𝑥𝑥軸方向の勾配に比べて大きい。
𝑦𝑦軸方向の勾配に合わせて学習率を設定すると、𝑥𝑥軸方向の変化が小さくなりすぎる。

9

シミュレーション（反復１００回ごとのプロット）

�=1
初期値(1, 1)、学習率𝛼𝛼 = 0.001、ミニバッチサイズ𝐷𝐷10