CNNの種類について

AI実装検定のご案内

CNN(Convolutional Neural Network)は画像認識を中心に発展してきたニューラルネットワークですが、「CNN」と一言で括れるほど単純ではありません。

実際には 設計思想・解決した課題・対象タスクによって多くの系統に分かれています。

本記事では、CNNを「何を改善するために生まれたのか」という視点で整理しながら解説します。

目次

CNNの基本構造(共通の土台)

ほぼすべてのCNNは、以下の要素を組み合わせて構成されています。

  • 畳み込み層(Convolution Layer)
    局所的な特徴(エッジ、模様、形状)を抽出する
  • 活性化関数(主にReLU)
    非線形性を導入し、表現力を高める
  • プーリング層(Pooling Layer)
    空間サイズを縮小し、位置ずれに対する頑健性を持たせる
  • 全結合層(Fully Connected Layer)
    抽出された特徴をもとに最終判断を行う

各CNNの「種類の違い」は、この基本構造をどう深くするか/どう効率化するか/どう接続するかという設計の違いにあります。

初期・基礎的CNN(原型となるモデル)

LeNet-5(1990年代後半)

  • CNNの原点的存在
  • 手書き数字認識(MNIST)向けに設計
  • 畳み込み+プーリング+全結合という基本構造を確立

学習用途・理論理解に最適なモデル

AlexNet(2012)

  • ImageNetでの成功によりディープラーニングブームを牽引
  • ReLUの本格採用、GPU学習、Dropout導入が特徴
  • 従来よりもはるかに深いCNNを実用レベルで成立させた

「深いCNNが現実的である」ことを示した転換点

深さを追求したCNN(高性能化の流れ)

VGG(VGG16 / VGG19)

  • 3×3の小さな畳み込みを繰り返し積み重ねる単純な構造
  • 理解しやすく、転移学習で広く使われてきた
  • 一方で、末尾の全結合層などによりパラメータ数が非常に多い

「シンプルだが重い」代表例

学習の安定性を大きく改善したCNN

ResNet(Residual Network)

  • 残差接続(Skip Connection)を導入
  • 各層が「入力+変換結果」を学習することで勾配消失を大幅に緩和
  • 非常に深いネットワーク(50層、100層超)の学習を可能にした

深層CNNの事実上の標準バックボーン

DenseNet

  • Dense Block内で、各層がそれ以前のすべての層の出力を結合(concat)して入力に利用
  • 特徴の再利用が進み、勾配が流れやすい
  • パラメータ効率が比較的高い

ResNetの思想を「特徴共有」に振り切った設計

※「ネットワーク全体の全層が接続される」わけではなく、Dense Block単位で密結合される点が重要です。

計算効率を重視した軽量CNN(モバイル・エッジ向け)

MobileNet

  • Depthwise Separable Convolution(深層分離畳み込み)を採用
  • 計算量とパラメータ数を大幅に削減
  • スマートフォンやIoTデバイス向けに最適化

エッジAIの代表的アーキテクチャ

EfficientNet

  • ネットワークの「深さ・幅・入力解像度」を同時にスケーリング(Compound Scaling)
  • 少ない計算資源で高精度を実現
  • B0〜B7など複数サイズが用意されている

効率と精度のバランスが非常に良い現代的CNN

特定タスク向けCNN

セグメンテーション系(U-Net など)

  • Encoder–Decoder構造を採用
  • ダウンサンプリングで文脈を捉え、アップサンプリングで空間情報を復元
  • スキップ接続により細部情報を保持

医療画像、領域抽出、自動運転で必須

(補足:FCN、DeepLabなども同系統)

物体検出系(YOLO / SSD)

  • YOLO:画像全体を一度で処理する一段検出器(高速)
  • SSD:速度と精度のバランス型

リアルタイム検出用途で広く使用

※ 現代では

  • 一段検出:YOLO / SSD / RetinaNet
  • 二段検出:Faster R-CNN 系
    という分類も一般的です。

用途別に見たCNNの整理

用途主なCNN
学習・基礎理解LeNet
画像分類VGG, ResNet, EfficientNet
転移学習ResNet, VGG
軽量・モバイルMobileNet, EfficientNet
セグメンテーションU-Net, DeepLab
物体検出YOLO, SSD, Faster R-CNN

まとめ

CNNの種類は単なるモデル名の違いではなく、

  • 深くしても学習できるようにする工夫(ResNet)
  • 特徴を再利用する工夫(DenseNet)
  • 計算量を削減する工夫(MobileNet)
  • 特定タスクに最適化する構造(U-Net / YOLO)

といった 設計思想の進化の歴史です。

この視点で整理すると、新しいモデルに触れたときも「どの系譜か」「何を改善しようとしているか」が判断しやすくなります。

以上、CNNの種類についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次