深層学習DAY2要約
Section1 勾配消失問題
誤差逆伝播法が下位層に進むにつれて、勾配がどんどん緩やかになっていく。
そのため、勾配降下法による更新では下位層のパラメータはほとんど更新しない。
・ シグモイド関数は大きい値、小さい値だと勾配が微小であるため学習が進まない。
・勾配消失問題を回避するために、活性化関数をReLuにする、初期値の設定をXavierの初期値(シグモイド関数ReLU)、Heの初期値(ReLU)に設定する、バッチ正規化がある。
・ReLUでは勾配をそのまま下層に流すため、勾配消失問題が生じにくい。
・Xavierの初期値は前の層のノード数で除したの正規分布に従う分布から取得する。
・Heの初期値は前の層のノード数で除した値に√2を乗算した、正規分布から取得する。
・バッチ正規化とは、ミニバッチ単位で入力値のデータの偏りを抑制する手法。
Section2 学習率最適化手法
・学習率の値が大きい場合、最適値にたどり着かず発散してしまう。
・学習率の値が小さい場合、発散することはないが、収束するまでに時間がかかる。大域的最適値に収束しづらくなる。
モメンタム:局所的最適解にはならず、大域的最適解になる。谷間についてから最適値に行くまでの時間が早い。
AdaGrad:繰り返し数が増えると勾配の更新値が小さくなるため、最初は大きく学習し、時間が経つと小さく学習することが可能になっている
RMSprop:学習率を移動平均によって求めるため、学習がある程度進んだ後に勾配が急激に変化しても、対応することができる。
Adam:モーメンタムとRMSpropの合わせ技
Section3 過学習について
過学習とは、テスト誤差と訓練誤差で学習曲線が乖離すること
ドロップアウトとはランダムにノードを削除して学習させること
メリットとしてデータ量を変化させずに、異なるモデルを学習させていると解釈できる。
Section4畳み込みニューラルネットワークの概念
CNNとは:主に画像に用いられるが、時限に関して関連があるデータ全てに使用することができる。代表的なCNNのモデルに、LeNetがある。
畳み込み層、プーリング層を繰り返し行い、 最後に全結合層を通し、出力する。
畳み込み層:フィルタと呼ばれるN×Nの行列と畳み込み演算を行い、その後バイアスを追加し入力画像からより低次元の特徴量を作り出す。
フィルター:全結合層でいう重みに相当する
バイアス:フィルターと違い、一律に同じ値を足す。
パディング:入力データの周囲に固定のデータ(0など)を埋めること
ストライド:フィルターを適用する位置の感覚
チャンネル:奥行き方向のデータ
全結合層で画像を学習した際の課題
・画像の場合、縦横チャンネルの三次元データだが、これが全結合層では一次元のデータとして処理される。そのためRGB間の関連性が学習に反映されない。
プーリング層:重みがなく、対象となる領域から平均値や最大値を取り出す処理をする。
Section5 最新のCNN
Alexnetのモデル
・5層の畳み込み層及びプーリング層など、それに続く3層の全結合層から構成される。
・Flattenと呼ばれる画像を一次元に変換する処理がある。
・過学習を防ぐと施策として、サイズ4096の全結合層の出力にドロップアウトを使用している。