EfficientNet:AutoMLとモデルのスケーリングによりCNNの精度と効率を向上(1/2)

  • 2019.05.31
  • AI
EfficientNet:AutoMLとモデルのスケーリングによりCNNの精度と効率を向上(1/2)

1.EfficientNet:AutoMLとモデルのスケーリングによりCNNの精度と効率を向上(1/2)まとめ

・畳み込みニューラルネットワークをスケールアップして精度と効率を向上させる新手法が発表
・EfficientNetと命名されたこのモデルは従来手法と異なりモデルを一律にスケールアップさせる
・個々の次元をスケールアップさせる従来手法より新手法の方が全体的な性能と効率が向上する

2.EfficientNetとは?

以下、ai.googleblog.comより「EfficientNet: Improving Accuracy and Efficiency through AutoML and Model Scaling」の意訳です。元記事は2019年5月29日、Mingxing TanさんとQuoc V. Leさんによる投稿です。

畳み込みニューラルネットワーク(CNN)は、一般に、利用可能な計算機リソースを固定して開発され、そしてより多くのリソースが利用可能になった時、より良い精度を達成するためにスケールアップされます。

例えば、ResNetは、レイヤー数を増やすことでResNet-18からResNet-200にスケールアップできます。最近ではGPipeが基準となるCNNを4倍にスケールアップする事で84.3%のImageNetのtop-1精度を達成しました。

モデルをスケールアップする従来のやり方は、CNNの深さまたは幅を任意に増加させる事、またはトレーニングや評価時に、入力としてもっと高解像度の画像を使用する事です。

上記の手法で精度は向上しますが、通常、面倒な手動調整が必要になり、尚且つ、依然として最適解とは言えないパフォーマンスが得られる事があります。

私達のICML2019での論文「EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks」では、より体系化された方法でCNNをスケールアップするために、シンプルでありながら非常に効果的な複合係数(compound coefficient)を使用する新しいスケールアップ手法を提案します。

幅、深さ、解像度など、ネットワークの次元を任意にスケーリングする従来のアプローチとは異なり、この手法では、各次元を一定のスケーリング係数で一律にスケーリングします。この新しいスケーリング手法と最近のAutoMLの進歩により、最大10倍の効率(より小さくより速い)で最先端の精度を超える事が出来るEfficientNetsと呼ばれるモデル群を開発しました。

Compound Model Scaling:CNNをスケールアップするためのより良い方法
ネットワークをスケーリングすることの効果を理解するために、私達は体系的に、モデルの異なる次元をスケーリングする事の影響を調べました。個々の次元をスケールするとモデルのパフォーマンスが向上する一方で、ネットワークの全ての次元(幅、奥行き、および画像の解像度)を利用可能なリソースとバランスさせると全体的なパフォーマンスが最も向上することがわかりました。

複合スケーリング手法の最初のステップは、グリッドサーチ(訳注:ハイパーパラメータを自動的に探索する手法)を実行する事です。使用リソースを固定した制約の下で、基準となるベースラインネットワークが、各次元をスケーリングするとどのように性能が変化するかその関係を見つけます。

これにより、各次元に対する適切なスケーリング係数が決定されます。次に、これらの係数を適用して、ベースラインネットワークを「目標のモデルサイズにする」または「計算リソースの予算に合わせる」ようにスケールアップします。


異なるスケーリング手法の比較
ネットワークの1つの次元を任意に拡大縮小する従来の拡大縮小方法(b) – (d)とは異なり、私たちの複合拡大縮小方法は原則的にすべての次元を一様に拡大します。

この複合スケーリング手法は、従来のスケーリング手法と比較して、モデル精度と効率を一貫して向上させます。MobileNet(+1.4%のimagenet精度)、ResNet(+ 0.7%)など、既存モデルをスケールアップした際に性能が更に向上しています。

 

3.EfficientNet:AutoMLとモデルのスケーリングによりCNNの精度と効率を向上(1/2)関連リンク

1)ai.googleblog.com
EfficientNet: Improving Accuracy and Efficiency through AutoML and Model Scaling