画像認識のモデルは2012年を境に一気に進化しました。何が課題でどう解決されたのかを流れで整理します。
こんにちは、zawato(@zawato7)です!
本記事はディープラーニング入門ロードマップの第16回です。
- ILSVRCで画像認識の精度が人間を超えるまでの流れ
- 各モデルが解決した課題と代表キーワード
- MobileNet・EfficientNetの軽量化の考え方
ILSVRCで精度は人間を超えた
画像認識の進化は、ILSVRCというコンペの記録がそのまま歴史になっています。2010年から2017年まで、ImageNetの画像データで開催されました。転機は2012年、ディープラーニングを使ったモデルが登場し、誤り率が一気に10ポイント近く下がりました。その後も精度は上がり続け、2015年には人間の精度を超えました。以降のモデルはすべてCNNが土台です。
第一世代は「深さ」と「フィルター」の工夫
初期の進化は、層の深さとフィルターの工夫でした。ILSVRCの上位モデルを並べます。
| モデル | 年 | 特徴 |
|---|---|---|
| AlexNet | 2012 | 優勝。ReLUとドロップアウトを採用 |
| VGG | 2014 | 準優勝。3×3のフィルターを16〜19層積み上げた |
| GoogLeNet | 2014 | 優勝。インセプションモジュールで畳み込みを並列適用 |
VGGが3×3にこだわったのは、フィルターが小さいほどパラメータ数が減り、深く積んでも学習しやすいためです。GoogLeNetは発想が違い、どのサイズがよいか事前にわからないなら並列に試して結合する、というのがインセプションモジュールです。
ResNetのスキップ結合が深さの限界を破った
層を深くするほど学習できなくなる壁を、ResNetはスキップ結合で突破しました。誤差逆伝播は勾配を掛け合わせながら伝わるため、層が深いほど入力層側の勾配が小さくなります(勾配消失問題)。当時は19層あたりが限界でした。
2015年のResNetは、いくつかの層を飛び越える経路(スキップ結合)を追加しました。逆伝播でこの経路を通ると勾配が1のまま伝わるため、100層を超えるモデルでも学習できます。飛び越した分との差分を学習するため、残差ネットワークとも呼ばれます。派生にWide ResNetやDenseNet、2017年にはアテンションを使うSENetが登場しました。
競争の軸は精度から効率へ
精度が人間並みになると、同じ精度をいかに軽く実現するかへ軸が移りました。スマートフォンや工場のカメラなどのエッジデバイスでは、大きなモデルを動かせないためです。
| モデル | 軽量化の考え方 |
|---|---|
| MobileNet | Depthwise Separable Convolutionで畳み込みを分解 |
| EfficientNet | 深さ・広さ・解像度を同時に拡大する複合スケーリング |
Depthwise Separable Convolutionは、チャンネルごとに空間方向だけ畳み込むDepthwiseと、1×1のフィルターでチャンネル間を混ぜるPointwiseの組み合わせです。2段階に分けると、精度を保ったままパラメータ数を減らせます。EfficientNetは深さだけを増やさず、広さと解像度も揃えて拡大します。
まとめ
- ILSVRCでは2012年のAlexNetが大幅に精度を上げ、2015年に人間を超えた
- VGGは3×3の積み上げ、GoogLeNetはインセプションモジュール、ResNetはスキップ結合が特徴
- MobileNetとEfficientNetは精度と軽さの両立を狙った軽量化路線
よくある質問
Q. スキップ結合はなぜ勾配消失を防げるのですか?
A. 層を飛び越える経路を逆伝播が通るとき、勾配が1のまま伝わるためです。深い位置の重みにも勾配が届くため、100層超でも学習が進みます。
Q. モデル名と特徴はどこまで覚えればよいですか?
A. 「AlexNet=ReLU」「VGG=3×3フィルター」「GoogLeNet=インセプションモジュール」「ResNet=スキップ結合」と、名前とキーワードをセットで押さえましょう。
Q. MobileNetとEfficientNetの違いは何ですか?
A. MobileNetは畳み込みの計算方法を分解して軽くする手法、EfficientNetは深さ・広さ・解像度の配分を最適化する手法です。



コメント