モデル・技術

EfficientNetとは?三つのノブを同時に回す——複合スケーリングでCNNを効率化する

読み:エフィシェントネット / 英:EfficientNet

更新日: 読了目安:約6分

EfficientNetは、Googleが提案した効率重視のCNNです。AlexNetが「深くして勝つ」、DenseNetやResNetが「つなぎ方で深くする」方向だったのに対し、EfficientNetは深さ・幅・解像度の三つを同時にバランスよく拡大する——複合スケーリング(Compound Scaling)——本記事は係数φの暗記ではなく、「なぜ一軸だけ伸ばすと非効率になるか」に焦点を当てます。

スケールの三つのノブ

CNNを大きくする方法は、おおむね三つに分けられます。

ノブ何を増やすか単独で伸ばすと…
深さ(Depth)層の数勾配・過学習の課題(ResNetが対処、G-322
幅(Width)チャネル数・フィルタ数パラメータ爆発、特徴の冗長化
解像度(Resolution)入力画像のピクセル数計算量が二乗的に増加

従来は「層だけ深く」「チャネルだけ太く」と一軸ずつ試すことが多かった。EfficientNetは、三つを一定の比率で同時に伸ばす方が精度あたりの計算コストが良い——という発見を体系化しました。

複合スケーリングの直感

複合スケーリングの考え方はシンプルです。

深さ・幅・解像度を、同じ倍率 φ で協調的に拡大する。

  1. ベースネット — 小さく効率の良い基本構造(MobileNet系の畳み込みブロック)を設計
  2. スケール係数 φ — B0, B1, B2… と段階的に三つのノブを同時に拡大
  3. 精度とFLOPs — 同じ計算量でより高精度、同じ精度でより軽量——を両立

試験では「深さ・幅・解像度を複合スケール」がキーワードです。G-406の量子化やプルーニングといった事後の軽量化とは別で、設計段階から効率を狙うアプローチです。

土台となる畳み込みブロック

EfficientNetの骨格はMBConv(Mobile Inverted Bottleneck Convolution)など、深度方向畳み込み+畳み込みの組み合わせでパラメータを抑えるブロックです。詳細の暗記より、「軽量ブロック × 複合スケール」の二層構造で理解すれば試験に十分なことが多いです。

HQ-0298のCNN定義——畳み込みで局所特徴を捉える——は共通ですが、EfficientNetはどのCNNよりも「計算あたりの精度」を重視した設計名として位置づけられます。

他のCNNとの位置づけ

モデル工夫の焦点試験での整理
AlexNet深層CNNの実用化(2012年)歴史的ランドマーク
ResNet残差接続で深く学習G-235 / G-322
DenseNet密結合で特徴再利用接続設計の別解
EfficientNet三軸の複合スケールで効率化精度/FLOPsのバランス
BERTNLPの事前学習別ドメイン(G-323)

試験で押さえるポイント

  • 定義 — 深さ・幅・解像度を複合スケールした効率CNN
  • キーワード — Compound Scaling、計算効率と精度の両立
  • 対比 — ResNet=残差、DenseNet=密結合、EfficientNet=三軸スケール
  • すり替え回避 — 軽量化手法全般・NLPモデル・物体検出専用名ではない

演習で確認する

G検定:G-322TF-401G-406G-323

生成AIパスポート:HQ-0298

すり替えに注意

誤った説明正しい理解
EfficientNet=ResNet複合スケール vs 残差接続
EfficientNet=量子化設計時の効率 vs 事後の軽量化(G-406)
EfficientNet=CNN全体の別名一アーキテクチャ名
EfficientNet=モバイルアプリモデル設計。製品名ではない
解像度スケール=画像拡大処理入力サイズの設計選択

よくある質問

EfficientNetは何をするアーキテクチャですか?

画像認識向けのCNN設計で、層の深さ・チャネル幅・入力解像度の三つを複合スケーリングでバランスよく拡大し、少ない計算量で高い精度を狙うアーキテクチャです。モバイルやエッジでも使われる効率重視の代表例として知られます。

EfficientNetとResNetは同じですか?

同じではありません。ResNetは残差接続で深いネットワークの学習を可能にしたCNNの代表です。EfficientNetは深さだけでなく幅と解像度も含めた複合スケーリングで効率と精度のバランスを取る別設計です。いずれも画像認識向けCNNですが、工夫の焦点が異なります。

EfficientNetはBERTですか?

いいえ。EfficientNetは画像認識向けのCNNアーキテクチャ、BERTは自然言語処理向けのTransformerエンコーダです。ドメインも構造も異なります。