Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文紹介:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification

S.Shota
December 12, 2016

論文紹介:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification

2016年12月12日の論文紹介で使用したスライドです.
論文: K. He, X. Zhang, S. Ren, and J. Sun, “Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification,” in 2015 IEEE International Conference on Computer Vision (ICCV), 2015.

https://papers.nips.cc/paper/5032-adaptive-dropout-for-training-deep-neural-networks.pdf

S.Shota

December 12, 2016
Tweet

More Decks by S.Shota

Other Decks in Technology

Transcript

  1. 論⽂紹介 K. He, X. Zhang, S. Ren, and J. Sun,

    “Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification,” in 2015 IEEE International Conference on Computer Vision (ICCV), 2015. ⻫藤 翔汰 2016年12⽉12⽇
  2. 2 • K. He, X. Zhang, S. Ren, and J.

    Sun, “Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification,” in 2015 IEEE International Conference on Computer Vision (ICCV), 2015. • 卒論に関する先⾏研究にて,この論⽂で使っ ている重みの初期化法が使われていたため • chainerにおける重みの初期化もデフォルト では,この論⽂で使われている初期化法 12/3/17 ⽂献情報・この論⽂を選んだ理由
  3. 5 •より良い⼀般化を達成するための戦略 • 有効な正則化技術(Dropoutなど) • 積極的なdata augmentation • ⼤規模なデータ •Deep

    NNの成功の鍵はReLU • シグモイド関数を使うよりも 学習の収束が早く,より良い解に到達 2016/12/12 1. Introduction
  4. 15 • の更新にはモーメンタム法を使⽤ • :モーメンタム係数 • :学習率 • の更新時には重み減衰( 正則化)を

    使⽤しないことに注意が必要 • 重み減衰は をゼロへ近づける傾向がある 2017/12/3 Optimization ai ai := µ ai + ✏ @E @ai µ ✏ ai L2 ai
  5. 19 •Table 1.は各層における学習された PReLUの係数を⽰す •第⼀の畳み込み層(conv1)は,0より かなり⼤きい係数 • 正と負の両⽅の応答が尊重されている •channel-wise ver.を⾒ると,より深い

    畳み込み層ほど⼀般的に係数は⼩さい • 深度が深いほど活性化が徐々に⾮線形化 • 浅い層ほど情報を多く持ち,深くなるほど 判別を⾏いやすいように変化 2017/12/3 Comparison Experiments
  6. 23 •最近のCNNでは,正規分布から サンプリングされた値で初期化される • 固定された標準偏差(e.g. 0.01)の場合, ⾮常に深いモデルでは収束が難しい •GlorotとBengioは適切にスケーリング された⼀様分布を使うことを提案 •

    これをXaiver初期化と呼ぶ • 導出には「活性化関数が線形」という仮定 • この仮定はReLU/PReLUの場合,不要 2017/12/3 2.2. Initialization of Filter Weights for Rectifiers
  7. 25 •導出の中⼼的なアイデアは,各層に おける応答の分散を調査すること •畳み込み層の場合の応答は次式 • : 個の⼊⼒チャネル内の同じ位置に ある 画素を表す 次元ベクトル

    • :層の空間的なフィルタサイズ • :フィルタ数( )× ( )の⾏列 • 各⾏はフィルタの重みを表す 2017/12/3 Forward Propagation Case yl = Wlxl + bl x c k ⇥ k k2c k2c k W d n
  8. 26 • :バイアスベクトル • :出⼒マップのピクセルに対する応答 • :層のインデックス •⼊⼒ は活性化関数 を⽤いて次式で

    表せる •⼊⼒チャネルとフィルタ数の関係は次式 2017/12/3 Forward Propagation Case b y l xl f xl = f( yl 1 ) cl = dl 1
  9. 27 • の初期化された各要素は,互いに 独⽴であり,同じ分布を共有 • の要素も互いに独⽴で,同じ分布を 共有 • と は互いに独⽴と仮定するとき,

    次式を得る • : の各要素 2017/12/3 Forward Propagation Case Wl Wl xl xl yl, xl, wl yl , xl, Wl Var[ yl] = nlVar[ wlxl] = nlVar[ wl]E[ x 2 l ]
  10. 28 • の平均はゼロとしている • の平均がゼロでない場合, •ReLUを使う場合,平均はゼロにならない • Xaiverとは異なる結論につながる • がゼロの周りに対称分布を持ち,

    バイアス と仮定する •このとき, は平均ゼロで対称分布 2017/12/3 Forward Propagation Case wl xl E[ x 2 l ] 6= Var[ xl] wl 1 bl 1 = 0 yl 1
  11. 29 • がReLUとすれば, •この結果から,次式が得られる • 層分まとめると,次式 2017/12/3 Forward Propagation Case

    f E[ x 2 l ] = 1 2 Var[ yl 1] Var[yl] = 1 2 nlVar[wl]Var[yl 1] L Var[yL] = Var[y1] L Y l=2 1 2 nlVar[wl] !
  12. 32 •逆伝搬において,畳み込み層の勾配は 次式となる • :⽬的関数に対する勾配 • : 次元のベクトル • :

    ⾏ 列の⾏列 • 逆伝搬時に再配置されるフィルタを表す • : 次元のベクトル • ある層におけるピクセルの勾配 2017/12/3 Backward Propagation Case xl = ˆ Wl yl xl, yl y ˆ n = k2d ˆ W c ˆ n x c
  13. 35 • の分散は次式となる • 層分まとめると次式となる 2017/12/3 Backward Propagation Case xl

    Var[ xl] = ˆ n Var[ wl]Var[ yl] = 1 2 ˆ n Var[ wl]Var[ xl+1] L Var[ xL] = Var[ xL+1] L Y l=2 1 2 ˆ nlVar[ wl] !
  14. 40 • で計算した標準偏差: • 第1,2層 → sqrt(2/(3*3*64)) ≒ 0.059 •

    第3,4層 → sqrt(2/(3*3*128)) ≒ 0.042 • 第5,6層 → sqrt(2/(3*3*256)) ≒ 0.029 • 残り → sqrt(2/(3*3*512)) ≒ 0.021 •標準偏差を0.01として初期化すると, conv10からconv2に伝搬する勾配の 分散は1/(1.7*10^4) • 勾配の分散は指数関数的に減少 2017/12/3 Discussions p 2/ˆ nl
  15. 43 •Xaiver初期化と 導出した初期化 を⽐較 • 256個の2×2 フィルタを持つ 畳み込み層16層 分を追加 •

    30層のモデルは, 提案⼿法だと 収束へ向かう 2017/12/3 Comparisons with “Xavier” Initialization
  16. 45 •Table.3のmodel Aがベースライン •⽐較対象として,VGG-19モデルでも 実験 •model AはVGG-19に対し,以下を変更 • 最初の層で7×7のフィルタを使い, ストライドは2とする

    • input sizeが224,122での3×3フィルタ3つ をinput sizeが56,28,14の層に移動 • 最初のfc層の前に空間ピラミッド プーリング(SPP)を使⽤ 2017/12/3 2.3. Architectures
  17. 47 •model Bはmodel AをDeepにしたもの • model Aより畳み込み層が3つ多い •model Cはmodel Bをwideにしたもの

    • フィルタ数が256→384に変更 •model A,BはK20GPU4つ,model Cは K40GPU8つで訓練には3~4週間かかる •近年はdeepよりもwideにする傾向 • deepにすると精度が飽和or劣化する場合が ある 2017/12/3 2.3. Architectures
  18. 55 •ImageNet 2012データセットを使⽤ • 1000クラスに分類するタスク • 学習⽤画像:120万 • 検証⽤画像:5万 •

    テスト⽤画像:10万 •Top-1/Top-5エラー率で結果を測定 2017/12/3 4. Experiments on ImageNet
  19. 58 •10-view testの結果をTable.5に⽰す •最も良かったのはmodel C+PReLU • 他の提案モデルも先⾏研究を上回る結果 •Table.6はマルチビューテストを⽤いた単 ⼀モデルの結果 •

    提案モデルはMSRAと記載 •このテストでも提案⼿法が優れた結果を残 している • 浅いモデルでの事前学習を不要としたため? 12/3/17 Comparisons of Single-model Results
  20. 66 •Figure 6.はテスト結果でクラスごとの Top-5エラーを昇順で⽰している •113クラスでエラーなしを達成 •Top-5エラーが最も⾼いクラス • letter opener (49%)

    • spotlight (38%) • restaurant (36%) •複数物体,⼩さな物体,クラス内の ⼤きな分散が原因(Figure 5.参照) 12/3/17 Analysis of Results