EfficientNet: Rethinking Model Scaling for Convolutional Neural Networksを読んだのでメモ
はじめに
EfficientNet: Rethinking Model Scaling for Convolutional Neural Networksを読んだのでメモ.より良いbackbone networkであるEfficientNetを提案.感覚的に持ってたモデルの深さと幅,入力に関する解像度とモデルの精度間の関係をいくつか実験的に検証して面白かったのでまとめる.
Problem Formulation
まず問題の定式化から入る.ある番目の畳み込み層の入出力関係を次のように定義する.
これを多層化した最終的なモデルはと表現する.あるベースラインモデルに対し,モデルの深さ,チャネル数,入力の解像度の3つを探索のパラメータとして次のような最適化問題を解くのが目標.
などハットのついた変数は初期のベースラインモデルのパラメータを表す.
Scaling Dimensions
各変数とモデルのスケールアップの関係を考える.はモデルの性能を上げる上では一般的に大きくすることを考えるが,深いモデルの学習には課題がつきまとう.また,batch norm等のテクニックで学習できたとしても性能向上という上ではある一定までしか恩恵がない.というのもResNetの実験においてResNet-101からResNet1000に変えたところで精度は(良くなっても)そこまで大きく向上しなかったという実例がある.
に関しては,大きくすることでより詳細な特徴を得ることができるとともに学習が容易になるという研究報告がある.一方でがとても大きくが小さいモデルはより高次の特徴を得るのが難しいとされている.
に関して,物体検出や単純な分類問題においても大きな値を使った方が精度向上が見込まれ,最近では224x224ではなく299x299や331x331,ImageNetのSoTAであるGPipeは480x480など高解像度化している.ただ単純に大きくしても精度がサチってただ計算コストが増すだけになるらしい.
上記の話で得られる知見としては,を大きくすればモデルの精度は向上するが大きすぎると逆に精度を劣化させるということ.これらの内容を表す実験結果は論文中のFigure 3にあるので要参照.
Compound Scaling
基本的には独立ではない.つまりを大きくした場合,その分を大きくすることで受容野を広げ特徴を捕らえやすくなることが直感的に言える.そこでこの直感を検証するためを固定での組み合わせを変えて実験を行なった.結果は論文中のFigure 4にあって直感通りの結果となった.この結果から,精度と効率を追求するためにはのバランスを調整することが重要ということが言え,定式化された問題の妥当性が言える.
ちなみにのバランスをとって良いモデルを作るという先行研究はすでにあったらしいがどれもマニュアルのチューニングとのこと.ここではを一様にスケールする係数を使った以下の新しいcompound scaling methodを提案する.
は定数でグリッドサーチで決定するとのこと.は直感的には計算コスト等を考慮したユーザー依存の変数.ここでという条件は,モデルのFLOPSがで計算されることから,を変えた時のFLOPSをで見積もれるようにするためとのこと.
EfficientNet Architecture
ここから本題.今回の探索方法ではモデルの1層の演算の構成は不変なため,ベースラインの設計がかなり重要.そこで既存のneural architecture searchを使って精度と速度を最適化したベースラインを作ったとのこと.最適化のゴールはで,がモデルの精度と速度,はのハイパーパラメータ,はターゲットとなるFLOPS.結果できたのが論文のTable 1に記述されているEfficientNet-B0.主要なモジュールとしてMobileNet-v2等で使われているmobile inverted bottleneck MBConvが使われていることが特徴とのこと.
EfficientNet-B0からはじめて探索していく戦略として,(1)に固定してをグリッドサーチ,(2)を固定してを任意のスケールで変更という2ステップ.結果としてが得られ,を変えてEfficientNet-B1からEfficientNet-B7まで作ったとのこと.
まとめ
初めてこういうタイプの問題設定の論文を読んだが意外と面白かった.あまりモデルを作り込む研究をしてこなかったのでbackbone modelは適当なベースラインと同じものを使ってたせいで,MBConvみたいに知らない構造があったり,最近は入力の解像度を大きしてるという話は発見だった.