ImageNet Classification with Deep Convolutional Neural Networksを読んでまとめました。
解釈間違い等ある時がありますので、その場合指摘いただけると助かります。
目次
概要
- 5つの畳み込み層(一部はmax-pooling層)と3つの完全に結合された層(計8つの学習層)で構成、overfittingを減らすためにdata augmentation, dropoutを採用
- CNNは同程度のサイズのfeedforward neural networkと比べてconnection・parameterが少ないので、訓練が容易でかつパフォーマンスは若干悪くなる程度。
- ネットワークの性能が、畳み込み層が削除された場合に低下する。深さが重要
architecture
- 以下が本アルゴリズムの構成
ReLU Nonlinearity
- 当時の予測モデルにおいては、
等が活性化関数として使われていた。
- 本論文では、活性化関数としてより高速になるReLU:max(0,x)が使われている。
- 勾配消失問題にも対応

ReLUとtanhの比較
Training on Multiple GPUs
- 本論文では2つのGPUにネットワークを分散させている。
Local Response Normalization
- 位置(x,y)でカーネルiにおいて活性化関数ReLUを適用して計算した値を
とすると応答正規化された値は以下となる
ここでの和は同一空間位置にあるn個の隣接するカーネルマップ(特徴
マップと同一?)で行う。
N:レイヤ内カーネル総数(カーネルサイズとストライドに依存?)
明るさの正規化に意味合いとして近い。
3.4 Overlapping Pooling
- CNNでのプーリング:隣接ニューロングループの出力を同一カーネルマップにまとめる。
- プーリングレイヤ:プーリングユニットの位置を中心としたz×zサイズの近傍を要約したsピクセル感覚のプーリングユニットのグリッドより構成。
- 従来:プーリングユニットはオーバーラップしない(s=z)
- 本論文ではs<z(s=2,z=3)としてオーバーラップさせている。
Overall Architecture
- レイヤー:全8層(最初の5層:畳み込み、残り3層:全結合)
- フィルタ
Reducing Overfitting
- Overfittingを防ぐために以下の2つの手法を使っている。
Data Augmentation
- 画像におけるOverfittingを減らす最も簡単で一般的な方法、ラベル保存変換を用いてデータセットを拡大すること。
- 2つの方法を採用している
- 画像の平行移動と対称移動
- 256×256pixelの画像からランダムに224×224のパッチを作り、その対称移動のパッチを作りそれらを学習に用いた
- RGBチャンネルの強度の変更
- ImageNetの学習セットのRGB画素値の集合にPCAを行う
- 画像の平行移動と対称移動
dropout
- 多くの異なるモデル予測の組み合わせはエラーの減少には有効だが、大規模なニューラルネットワークにはコストがかかりすぎる場合がある。
- そこで効率的な方法として、dropout(確率0.5で各隠れニューロンの出力を0に設定)を採用
結果
- ILSVRC-2010の結果

- ILSVRC-2012の結果

