EfficientNetとは
EfficientNet(エフィシェントネット)は、2019年にGoogleのTan & Leによって提案されたCNNアーキテクチャです。モデルのスケーリングを系統的に行う「複合スケーリング法」(Compound Scaling)を導入し、精度と効率のバランスを最適化しました。当時のImageNetにおいて、従来モデルよりも少ないパラメータで高い精度を達成しました。
| ひとことで言うと | 深さ・幅・解像度をバランスよく同時に拡大して、効率よく精度を上げたCNN。 |
|---|---|
| 何がうれしいか | 同じ精度を、従来より少ない計算量とパラメータで達成できる。 |
| 注意点 | 解像度を上げるとメモリ消費が大きい。実行環境に合わせてB0〜B7を選ぶ。 |
複合スケーリング法
従来のCNNのスケールアップは、深さ(層の数)、幅(チャネル数)、解像度(入力画像のサイズ)のいずれか一つを増やす方法が主流でした。EfficientNetでは、これら3つの次元を固定の比率で同時にスケーリングする複合スケーリング法を提案しました。係数φを変えることでB0(ベースライン)からB7まで段階的にスケールアップしたモデルファミリーを構築できます。
※ どれか1つだけ大きくするより、3つを決まった比率で伸ばすほうが効率的だと示しました。
ベースラインの探索
EfficientNetのベースラインモデル(B0)は、Neural Architecture Search(NAS)によって探索されました。MBConvブロック(MobileNet v2のInverted Residual Block)をベースに、Squeeze-and-Excitation(SE)モジュールを組み込んだ構造です。この効率的なベースラインの上に複合スケーリングを適用することで、高い性能を実現しています。
EfficientNetの影響と発展
EfficientNetの成功は、モデルスケーリングの体系的な研究を促進しました。EfficientNet v2では、Progressive Resizing(学習中に入力サイズを段階的に増加)やFused-MBConv(DepthwiseとPointwiseの融合)が導入され、さらなる効率化が実現されています。EfficientNetはバックボーンネットワークとして物体検出(EfficientDet)にも応用されています。