畳み込み(Convolution)とは?
畳み込み(Convolution)とは?
畳み込み(Convolution)は、画像や音声などのデータから特徴を抽出する手法の一つです。
特に 畳み込みニューラルネットワーク(CNN) では、入力データに対して「畳み込みフィルタ(カーネル)」を適用し、局所的な特徴を捉える ことができます。
畳み込みのイメージ
1. 画像の畳み込み(一般的な例)
- 画像データはピクセルの集まり(行列)
- 小さなフィルタ(例: 3×3) を画像にスライドさせながら適用する
- 例えば、エッジ検出フィルタを適用すると、輪郭部分が強調される
🖼️ イメージ
- 画像全体を見るのではなく、小さなフィルタで「部分的な特徴」を捉える
- 「どこにどんな特徴があるか?」を学習できる
2. 音声の畳み込み
- 音声は 時間軸(横軸) × 周波数(縦軸) の2Dデータ(スペクトログラム)として扱う
- CNNでは、周波数パターンや時間の変化を捉える ためにフィルタを適用
- 例えば、特定の周波数帯の変化パターンが「Yes」の音に特徴的かを学習できる
🎵 イメージ
- 「Yes」と発音する音の形(周波数分布)を抽出
- 「No」や「Up」との違いを学習し分類する
畳み込みのメリット
✅ 局所的な特徴を捉えられる
→ 画像のエッジや音の周波数パターンを識別できる
✅ パラメータを削減できる
→ 全体を学習するより、少ない計算量で学習できる
✅ 位置やスケールの変化に強い
→ 少しずれた音や画像でも、同じ特徴として認識できる