畳み込み(Convolution)とは?

畳み込み(Convolution)とは?

畳み込み(Convolution)とは?

畳み込み(Convolution)は、画像や音声などのデータから特徴を抽出する手法の一つです。
特に 畳み込みニューラルネットワーク(CNN) では、入力データに対して「畳み込みフィルタ(カーネル)」を適用し、局所的な特徴を捉える ことができます。


畳み込みのイメージ

1. 画像の畳み込み(一般的な例)

  • 画像データはピクセルの集まり(行列)
  • 小さなフィルタ(例: 3×3) を画像にスライドさせながら適用する
  • 例えば、エッジ検出フィルタを適用すると、輪郭部分が強調される

🖼️ イメージ

  • 画像全体を見るのではなく、小さなフィルタで「部分的な特徴」を捉える
  • 「どこにどんな特徴があるか?」を学習できる

2. 音声の畳み込み

  • 音声は 時間軸(横軸) × 周波数(縦軸) の2Dデータ(スペクトログラム)として扱う
  • CNNでは、周波数パターンや時間の変化を捉える ためにフィルタを適用
  • 例えば、特定の周波数帯の変化パターンが「Yes」の音に特徴的かを学習できる

🎵 イメージ

  • 「Yes」と発音する音の形(周波数分布)を抽出
  • 「No」や「Up」との違いを学習し分類する

畳み込みのメリット

局所的な特徴を捉えられる
→ 画像のエッジや音の周波数パターンを識別できる

パラメータを削減できる
→ 全体を学習するより、少ない計算量で学習できる

位置やスケールの変化に強い
→ 少しずれた音や画像でも、同じ特徴として認識できる