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の種類についてでした。
最後までお読みいただき、ありがとうございました。
