CNNの進化の歴史:AlexNetからEfficientNetまでを一気に解説!

こんにちは。ゆうせいです。

今回はCNN(畳み込みニューラルネットワーク:Convolutional Neural Network)の歴史をたどってみましょう。

CNNは画像認識をはじめ、顔認識や医療画像診断、自動運転のカメラなど、今ではあらゆる場面で使われています。

でも、「CNNっていつからあって、どう進化してきたの?」と疑問に思ったことはありませんか?
この問いにお答えするべく、代表的なアーキテクチャを「進化の系譜」として紹介していきます。

高校生でも理解できるよう、できるだけやさしく、でもしっかりと本質をつかめるように解説します!


CNNとは?

まず簡単におさらいしておきましょう。

CNNとは、画像を処理するために特化したニューラルネットワークの一種で、特徴的なのが「畳み込み層(Convolutional Layer)」です。

これは画像の「形」や「模様」を捉えるための計算手法で、人間の視覚野(脳の中の視覚処理領域)の仕組みにヒントを得ています。

CNNの強みは以下のとおりです:

  • 入力画像から自動で特徴を抽出できる
  • 空間情報(隣り合うピクセルの関係)を活かせる
  • パラメータ数が少なく、学習効率が高い(全結合ネットワークと比べて)

CNNの歴史を表で俯瞰しよう!

まずは代表的なモデルの一覧をざっと見てみましょう。

モデル名特徴精度向上の工夫
2012AlexNetCNN復活の火付け役ReLU導入・GPU活用
2014VGGシンプルで深い構造同じサイズのConvを積み重ね
2014GoogLeNet (Inception)幅を持たせるマルチスケール処理
2015ResNet超深層学習を可能に残差接続(Residual Connection)
2017DenseNet全結合的な接続各層をすべての前層に接続
2018NASNet構造自動設計Neural Architecture Search
2019EfficientNet精度と効率の両立Compound Scaling

それでは、それぞれのモデルについて一つずつ、もう少し詳しく見ていきましょう!


AlexNet(2012年)

  • 開発者:Alex Krizhevsky(カナダの大学院生)
  • 背景:ImageNetコンペ(ILSVRC)で圧倒的勝利
  • 特徴
    • ReLU(活性化関数)を使用
    • GPUによる高速学習
    • ドロップアウト(過学習対策)導入

なぜ革命的だったのか?

当時主流だったSVMや手作りの特徴量では、トップ5誤差率が25%前後
AlexNetは15%台という衝撃の結果を出しました。

つまり、「ディープラーニングが本当に使える!」と証明した最初の大事件だったのです。


VGG(2014年)

  • 開発者:Oxford大学とGoogle DeepMind
  • 構造:16層または19層の深いネットワーク(VGG16, VGG19)
  • 特徴
    • 全て3×3のフィルタを使う
    • 畳み込みとプーリングを交互に積むだけのシンプル構造

メリット・デメリット

  • 構造が単純なので、再利用しやすい
  • ただし、パラメータ数が多くて重い

GoogLeNet(Inception v1)(2014年)

  • 開発者:Google
  • 構造:Inception Moduleを採用
  • 特徴
    • 異なるサイズの畳み込み(1×1, 3×3, 5×5)を並列処理
    • 1×1畳み込みでチャンネル数の削減(次元削減)

何が新しかった?

それまでのCNNは深くする or 広くするかしか選べませんでしたが、GoogLeNetは両方をうまく組み合わせて分岐構造にしたのです。


ResNet(2015年)

  • 開発者:Microsoft Research
  • 構造:152層以上もの超深層ネット
  • 特徴
    • 残差接続(skip connection)を導入
    • Identity mappingで勾配消失を防ぐ

残差接続とは?

入力 $x$ に対して、出力を $F(x) + x$ とする接続方式。

これは、「今の層が学習すべきなのは、変化量だけでよい」という発想で、非常に学習が安定します。

\text{Output} = F(x) + x

結果

ResNetは非常に深くしても性能が落ちないという画期的な発見をもたらしました。


DenseNet(2017年)

  • 開発者:Cornell Universityなど
  • 構造:ResNetよりさらに密につながっている
  • 特徴
    • 各層が前すべての層と結合(密結合)
    • パラメータ数を抑えながら高精度

式で表すと?

x_l = H_l([x_0, x_1, ..., x_{l-1}])

つまり、今の層はこれまでのすべての出力を入力として受け取るという設計です。


NASNet(2018年)

  • 開発者:Google
  • アプローチ:自動設計(AutoML)
  • 特徴
    • 最適な構造を人間ではなくAI自身が設計
    • 強力だが、計算コストが膨大

EfficientNet(2019年)

  • 開発者:Google Brain
  • 特徴
    • 精度・パラメータ数・速度のバランスが最高
    • Compound Scalingという独自のスケーリング手法を使用

Compound Scalingとは?

従来の手法は次のどれか1つだけを拡張:

  • Depth(層の深さ)
  • Width(層の幅)
  • Resolution(画像の大きさ)

EfficientNetではこの3つをバランスよく拡張します。


ビジュアルで比較しよう

以下は、各モデルのパラメータ数 vs 精度の分布例です(概念図):

|                             ● EfficientNet
|                         ●
|                     ●
|             ● DenseNet
|         ● ResNet
|     ● GoogLeNet
| ● VGG
|● AlexNet
|------------------------------------------
      少  パラメータ数  多

EfficientNetは、少ないパラメータで非常に高い精度を出すことができる究極のバランス型モデルなんです!


まとめ

CNNの歴史を振り返ると、以下のような流れが見えてきます。

  1. AlexNetでディープラーニングがブレイク
  2. VGGで構造を統一し
  3. GoogLeNetで並列構造を導入
  4. ResNetで深層化の壁を突破
  5. DenseNetで接続の密度を強化
  6. NASNetでAIに構造設計を任せ
  7. EfficientNetで効率と性能の最適解を得た

今後の学習の指針

CNNの基礎と歴史を学んだあとは、以下に進むのがオススメです。

  • 実際にKerasやPyTorchで各モデルを使ってみる
  • モデルのパラメータ数・速度・精度を比較実験
  • 転移学習(Transfer Learning)で実用タスクへ応用
  • Vision Transformerなど、CNN以外の画像モデルにも触れてみる

AIの進化は速いですが、こうした「王道の系譜」を知っていると、新しい技術もずっと理解しやすくなりますよ!

生成AI研修のおすすめメニュー

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。