---
title: "畳み込み（Convolution）"
description: "畳み込み（Convolution）について、G検定で問われる画像認識・CNN分野の観点から、画像タスクでの役割、特徴抽出の流れ、代表モデルとの関係を整理します。暗記だけでなく、似た概念との混同を避ける見分け方や、選択肢を切るためのポイントも確認します。"
canonical_url: "https://stemtazoo.github.io/gk/convolution/"
section: "gk"
---

## まず結論

* **畳み込みはCNNの中核となる処理**
* **小さなフィルタを画像上で滑らせて特徴を抽出**する
* ストライド・パディングで **出力サイズと特徴の取り方** が決まる

---

## 直感的な説明

畳み込みは、

> 「虫眼鏡で画像の一部分ずつを見て、特徴があるかを調べる」

ような処理です。

* 小さい範囲だけを見る
* 同じ見方（同じフィルタ）を画像全体に適用

これにより、
**場所が違っても同じ特徴を検出**できます。

---

## 定義・仕組み

### フィルタ（カーネル）

* 小さな行列（例：3×3）
* エッジや模様などの特徴を検出

**ポイント**

* フィルタの値は **学習によって決まる**
* 人が事前に決めるわけではない

---

### 畳み込み演算

* フィルタと画像の対応要素を掛け算
* その総和を1つの値として出力

この処理を画像全体に対して行い、
**特徴マップ（Feature Map）** を作ります。

---

### ストライド（Stride）

* フィルタを動かす間隔

**影響**

* 大きい → 出力サイズが小さくなる
* 小さい → 情報量が多いが計算量増加

---

### パディング（Padding）

* 画像の周囲に値（通常は0）を追加

**目的**

* 画像サイズを保つ
* 端の情報を失わない

---

### 出力サイズの考え方

* ストライド ↑ → サイズ ↓
* パディングあり → サイズ維持しやすい

※ 数式暗記より、**影響関係を理解**するのが重要

---

## いつ使う？（得意・不得意）

### 得意なこと

* エッジ・角・模様などの局所特徴検出
* 画像・2次元データ処理

### 注意点

* フィルタサイズやストライドの設定次第で情報を失う

---

## G検定ひっかけポイント

* ❌「フィルタは人が設計する」→ **誤り**
* ❌「畳み込みは画像全体を一度に見る」→ **誤り**
* ✅ フィルタは **学習で獲得**
* ✅ **重み共有** によりパラメータ削減
* ✅ パディングは端の情報保持

---

## まとめ（試験直前用）

* 畳み込みは **局所特徴抽出**
* フィルタは学習される
* ストライド・パディングで出力サイズが決まる

👉 次は **プーリング（Pooling）** を見ていきます。
