以下の内容はhttps://yhiss.hatenablog.com/entry/2020/08/22/154702より取得しました。


ImageNet Classification with Deep Convolutional Neural Networks

ImageNet Classification with Deep Convolutional Neural Networksを読んでまとめました。
解釈間違い等ある時がありますので、その場合指摘いただけると助かります。

目次

概要

  • 5つの畳み込み層(一部はmax-pooling層)と3つの完全に結合された層(計8つの学習層)で構成、overfittingを減らすためにdata augmentation, dropoutを採用
  • CNNは同程度のサイズのfeedforward neural networkと比べてconnection・parameterが少ないので、訓練が容易でかつパフォーマンスは若干悪くなる程度。
  • ネットワークの性能が、畳み込み層が削除された場合に低下する。深さが重要

architecture

  • 以下が本アルゴリズムの構成
    • 2つのGPUの動作:
      • 片方:上部レイヤー、もう片方:下部レイヤー
    • ネットワークの入力:150,528次元
    • 残りの層のニューロン数:253,440-186,624-64,896-43,264-4096-4096-1000
      f:id:yhiss:20200809182936p:plain
      構成

ReLU Nonlinearity

  • 当時の予測モデルにおいては、 tanh(x)や(1 + e^{-x})^{-1}等が活性化関数として使われていた。
  • 本論文では、活性化関数としてより高速になるReLU:max(0,x)が使われている。
  • 勾配消失問題にも対応
    f:id:yhiss:20200815150833p:plain
    ReLUとtanhの比較

Training on Multiple GPUs

  • 本論文では2つのGPUにネットワークを分散させている。
    • GPUは特定の層でしか通信しないようにしている

Local Response Normalization

  • 位置(x,y)でカーネルiにおいて活性化関数ReLUを適用して計算した値を a_{x,y}^iとすると応答正規化された値は以下となる
 b_{x,y}^i = a_{x,y}^i / (k + \alpha \sum_{j=max(0,i-n/2)}^{min(N-1, i+n/2)} (a_{x,y}^i)^2 )^{\beta}
 右記はハイパーパラメータであり、本論文での値も併記する。k = 2, n = 5, \alpha = 10^{-4}, \beta = 0.75

ここでの和は同一空間位置にあるn個の隣接するカーネルマップ(特徴 マップと同一?)で行う。
N:レイヤ内カーネル総数(カーネルサイズとストライドに依存?)
明るさの正規化に意味合いとして近い。

3.4 Overlapping Pooling

  • CNNでのプーリング:隣接ニューロングループの出力を同一カーネルマップにまとめる。
  • プーリングレイヤ:プーリングユニットの位置を中心としたz×zサイズの近傍を要約したsピクセル感覚のプーリングユニットのグリッドより構成。
    • 従来:プーリングユニットはオーバーラップしない(s=z)
    • 本論文ではs<z(s=2,z=3)としてオーバーラップさせている。

Overall Architecture

  • レイヤー:全8層(最初の5層:畳み込み、残り3層:全結合)
    • 最後のレイヤーの出力:1000クラスのラベル分布を生成する。
    • 畳み込み層
      • 2,4,5層目のレイヤーは同一GPUの前レイヤーからの入力を受け取っている。
      • 第3層目のレイヤーは第2層の全カーネルマップに繋がっている。
    • 全結合層
      • 全結合層のneuronは、前の層の全neuronに繋がっている
  • フィルタ

Reducing Overfitting

  • Overfittingを防ぐために以下の2つの手法を使っている。

Data Augmentation

  • 画像におけるOverfittingを減らす最も簡単で一般的な方法、ラベル保存変換を用いてデータセットを拡大すること。
  • 2つの方法を採用している
    • 画像の平行移動と対称移動
      • 256×256pixelの画像からランダムに224×224のパッチを作り、その対称移動のパッチを作りそれらを学習に用いた
    • RGBチャンネルの強度の変更
      • ImageNetの学習セットのRGB画素値の集合にPCAを行う
 それぞれのRGB \ image \ pixel \  I_{xy}=[ {I_{xy}}^R ,{I_{xy}}^G, {I_{xy}}^B ]^T \ に対して、以下の値を加える
 [ p_1,p_2,p_3  ]  [{\alpha}_1 {\lambda}_1 , {\alpha}_2 {\lambda}_2 ,{\alpha}_3 {\lambda}_3 ]^T 
 p_i:RGB画素値の3×3共分散行列の固有ベクトル、{\lambda}_i同共分散行列の固有値、{\alpha}_i:平均0、標準偏差0.1のガウス分布から生成されたランダム変数

dropout

  • 多くの異なるモデル予測の組み合わせはエラーの減少には有効だが、大規模なニューラルネットワークにはコストがかかりすぎる場合がある。
  • そこで効率的な方法として、dropout(確率0.5で各隠れニューロンの出力を0に設定)を採用

結果

  • ILSVRC-2010の結果

f:id:yhiss:20200822151521p:plain

  • ILSVRC-2012の結果

f:id:yhiss:20200822151535p:plain

参考文献

https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf




以上の内容はhttps://yhiss.hatenablog.com/entry/2020/08/22/154702より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14