概要
E資格受験のための認定講座「ラビットチャレンジ」の実装演習レポート、深層学習day2編です。
確認テストと実装演習は省略しています。情報の網羅性は低いですがご理解ください。
外部資料からの内容は※をつけています。
※1:「ゼロから作るDeep Learning」
Section4 畳み込みニューラルネットワークの概念
- CNN
- 次元間で繋がりのあるデータを扱える
- LeNet
- 初めてのCNN
- サブサンプリング層で要素を間引き、全結合層を経て出力
- シグモイド関数
- 畳み込み層(Convolutionレイヤ)
- 空間情報も学習できる層
- 画像であれば縦横チャンネルの3次元データをそのまま学習して次に伝える
- 全結合層では形状を無視して1次元データとして処理される
- フィルターとバイアスの演算を出力
- 入出力データを特徴マップという
- プーリング層
- 重み(フィルター)なし
- チャンネル数変化なし(チャンネルごとに独立して計算される)
- 入力データの小さなズレに対してロバスト※1
- MaxPooling
- AvgPooling
- im2col(image to column)
- 畳み込み演算の効率化テクニック
- 行列の積に変換することで計算処理を高速化できる
- フィルターの適用領域を一列に展開するイメージ※1
- 重複した値が行列に含まれ、メモリ使用量増加
Section5 最新のCNN
- AlexNet
- ブームの火付け役ネットワーク
- 従来同様に畳み込み層とプーリング層を重ね、全結合層を経由して出力
- ReLUを用いる※1
- LRN層で局所的正規化※1
- 全結合層の出力にDropoutを使用
- 過学習を抑制
- Flatten
- ブロックを分解して数を並べる
- GlobalMaxPooling
- GlobalAvgPooling
- ブロックをスライスして一番大きいもの(平均)を並べる
- 特徴量を的確に表現できる
- 効率よくサイズ縮小できる
フレームワーク演習 正則化/最適化
- 正規化レイヤー
- データの正規化
- レイヤー間を流れるデータの分布を平均0、分散1にする
- Batch正規化
- 同一チャネルのサンプル個数が正規化の単位
- ミニバッチのサイズが大きく取れないと効果が薄い
- Layer正規化
- 各サンプル(全pixel)が正規化の単位
- ミニバッチの数に依存しない
- Instance正規化
- 各サンプルの各チャネルが正規化の単位