AI

画像認識モデルの進化|AlexNetからEfficientNetまで

AI

画像認識のモデルは2012年を境に一気に進化しました。何が課題でどう解決されたのかを流れで整理します。

こんにちは、zawato(@zawato7)です!

本記事はディープラーニング入門ロードマップの第16回です。

この記事でわかること
  • ILSVRCで画像認識の精度が人間を超えるまでの流れ
  • 各モデルが解決した課題と代表キーワード
  • MobileNet・EfficientNetの軽量化の考え方

 

 

ILSVRCで精度は人間を超えた

画像認識の進化は、ILSVRCというコンペの記録がそのまま歴史になっています。2010年から2017年まで、ImageNetの画像データで開催されました。転機は2012年、ディープラーニングを使ったモデルが登場し、誤り率が一気に10ポイント近く下がりました。その後も精度は上がり続け、2015年には人間の精度を超えました。以降のモデルはすべてCNNが土台です。

 

 

第一世代は「深さ」と「フィルター」の工夫

初期の進化は、層の深さとフィルターの工夫でした。ILSVRCの上位モデルを並べます。

モデル特徴
AlexNet2012優勝。ReLUとドロップアウトを採用
VGG2014準優勝。3×3のフィルターを16〜19層積み上げた
GoogLeNet2014優勝。インセプションモジュールで畳み込みを並列適用

VGGが3×3にこだわったのは、フィルターが小さいほどパラメータ数が減り、深く積んでも学習しやすいためです。GoogLeNetは発想が違い、どのサイズがよいか事前にわからないなら並列に試して結合する、というのがインセプションモジュールです。

 

 

ResNetのスキップ結合が深さの限界を破った

層を深くするほど学習できなくなる壁を、ResNetはスキップ結合で突破しました。誤差逆伝播は勾配を掛け合わせながら伝わるため、層が深いほど入力層側の勾配が小さくなります(勾配消失問題)。当時は19層あたりが限界でした。

2015年のResNetは、いくつかの層を飛び越える経路(スキップ結合)を追加しました。逆伝播でこの経路を通ると勾配が1のまま伝わるため、100層を超えるモデルでも学習できます。飛び越した分との差分を学習するため、残差ネットワークとも呼ばれます。派生にWide ResNetやDenseNet、2017年にはアテンションを使うSENetが登場しました。

 

 

競争の軸は精度から効率へ

精度が人間並みになると、同じ精度をいかに軽く実現するかへ軸が移りました。スマートフォンや工場のカメラなどのエッジデバイスでは、大きなモデルを動かせないためです。

モデル軽量化の考え方
MobileNetDepthwise 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は深さ・広さ・解像度の配分を最適化する手法です。

 

 

コメント