このページは、深層学習における 畳み込みニューラルネットワーク(CNN) と 画像・空間データ の扱いを、初学者向けに短く整理するノートです。時系列の背景は 畳み込みと画像認識史、深層学習全体の座標は 深層学習モデル史 を参照してください。古典機械学習側の特徴量設計との対比は 特徴量設計(概要) も併せて読むと立体的になります。
ざっくりいうと
- 畳み込み(convolution):画像の 局所パターン(エッジ、テクスチャなど)を、小さな フィルタ(カーネル) でスライドしながら拾う演算。同じフィルタを画像全体に使い回す パラメータ共有 が特徴です。
- 畳み込み層:畳み込みの結果を特徴マップとして積み上げ、段階的に 大きな見た目のパターン(部品→物体)へつなげる層の総称です。
- プーリング(pooling):近傍の値をまとめて解像度を下げ、位置のゆらぎに強くする処理。代表は 最大プーリング です。
- CNN(Convolutional Neural Network):畳み込み層・プーリング層・全結合層などを組み合わせたネットワーク。画像分類の定番アーキテクチャです。
- 転移学習(transfer learning):ImageNet などで学習した重みを初期値にし、手元の少量データで微調整する実務の定番です。
物体検出(どこに何があるか)や セグメンテーション(ピクセル単位の領域)も、畳み込みを骨格にした設計が主流です。

図: 小さな カーネル(フィルタ) が画像上をスライドし、各位置で畳み込み結果を得るイメージ。出典: Michael Plotke(CC BY-SA 3.0)
全結合だけのネットワークとの違い(感覚)
| 観点 | ピクセルを並べた全結合(典型) | CNN(典型) |
|---|---|---|
| 入力の扱い | 全ピクセルが互いに直接つながる | 近傍 から順に特徴を積み上げる |
| パラメータ数 | 画像が大きいと爆発しやすい | 共有フィルタ で抑えやすい |
| 位置のゆらぎ | 学習データに依存しやすい | 畳み込み+プーリングで 局所不変性 を取りやすい |
| 解釈 | ブラックボックスになりがち | フィルタの可視化などの手がかりがある |
古典機械学習では SIFT や HOG など人手の特徴を作り、SVM などに渡す流れが長くありました。CNN は 特徴の設計そのもの をデータから学ぶ方向へ重心を移した、と理解するとつながります。

図: 入力画像 → 畳み込み/プーリングの繰り返し → 全結合でクラス出力、という典型的な流れ。出典: Aphex34(CC BY-SA 4.0)
畳み込みと画像認識で何をしているか
たとえば「猫か犬か」を分類するとき、生のピクセル列をそのまま全結合に入れると、画素数に比例してパラメータが増え、位置が少しずれただけで別物のように見えてしまいます。CNN は 小さな窓 でエッジや模様を拾い、層を重ねるごとに 目・耳・全体の形 のような抽象度へ進みます。だいたい次の流れです。
- 前処理:リサイズ、正規化、データ拡張(回転・反転・色調のゆらぎ)で学習データのバリエーションを増やす。
- 畳み込み+活性化:複数チャンネルの特徴マップを作る(ReLU など)。
- プーリング:空間サイズを縮め、計算と位置のゆらぎへの頑健性を確保する。
- 繰り返し:浅い層はエッジ、深い層は部品・物体に近い表現になりやすい。
- 分類ヘッド:特徴マップをベクトル化し、クラス確率(ソフトマックスなど)へつなぐ。
学習では、正解ラベルとの誤差(交差エントロピーなど)から 逆伝播 でフィルタの重みを更新します。推論では、学習済みフィルタで特徴を抽出し、最後の層でクラスを選びます。

図: 入力画像、特徴学習ブロック、平坦化、全結合による分類までを一枚で示した例。出典: Irisbox(CC BY 4.0)
物体検出では、分類に加えて どこに何があるか(バウンディングボックス)を出す。二段階(候補を出してから精査)と一段階(一度に位置とクラス)の構成がよく比較されます。

図: (a) 2-stage 検出器、(b) 1-stage 検出器の概念図。出典: Licheng Jiao ほか、Commons(CC BY 4.0)
学習フェーズと推論フェーズ
| 段階 | 役割 | 触るもの |
|---|---|---|
| 学習 | フィルタと分類器の重みをデータから更新 | 損失関数、オプティマイザ、データ拡張 |
| 推論 | 学習済み重みでラベルや領域を出力 | 前処理の一貫性、しきい値、後処理(NMS など) |
検出・分割では、アンカー や FPN などアーキテクチャ固有の部品が増えますが、骨格は「畳み込みで特徴を作り、タスク用のヘッドで出力する」という形が多いです。
強みと限界(短く)
強み
- 画像の 空間構造(近くの画素が意味を持つ)を自然に扱える。
- パラメータ共有により、高解像度入力 でも学習可能な設計にしやすい。
- 大規模データセットと GPU により、2010 年代以降 画像認識の実用域 が一気に広がった。
- 転移学習 で、手元データが少なくても始めやすい場面がある。
限界
- データの偏り や ドメイン差(学習環境と本番環境の違い)で性能が落ちやすい。
- 敵対的入力(人間には分からない摂動)に弱い例が知られ、運用では頑健性の検証が要る。
- 解釈性は古典の線形モデルより重く、説明責任 が求められる領域では追加の工夫が必要。
- 計算・メモリ・電力コストが大きく、エッジ端末では 軽量化(量子化、蒸留など)が論点になる。
よく混ざる用語(会話での補足)
チャンネル
カラー画像なら RGB の 3 チャンネル。畳み込みの出力も複数チャンネルの 特徴マップ になり、次の層の入力になる、というイメージです。

図: 1 つのフィルタが、前の層から 3 チャンネル分 の特徴を受け取り、次の特徴マップを作るイメージ。出典: Cecbur(CC BY-SA 4.0)
ストライドとパディング
ストライド(stride) はフィルタを動かす間隔。パディング(padding) は端の画素を扱うための余白。出力サイズの計算でよく話題になります。

図: 青が入力、シアンが出力。パディングやストライドの違いによる出力の変化。出典: Vincent Dumoulin, Francesco Visin(MIT / Commons)
受容野(receptive field)
深い層ほど、元画像の 広い範囲 を見ているとみなせる領域が広がります。検出のスケール設計などと結びつきます。
データ拡張(data augmentation)
学習時だけランダムに反転・クロップ・色調を変え、見た目のバリエーション を人工的に増やす手法。過学習抑制に効くことが多いです。