Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
論文紹介
Xception: Deep Learning with Depthwise
Separable Convolutions
東京大学大学院理学系研究科物理学専攻 藤堂研究室
中西 健
論文名: Xception: Deep Learning with Depthwise
Separable Convolutions
著者: François Chollet (Google, Inc.)
公開日: 4 Apr 2017
※スラ...
• ネットワークの軽量化に興味があった
• 畳み込み層を工夫してパラメータ数と計算量を減らす
方法の1つが今から紹介するXception
この論文を選んだ動機
Inception Model 中の Inception Modules をDepthwise
Separable Convolutions に置換すると精度が向上した
概要
• Inception module とは
• これを積み重ねたものが Inception model
• e.g. GoogLeNet
Inception model
simple ver. Inception V3 ver.
• simple ver. の Inception module の書き換え
Inception model
=
厳
密
• The Inception hypothesis
• 空間方向の相関とチャネル方向の相関は十分に分離でき
るという仮説
→ このとき、すべてのチャネルを混ぜて畳み込み演算す
るのは好ましくない → 分割する
Inception model
• 1x1Convの後のチャネルの分割
• 分割数最小の極限 (分割なし) → 普通のConv層
• 分割数最大の極限 (分割数 = チャネル数) をとると?
→ 各チャネルごとの畳み込みとなる
Inception model
Inception model
分割
最小
(分割なし)
最大
(分割数=チャネル数)
パラメータ数
図
多 少
計算量 大 小
分割すればするほどパラメータ数が減らせる & 計算が軽くなる
Depthwise Separable Convolution
• 分割数最大の Inception module と似た方法
• 畳み込みを空間方向とチャネル方向に分けて実行
• 画像処理界隈では"separable convolution"...
dw: 各チャネルでそれぞれ畳み込み(depthwise convolution)
pw: チャネル方向にのみ畳み込み(pointwise convolution)
2つのmoduleの比較
分割数最大の
Inception module
De...
• The Inception hypothesis
• 空間方向の相関とチャネル方向の相関は十分に分離できると
いう仮説
• 本論文
• 空間方向の相関とチャネル方向の相関は完全に分離できると
いう仮説
→ "Extreme Inceptio...
Xception の層設計
• 36個のConv層
• 最初と最後以外は residual connection する
Xception の層設計
Xception vs Inception V3
• パラメータ数はほぼ同じ
→ 精度の差はnetworkのcapacityに依らない
→ 精度からどれだけ"効率の良い"パラメータを使えて
いるかがわかる
実験
2つの分類タスク
• ImageNet
• 約1400万枚の画像, 1000クラス
• 単一ラベル
• JFT
• googleの社内専用大規模画像分類データセット
• 3.5億枚以上の画像, 17000クラス
• マルチラベル (1つの画像に...
Xception と Inception V3 で同じoptimizationの構成を用いた
※ optimizationの構成は Inception V3 でチューニングした
2つのタスクでそれぞれ異なるoptimizationの構成を用いた...
• Weight decay
• L2正則化
• 2つのタスクで同じWeight decay rateを用いた
• Inception V3: 4e-5 (ImageNetで慎重にチューニング)
• Xception: 1e-5 (大雑把にチュ...
どの実験も NVIDIA K80 GPU を60台使った
• ImageNet
• 1つの実験にそれぞれ3日
• JFT
• 1つの実験にそれぞれ1ヶ月以上
• 完全には収束していない
• 収束させるには3ヶ月以上かかるらしい
実験設備
Xception の方が Inception V3 より僅かに良い結果
結果 (ImageNet)
全結合層なしと全結合層2層(1層あたり4096units)の両方
を試した
→ Xceptionのほうが 4.3% 良い結果
結果 (JFT)
全結合層なし 全結合層2層
• JFTのほうはImageNetのときと比べて大差でXception
が勝っている
• Inception V3 は ImageNetの分類タスクに最適化された
modelだから?
結果
ImageNet JFT
• Xception に residual connections は必要か
• ImageNetで実験
→ 入れたほうが良い
追加実験1
• Xceptionの空間方向畳み込みとチャネル方向畳み込みの
間に活性化関数は不要か
• ImageNetで実験
→ 空間方向畳み込みとチャネル方向畳み込みの間には活
性化関数は不要 (これはInception V3と真逆の結果)
追加実験2...
• 今回扱った2つの分類タスクでは、Xception は
Inception V3 より優れた結果となった
• 既存のInception modulesは簡単にXceptionに置き換
えることができる
→ 今後のCNNの層設計の基礎になると期...
Upcoming SlideShare
Loading in …5
×

[DL輪読会]Xception: Deep Learning with Depthwise Separable Convolutions

7,605 views

Published on

2017/6/23
Deep Learning JP:
http://deeplearning.jp/seminar-2/

Published in: Technology
  • Be the first to comment

[DL輪読会]Xception: Deep Learning with Depthwise Separable Convolutions

  1. 1. 論文紹介 Xception: Deep Learning with Depthwise Separable Convolutions 東京大学大学院理学系研究科物理学専攻 藤堂研究室 中西 健
  2. 2. 論文名: Xception: Deep Learning with Depthwise Separable Convolutions 著者: François Chollet (Google, Inc.) 公開日: 4 Apr 2017 ※スライド中の図表は特に記述のない限り上記の論文から引用 Paper information
  3. 3. • ネットワークの軽量化に興味があった • 畳み込み層を工夫してパラメータ数と計算量を減らす 方法の1つが今から紹介するXception この論文を選んだ動機
  4. 4. Inception Model 中の Inception Modules をDepthwise Separable Convolutions に置換すると精度が向上した 概要
  5. 5. • Inception module とは • これを積み重ねたものが Inception model • e.g. GoogLeNet Inception model simple ver. Inception V3 ver.
  6. 6. • simple ver. の Inception module の書き換え Inception model = 厳 密
  7. 7. • The Inception hypothesis • 空間方向の相関とチャネル方向の相関は十分に分離でき るという仮説 → このとき、すべてのチャネルを混ぜて畳み込み演算す るのは好ましくない → 分割する Inception model
  8. 8. • 1x1Convの後のチャネルの分割 • 分割数最小の極限 (分割なし) → 普通のConv層 • 分割数最大の極限 (分割数 = チャネル数) をとると? → 各チャネルごとの畳み込みとなる Inception model
  9. 9. Inception model 分割 最小 (分割なし) 最大 (分割数=チャネル数) パラメータ数 図 多 少 計算量 大 小 分割すればするほどパラメータ数が減らせる & 計算が軽くなる
  10. 10. Depthwise Separable Convolution • 分割数最大の Inception module と似た方法 • 畳み込みを空間方向とチャネル方向に分けて実行 • 画像処理界隈では"separable convolution"と呼ばれている Depthwise Separable Convolution L. Sifre. Rigid-motion scattering for image classification, 2014. Ph.D. thesis. 各チャネルで それぞれ畳み込み チャネル方向のみで 畳み込み
  11. 11. dw: 各チャネルでそれぞれ畳み込み(depthwise convolution) pw: チャネル方向にのみ畳み込み(pointwise convolution) 2つのmoduleの比較 分割数最大の Inception module Depthwise Separable Convolution pw → dw → dw → pw → ReLU ReLU ReLU ReLU
  12. 12. • The Inception hypothesis • 空間方向の相関とチャネル方向の相関は十分に分離できると いう仮説 • 本論文 • 空間方向の相関とチャネル方向の相関は完全に分離できると いう仮説 → "Extreme Inception" → "Xception" • この仮説のもとでは、Conv層を空間方向のConvとチャネル方 向のConvの2つに完全に分離することが正当化される Xception
  13. 13. Xception の層設計 • 36個のConv層 • 最初と最後以外は residual connection する Xception の層設計
  14. 14. Xception vs Inception V3 • パラメータ数はほぼ同じ → 精度の差はnetworkのcapacityに依らない → 精度からどれだけ"効率の良い"パラメータを使えて いるかがわかる 実験
  15. 15. 2つの分類タスク • ImageNet • 約1400万枚の画像, 1000クラス • 単一ラベル • JFT • googleの社内専用大規模画像分類データセット • 3.5億枚以上の画像, 17000クラス • マルチラベル (1つの画像に複数のラベル) • 評価は JFT内のFastEval14kで行った • 14000枚の画像, 6000クラス • 1ラベルあたり平均36.5枚 • 評価方法: MAP@100 • 予想したラベル上位100個のうち当たったラベル数の平均 取り組むタスク
  16. 16. Xception と Inception V3 で同じoptimizationの構成を用いた ※ optimizationの構成は Inception V3 でチューニングした 2つのタスクでそれぞれ異なるoptimizationの構成を用いた • ImageNet • Optimizer: SGD • Momentum: 0.9 • Initial learning rate: 0.045 • Learning rate decay: 2epoch毎に0.94倍 • JFT • Optimizer: RMSprop • Momentum: 0.9 • Initial learning rate: 0.001 • Learning rate decay: 300万サンプル毎に0.9倍 optimizationの構成
  17. 17. • Weight decay • L2正則化 • 2つのタスクで同じWeight decay rateを用いた • Inception V3: 4e-5 (ImageNetで慎重にチューニング) • Xception: 1e-5 (大雑把にチューニング) • Dropout • Xception も Inception V3 も同じ割合 • ImageNet: 0.5 • JFT: 0 (常識的な実験時間範囲内ではoverfittingさせられない程 の大きさのデータセットだから) 正則化項の構成
  18. 18. どの実験も NVIDIA K80 GPU を60台使った • ImageNet • 1つの実験にそれぞれ3日 • JFT • 1つの実験にそれぞれ1ヶ月以上 • 完全には収束していない • 収束させるには3ヶ月以上かかるらしい 実験設備
  19. 19. Xception の方が Inception V3 より僅かに良い結果 結果 (ImageNet)
  20. 20. 全結合層なしと全結合層2層(1層あたり4096units)の両方 を試した → Xceptionのほうが 4.3% 良い結果 結果 (JFT) 全結合層なし 全結合層2層
  21. 21. • JFTのほうはImageNetのときと比べて大差でXception が勝っている • Inception V3 は ImageNetの分類タスクに最適化された modelだから? 結果 ImageNet JFT
  22. 22. • Xception に residual connections は必要か • ImageNetで実験 → 入れたほうが良い 追加実験1
  23. 23. • Xceptionの空間方向畳み込みとチャネル方向畳み込みの 間に活性化関数は不要か • ImageNetで実験 → 空間方向畳み込みとチャネル方向畳み込みの間には活 性化関数は不要 (これはInception V3と真逆の結果) 追加実験2 dw → pw → ReLU ReLU ?
  24. 24. • 今回扱った2つの分類タスクでは、Xception は Inception V3 より優れた結果となった • 既存のInception modulesは簡単にXceptionに置き換 えることができる → 今後のCNNの層設計の基礎になると期待 • 普通の畳み込み層と Xception の間くらいのものを試 していないので今後実験する 結論と展望

×