【E資格対策】学習率とパラメータ初期化の最適化手法
過去の勾配の二乗の累積和に基づいて各パラメータの学習率を調整するアルゴリズム.
更新式は以下の通り.
gt,iGt,iθt+1,i=∇θiL(θt,i)=Gt−1,i+gt,i2=θt,i−Gt,i+εηgt,i
ここで, gt,i はステップ t における勾配, Gt,i は勾配の二乗の累積和, θ はパラメータ, η は全体の学習率, ε はゼロ除算を防ぐための微小な正の定数である.
AdaGradでは, 学習の最初から勾配の二乗の累積和を計算し続けることで, 学習率が過度に減少してしまう問題があった.
そこで, RMSPropでは, 勾配の二乗に指数関数的な重みを付けた移動平均を利用することで, 過去の勾配情報を取り除き, AdaGradよりも高速で収束するようにした.
更新式は以下の通り.
gt,iGt,iθt+1,i=∇θiJ(θt,i)=γGt−1,i+(1−γ)gt,i2=θt,i−Gt,i+εηgt,i
AdaGradではステップを重ねると Gt,i+εη の分母が大きくなりすぎる場合があり, 勾配に関わらず更新が進まなくなる問題がある.
RMSPropではその対策をするために, γ というパラメータを導入している.
RMSPropにMomentumを導入して, 過去の勾配の指数関数的に減衰する平均も保持するアルゴリズム.
更新の手順は以下の通り.
gt,i=∇θiJ(θt,i)
- これまでの平均(第一モーメント)と分散(第二モーメント)の推定値を更新する.
mt,ivt,i=β1mt−1,i+(1−β1)gt,i=β2vt−1,i+(1−β2)gt,i2
- これらのモーメントの推定値は, 初期値が 0 なのでバイアスがかかっている. そこで, バイアス補正を行う.
m^t,iv^t,i=1−β1tmt,i=1−β2tvt,i
θt+1,i=θt,i−v^t,i+εηm^t,i
ニューラルネットワークの重みを初期化するための手法の一つで, 様々な層に渡って勾配の分散を釣り合わせるという考え方に基づいている.
Xavier法では, 左右対称で中央付近を線形関数として見なせるシグモイド関数や tanh 関数を活性化関数として使用する場合に適している.
前層のノードの個数を n としたとき, n1 の標準偏差を持つ分布を利用する.
-
一様分布の場合 : W∼U(−nin+nout6,nin+nout6)
-
正規分布の場合 : W∼N(0,nin+nout2)
ただし, nin は重みを掛け合わせる入力ニューロンの個数, nout は次の槽に供給する出力ニューロンの個数である.
Xavier法は, ReLU関数のような非対称な活性化関数には適用が難しい.
そこで, He法では, 前層のノードの個数を n としたとき, n2 の標準偏差を持つ分布を利用する.
-
一様分布の場合 : W∼U(−nin6,nin6)
-
正規分布の場合 : W∼N(0,nin2)