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アーキテクチャの進化
| 年 | モデル | 特徴 |
|---|---|---|
| 2012 | AlexNet | 深層学習CNNの先駆け |
| 2014 | VGGNet | シンプルな3×3フィルタの積み重ね |
| 2015 | ResNet | 残差接続で超深層化 |
| 2019 | EfficientNet | モデルサイズとFLOPSのバランス最適化 |
| 2022 | ConvNeXt | Transformerの設計思想をCNNに導入 |