More Related Content Similar to [DL輪読会]EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks (20) More from Deep Learning JP (20) [DL輪読会]EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks1. 1
DEEP LEARNING JP
[DL Papers]
http://deeplearning.jp/
EfficientNet: Rethinking Model Scaling for
Convolutional Neural Networks (ICML2019)
MasashiYokota, RESTAR Inc.
2. 書誌情報
• 著者
– Mingxing Tan, Quoc V. Le
– Google Researchのチーム
– ICML2019 採択
• CNNの層数、チャネル数、解像度を単一のパラメータで最適化す
る手法を提案
2
8. 2.1. 関連研究 (枝切り・量子化等によるモデル圧縮)
Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman
Coding [Han et. al. ICLR2016]
• 大きなモデルをscale downしてモデルを効率化する。具体的には、枝
切り、量子化、ハフマン符号化を同時に行うことで精度を落とさず
AlexNetとVGG-16をそれぞれ35倍、49倍圧縮した。 8
14. 3.1.1. CNNの定式化
• i番目Conv層を以下のように定義:
• また、シンプルなk層のCNNは以下のように定義する:
• ResNetのように一つのブロックが同じタイプのConv層を複数持
つことを考慮し、CNNを以下のように定義する:
14
𝑌𝑖: 𝑖層の出力, 𝑋𝑖: 𝑖層の入力, 𝐹𝑖: 𝑖層の𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑜𝑛
𝐹𝑖
𝐿 𝑖
: 𝑖番目の𝑠𝑡𝑎𝑔𝑒で𝐹𝑖を𝐿𝑖回リピート
𝐻𝑖: 𝑖番目の入力Height
𝑊𝑖: 𝑖番目の入力𝑊𝑖𝑑𝑡ℎ
𝐶𝑖: 𝑖番目の入力𝐶ℎ𝑎𝑛𝑛𝑒𝑙
17. 3.2.1 Depth (d)
• Depth(d): 層数
• dを増やすとモデルがよりリッチな特
徴量を取得できる一方で、深すぎる
と勾配消失問題が起こる。
• 左図では、dがある程度大きくなると
改善幅が頭打ちしていることがわ
かる
17
18. 3.2.2. Width (w)
• Width(w): チャネル数
• wを増やすと、よりfine-grainedな
特徴量を獲得できる
• 一方で、wに比べてネットワークが
浅いと高レベルな特徴量を捉えら
れず、左図のようにwがある程度
大きくなると精度の改善幅が小さ
くなってくる
18
19. 3.2.3. Resolution (r)
• Resolution(r): 解像度
• 初期CNNのImageNet入力画像解
像度は224x224であり、そこから
480x480(ex. Gpipe [Huang et. al.
2018])まで大きくなっている。それ
に比例し良い性能を達成している。
• 一方で、rが大きくなるにつれ多様
な特徴量を獲得できるようにモデ
ルのパラメータ数も増やす必要が
ある。
19
※ r=1.0の時: 解像度224x224
r=2.5の時: 解像度560x560
23. 3.3.2 提案手法 Compound Scaling Method
• 先の予備実験から、d,w,rをバランスよく増加させるために
共通のパラメータφを導入し、以下の式でd,w,rを決定する:
• α,β,γはハイパーパラメータ。 の制限により、FLOPS
が2 𝜙
で増加していくのでFLOPSを見積もりやすくしている
23
メモ: CNNの式
26. 3.4.2. [Step1] ベースモデルのアーキテクチャ探索
• 本提案手法はベースモデルをscale upしていくためモデルはでき
るだけ筋が良いモデルである必要がある。
→MNasNetを用いて精度とFLOPS双方を実現できるモデルを構
築する。この際に以下を報酬としてモデル探索を行う。
26
𝑚: モデル
𝑇: ターゲット𝐹𝐿𝑂𝑃𝑆
𝜔(=−0.07): ACCとFLOPSの
バランスを取るハイパーパラメータ
28. 3.4.4 [Step2-3] パラメータチューニング
1. α,β,γの探索:
φ=1で固定し、α,β,γをグリッドサーチする
※ グリッドサーチしていているが、小さいCNNかつ
𝛼 ∙ 𝛽2
∙ 𝛾2
≈ 2の制約があるので探索空間は小さい
2. φの探索:
α,β,γを固定し、φのパラメータをチューニングする
28
30. 4. 実験
1. compound scaling自体の有効性検証:
既存モデル(ResNet, MobileNet)にcompound scalingを用いてス
ケールアップ
2. EfficientNet + compound scalingの有効性検証:
EfficientNetをImageNetで学習
3. 転移学習における有効性検証:
EfficientNetの転移学習
30
32. 4.2. EfficientNet + compound scalingの有効性検証:
EfficientNetをImageNetで学習
• 実験条件:
– Optimizer: RMSProp (decay: 0.9, momentum: 0.9)
– Learning Rate: 0.256 (2.4epoch毎に0.97 decayしていく)
– Dropout Ratio: φの増加するに従って0.2から0.5へ段階的に上げる
– その他:
• Weight decay: 1e-5
• swish activation
• fixed AutoAugment policy
• stochastic depth (drop connect ratio: 0.2)
32
40. 5. Discussion
• Compound scaling自体がどれくらい有益か詳しく分析する
1. 単体パラメータチューニングとcompound scalingの性能比較
2. Class Activation Mapによる活性領域の可視化
3. 2.で可視化したモデルの性能比較
40