コンピュータービジョン

CNN(畳み込みニューラルネットワーク) しーえぬえぬ(たたみこみにゅーらるねっとわーく)

CNN畳み込みニューラルネットワーク画像認識畳み込み層プーリング層深層学習
CNN(畳み込みニューラルネットワーク)について教えて

簡単に言うとこんな感じ!

CNNは「画像を得意とするニューラルネットワーク」だよ。人間の視覚野が「エッジ→形→物体」と段階的に認識するのを模倣してて、畳み込みフィルタが局所的なパターンを検出しながら特徴を抽出するんだ。顔認識・自動運転・医療画像など画像系AIの基盤技術だよ!


CNN(畳み込みニューラルネットワーク)とは

CNN(Convolutional Neural Network:畳み込みニューラルネットワーク) は、画像・動画・音声などのグリッド状データを処理するために設計されたニューラルネットワークです。特に画像認識・物体検出・画像生成の分野で中心的な役割を果たしています。

CNNの特徴は「畳み込み(Convolution)」という演算にあります。小さなフィルタ(カーネル)を画像全体にスライドさせながら局所的な特徴を抽出し、位置が変わっても同じフィルタを使う(パラメータ共有) ことで、少ないパラメータ数で効率的に学習できます。

初期の層では「エッジ・テクスチャ」などの低レベル特徴を、深い層では「目・鼻・顔」などの高レベル特徴を学習します。この階層的な特徴抽出が、CNNが画像認識で高い性能を発揮する理由です。


CNNの基本構造

入力画像 (例: 224×224×3)

畳み込み層 + 活性化関数(ReLU)  ← 特徴抽出

プーリング層  ← サイズ縮小・不変性

畳み込み層 + 活性化関数 × N回繰り返し

平坦化(Flatten)

全結合層(FC層)

出力(クラス確率)
層の種類役割
畳み込み層フィルタで局所的な特徴を検出
活性化関数(ReLU)非線形性を追加
プーリング層特徴マップを縮小。位置ずれへの耐性を付与
バッチ正規化学習を安定化
全結合層抽出した特徴から最終判断

歴史と背景

  • 1989年:LeCunがLeNet(手書き文字認識)を発表。畳み込みの有効性を実証
  • 2012年AlexNetがImageNetで圧倒的な精度を達成。CNNのブレイクスルー
  • 2014年VGGNet・GoogLeNetが登場。深い構造の有効性を確認
  • 2015年ResNetが残差接続で超深層CNNを実現(152層)
  • 2020年以降:Vision Transformer(ViT)が登場するが、CNNも改良され続けている

代表的なCNNアーキテクチャの進化

モデル特徴
2012AlexNet深層学習CNNの先駆け
2014VGGNetシンプルな3×3フィルタの積み重ね
2015ResNet残差接続で超深層化
2019EfficientNetモデルサイズとFLOPSのバランス最適化
2022ConvNeXtTransformerの設計思想をCNNに導入

関連用語