6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【論文要約】 EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks [Tan+, 2020]

Last updated at Posted at 2021-07-09

要約

EfficientNetは、畳み込みニューラルネットワークを用いた画像認識モデルです。既存のConvNetに比べてモデルパラメータを1/8.4倍に削減しつつ、推論速度を6.1倍にしました。

アーキテクチャ

一般にネットワークを深くすると複雑な表現を捉えられ、幅(特徴量)を大きくすると細かい表現を捉えられます。また、解像度を高くすると扱える画像の情報が増えます。
本研究では、compound scaling method という、ネットワークの深さ・幅・解像度の大きさに同時に制約を加える手法で、バランスのとれたスケーリング(パラメータのサイズの調整)を可能にします。

compound scalingは以下の式に基づいて動作します。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3631343039322f37636539376364382d343236622d306466372d386362312d6138656630623935396564382e706e67.png

ネットワーク各層の幅(特徴量)が2倍になると、4倍のパラメータが必要になります。
また、解像度は(H×W)なので2乗の制約となります。
よって、widthとresolutionのハイパーパラメータは2乗の制約とします。
Φはどれだけ大きなモデルにするかという人間が決定するパラメータで、その他ハイパーパラメータはグリッドサーチを用いて頑張って探索します。

深さ・幅・解像度を変化させたときのモデルは以下のようになります。
image.png

compound scalingを行うと、画像認識の際にモデルがどこに注目しているかを表すヒートマップの精度も向上しています。
image.png

コード

timmというライブラリを用いるとEfficientNetを含めた大量の事前学習モデルを手軽に使うことができます。現在も続々とモデルが追加されています。

# コマンドで pip install timm
import timm
import torch
m = timm.create_model('efficientnet_b3', pretrained=True)
m.eval()
matrix = torch.rand(2, 3,224,224)

m(matrix).size() # (2, 1000)
m.forward_features(matrix).size() # (2, 1536, 7, 7)
6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?