EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

3ff23de3d76bebc9b63f18a49122ea7f?s=128

mogamin

June 07, 2019
Tweet

Transcript

  1. EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks 07.Jun.2019 画像処理

    & 機械学習 論文LT大会 #3 Takashi,MOGAMI @mogamin
  2. WHO AM I? Takashi, MOGAMI / @mogamin ウルシステムズ株式会社 シニアコンサルタント 画像処理(OpenCV)、DeepLearningや強化学習がメインの業務。時間があ

    ればkaggleやSIGNATEで技術を磨いたり、社内ではScrum浸透活動や arxiv論文を読む活動したり。最近ではgraphを使った研究開発を推進中。 - Scrum Master - AWS Certified Solutions Architect Professional ※本内容は個人の見解です。所属組織とは一切関係ありません。
  3. Chainer User Group Member!

  4. AWS DeepRacer!

  5. None
  6. Outline - EfficientNet (Mingxing Tan, Quoc V. Le, Google AI)

    - Abstract/概要 - 1. Introduction/導入 - 2. Related Work/関連研究 - 3. Compound Model Scaling/複合モデルのスケール - 4. EfficientNet Architecture/提案するEfficientNetアーキテクチャ - 5. Experiments/実験 - 6. Discussion/議論 - 7. Conclusion/まとめ
  7. Abstruct - CNNは一般的に予算の中で限度のあるリソースを使って開発されます。もちろん リソースを増やせば精度は高くなるでしょう。 - 我々は、すべての次元(深さ、広さ、解像度)を、単純だけど、効率的な複合係 数を統一的に使用することによって、スケーリングさせる手法を提案します。さ らに、MobileNetsとResNetをスケールアップさせる方法についても示します。 - さらに

    EfficeineNetsという新しいベースラインを用いてスケールするニューラル アーキテクチャを開発しました。これは以前のConvNetよりも高い精度を得るこ とができます。EfficenetNet-B7はS.O.T.A.です。そのモデルサイズは従来よりも小 さく、推論スピードも早いです。転移学習についても同様です。 https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
  8. 1. Introduction(1/5) - 一般的にCNNはスケールアップさせることで精度がよくなります。たとえば、 ResNetではたくさんのレイヤーを取り入れており、ResNet18モデルから200モデ ルまであります。最近ではGPipeがよい精度を出していますが、それはベースモ デルの4倍のもの大きさです。しかしながら、スケールアップさせることで精度 がよくなる仕組みは明らかになっておらず、その方法は乱立しています。 - 一般的なスケールアップは、深さ(depth)と幅(width)です。他に注目を浴びている

    方法は解像度(resolution)を高めることです。ですが、それぞれを任意にスケール させることは可能ですが、つまらない手作業によるチューニングになってしまい ます。そこで、我々はCNNを機械的にスケールアップさせる方法を再考したいん だ。
  9. 1. Introduction(2/5) - 我々は、「よりよい制度と効率を達成することができる原則的な方法があるの か」という問題について調査します。 - 我々の実証的研究において、ネットワークの全次元(depth, width, reslution)のバ ランスをとることが重要であることがわかりました。そして驚くことに、そのバ

    ランスは単純にそれらを一定の比率で拡大縮小させるだけで達成することが出来 ます。その結果を経て、単純だけと効果的な複合的なスケールの手法を提案しま す。 - 例えば、2倍もの計算ソースを使いたい場合、単純にネットワークのdepthをα, widthをβ, image-sizeをγだけ増やせばいいのです。α、β、γは元のモデルに対す るGridSearchで決定される係数です。
  10. 1. Introduction(3/5) - (a)はベースラインNN - (b),(c),(d)はCNNでそれぞれ1次元だけを拡張した場合 - (e)は、我々の提案手法であり、全次元に渡って同じ係数を統一的にスケールさせた場合。

  11. 1. Introduction(4/5) - 直感的に、入力画像が大きい場合は、もっとネットワークのunit数や レイヤ数、channel数が必要になることは明確です。以前の理論や経 験的な結果から、ネットワークのdepthとwidthに関係があることが言 われていますが、depthとwidthそしてresolutionの3つの次元すべてに 関係があることを我々は示します。 - 特にモデルスケーリングの有効性はベースラインのネットワークに大

    きく依存します。さらに私達は新しいベースネットワークをつかう新 しいNNを提案します。それをEffectiveNetsと呼びます。
  12. 1. Introduction(5/5) - EfficeinetNetsモデルはどのCNNよりもい い結果を出しています。特に EfficentNets-B7は、Gpipeが出しているベ ストスコアを超えており、モデルサイズ が8.4倍も小さく、推論スピードも6.1倍も 早いのです。

  13. 2. Related Work - ConvNet Accuracy - AlexNet- > GooglNet(6.8M)

    -> SENet(145M) -> GPipe(557M parameters) - 高い精度はアプリケーションにとって重要なんだが、メモリ等のハードウエアの制約がある。 さらなる精度向上には、もっと効率的にする必要があるじゃん。 - ConvNet Efficiency - DeepConvNetはパラメータサイズが大きくなりすぎです。モデル圧縮は普通の方法ですが、 モデルの効率化と精度はトレードオフの関係にあります。モバイル端末はどこにでもあるよ うになるのです。SqueezeNets,MobileNets,ShuffleNetsのように効率的にモデルサイズを圧縮す ることが一般的になっております。しかしながら、その方法は確立されていません。目的を 達成するために、我々はmodel scalingに頼ります。 - Model Scaling - ...
  14. 3. Compound Model Scaling - 3.1. Problem Formulation - 3.2.

    Scaling Dimensions - depth/width/resoution - 3.3. Compound Scaling - α、β、γは、small-grid-searchによって 決められる定数です。 - Φはモデルをスケールさせるために使 えるリソースを制御するためのユーザ が指定する係数です。 s.t.(such that) ~であるような ※GridSearch:ハイパーパラメータを自動的に探索する手法
  15. 4. Efficient Architecture - すいません。。。 - まだ読めていません。 MBConv:mobile inverted bottleneck

    convolution
  16. 5. Experiments - XXX

  17. 7. Conclusion - この論文で紹介したConvNetの拡大縮小をするやり方は、効率的に精度を高 める手法の中、非常に重要であり、いままでに欠けている部分です。

  18. ありがとうございました。 We are now hiring! @mogaminまで