CNNとは?畳み込みニューラルネットワークの仕組みと応用

AIを知りたい
画像認識でよく使われる「CNN」って何ですか?

AIエンジニア
CNN(Convolutional Neural Network)は畳み込みニューラルネットワークと呼ばれ、画像処理に特化したディープラーニングの手法です。人間の視覚野の仕組みにヒントを得て設計されており、画像の特徴を階層的に学習します。

AIを知りたい
普通のニューラルネットワークとは何が違うのですか?

AIエンジニア
通常のニューラルネットワーク(全結合層)は入力の全てのピクセルを個別に扱いますが、CNNはフィルタ(カーネル)を使って画像の局所的なパターンを検出します。これによりパラメータ数が大幅に削減され、位置が少しずれても同じ特徴を検出できるという利点があります。
CNN(畳み込みニューラルネットワーク)とは、畳み込み層・プーリング層・全結合層を組み合わせたニューラルネットワークで、画像認識の基盤技術です。
1998年にYann LeCunが開発したLeNetが起源で、2012年のAlexNetによるImageNetでの圧勝をきっかけにディープラーニングブームが始まりました。画像分類、物体検出、セマンティックセグメンテーションなど幅広い画像タスクで使われています。
畳み込み層の仕組み

AIを知りたい
「畳み込み」って具体的に何をしているんですか?

AIエンジニア
小さなフィルタ(例:3×3のマス)を画像上でスライドさせながら、フィルタの値と画像のピクセル値を掛け合わせて足し算する操作です。このフィルタが「エッジ」や「角」などの特徴を検出するフィルタになるよう学習が進みます。

AIを知りたい
層が深くなるとどうなるんですか?

AIエンジニア
浅い層ではエッジや色などの単純な特徴を検出し、深い層に進むほど目や耳などの部品、さらに顔全体といった高度な特徴を学習します。この階層的な特徴抽出がCNNの本質で、人間の視覚処理に似た仕組みです。
CNNの基本構成要素

AIを知りたい
CNNはどんな層で構成されていますか?

AIエンジニア
主に3つの層があります。畳み込み層でフィルタを使って特徴マップを生成。プーリング層で特徴マップのサイズを縮小して計算量を減らし位置ずれに強くする。最後に全結合層で抽出された特徴から分類を行います。これらを何層も積み重ねます。

AIを知りたい
プーリングにはどんな種類がありますか?

AIエンジニア
Max Poolingは領域内の最大値を取る方法で、最も一般的です。Average Poolingは平均値を取ります。例えば2×2のMax Poolingは、2×2の領域から最大値を1つ選んで出力するので、サイズが縦横半分になります。最近はGlobal Average Poolingで全結合層を置き換える設計も多いです。
| 層 | 役割 | 出力 |
|---|---|---|
| 畳み込み層 | 局所パターンの検出 | 特徴マップ |
| 活性化関数(ReLU) | 非線形変換 | 活性化マップ |
| プーリング層 | サイズ縮小・位置不変性 | 縮小された特徴マップ |
| 全結合層 | 分類・回帰 | クラス確率 |
代表的なCNNアーキテクチャ

AIを知りたい
有名なCNNモデルにはどんなものがありますか?

AIエンジニア
歴史的に重要なモデルがいくつかあります。AlexNet(2012年)はディープラーニングブームの火付け役。VGGはシンプルな構造で理解しやすい。ResNetはスキップ接続で100層以上の深いネットワークを実現しました。最近ではEfficientNetが効率と精度のバランスに優れています。

AIを知りたい
今でもCNNは使われていますか?Transformerに置き換わったのでは?

AIエンジニア
Vision Transformer(ViT)が台頭していますが、CNNは今でも広く使われています。特にエッジデバイスやリアルタイム処理ではCNNの軽量さが有利です。またConvNeXtのようにCNNの設計をTransformer時代のテクニックで更新したモデルも登場し、ViTに匹敵する性能を出しています。
| モデル | 年 | 層数 | 特徴 |
|---|---|---|---|
| AlexNet | 2012 | 8 | GPU学習、ReLU、Dropout |
| VGG-16 | 2014 | 16 | 3×3フィルタの積み重ね |
| GoogLeNet | 2014 | 22 | Inceptionモジュール |
| ResNet | 2015 | 152 | スキップ接続(残差学習) |
| EfficientNet | 2019 | 可変 | 複合スケーリング |
まとめ
CNNは画像認識の基盤となるディープラーニング技術です。畳み込み・プーリング・全結合の3つの層で画像の特徴を階層的に学習し、画像分類から物体検出まで幅広く活用されています。ResNetのスキップ接続で超深層化が可能になり、EfficientNetで効率と精度の両立が実現しました。Transformerとの融合も進む中、CNNは依然としてコンピュータビジョンの中核技術です。
