1. 定義と概要
カーネルとは、CNNの畳み込み層で使われる小さな正方形の重みの行列のことで、フィルタとも呼ばれます。画像の上を一定の間隔でスライドさせながら、重なった部分の値どうしをかけ算して合計する積和演算(重なった数値どうしをかけ算してから全部足し合わせる計算)を繰り返し、1つの数値に変換していく処理を畳み込み演算と呼びます。
この処理を経て得られる出力が特徴マップ(畳み込み演算の結果得られる、特徴を数値として表した新しいデータ)で、これを生成する層が畳み込み層です。カーネルのサイズには3×3や5×5などが用いられ、行列の中の重みの値自体は学習によって最適化されます。
ディープラーニングが登場する以前の画像処理では、輪郭を捉えるエッジ検出(画像の中で色や明るさが急に変わる輪郭部分を捉える処理)用のフィルタが使われていました。代表例がソーベルフィルタ(ディープラーニング以前から使われる、人が設計したエッジ検出用の固定フィルタ)で、カーネルの重みは人が手作業で設計するのが一般的でした。
CNNでは、この重みをニューラルネットワークの学習パラメータ(モデルの振る舞いを決める調整可能な数値)として扱います。誤差逆伝播法(予測と正解のズレをもとに、モデルの重みを自動的に修正していく学習の仕組み)によって自動的に更新する点が転換点になりました。人手による設計に頼らず、タスクに応じた特徴抽出パターンをデータから獲得できるようになったことが、CNNが画像認識で高い性能を示す背景にあります。
2. 試験対策ポイント
まず押さえておきたいのは、カーネル(フィルタ)が学習可能なパラメータであるという点です。畳み込み層の中では、その重み自体が誤差逆伝播法によって更新されます。あらかじめ人が設計する古典的な画像処理のフィルタとの違いにあたる論点であり、試験ではこの学習可能性が論点になります。
また、1つの畳み込み層には複数のカーネルを設定できます。それぞれが異なる特徴、たとえばエッジ・色・テクスチャなどを検出し、1枚ずつ特徴マップを生成します。カーネルの数だけ特徴マップの枚数が増える関係にあり、この対応関係は基本知識にあたります。
なお、ストライド(カーネルを画像上でずらす際の移動幅。何ピクセルずつ動かすか)や具体的なサイズの設計は、別の用語として扱われる範囲にあたります。カーネルそのものについては、まず何を指す言葉なのかをはっきりさせておくと迷いにくくなります。
「カーネル」という呼び方は、CNN以外の文脈でも使われます。SVMのカーネル法は非線形分離を可能にする数学的手法を指し、OSのカーネルはハードウェアとソフトウェアを仲介する中核プログラムを指します。同じ呼び方であっても指す対象が文脈によって異なる、混同しやすい組み合わせです。
3. 関連概念との比較・相違点
紛らわしい用語が何を指しているのかを、まとめて並べると違いがはっきりします。
| 用語 | 指す対象 |
|---|---|
| CNNのカーネル | 畳み込み層が持つ、学習によって更新される重みの行列 |
| SVMのカーネル法 | データを高次元空間へ写像して非線形分離を可能にする数学的な手法 |
| OSのカーネル | ハードウェアとソフトウェアを仲介し、CPUやメモリを管理する中核プログラム |
| ストライド | カーネルを何ピクセルずつ動かすかという移動間隔の設定値 |
このうちカーネル法(SVMのカーネルトリック)との最大の違いは、指す対象そのものにあります。CNNのカーネルは層の中に置かれた重みの並びであるのに対し、SVMのカーネル法はデータの見方を高次元へ移し替える考え方であり、両者はまったく別の概念です。同じ「カーネル」という言葉が使われているだけに、試験では取り違えやすい点です。
OSのカーネルとの違いも同様です。こちらは情報科学の別分野に属する用語で、CNNの畳み込み処理とは無関係の同名語にあたります。前後の文脈が画像認識の話なのか、コンピュータの基盤ソフトウェアの話なのかで判断すると、意味を取り違えずに済みます。
ストライドとの違いは、役割の違いにあります。カーネルは画像に重ねてスライドさせる型紙そのものであるのに対し、ストライドはその型紙を何ピクセルずつ動かすかという移動間隔の設定値を指します。カーネルのサイズやストライドの数値をどう設計するかという論点は、姉妹記事にあたる「カーネル幅」で扱う範囲であり、本記事ではカーネルが何を指すかという定義面の区別に絞ります。
4. ビジネス・実務での活用シナリオ
製造業の外観検査では、エッジ検出のパターンを学習したカーネルを用いることで、製品表面の傷や欠陥の輪郭を自動検出するモデルが実現します。人の目に頼っていた検査工程を機械が代替することで、目視検査の負荷が軽減されます。
医療画像診断の分野では、CTやMRI画像に対して腫瘍の輪郭やテクスチャの変化を捉えるカーネルを学習させ、病変候補を絞り込む診断支援に活用されています。医師の読影を機械の目が補うことで、見落としの少ない診断体制につながります。
自動運転の分野では、車載カメラの映像から車線や標識のエッジパターンを検出するカーネルが、物体検出モデルの基盤処理として組み込まれています。周囲の状況を正確に捉える最初の処理段階を担うことで、走行の安全性を支える基盤になっています。
5. 要点まとめ
- カーネルはCNNの畳み込み層で使う小さな重みの行列(フィルタ)で、画像上をスライドしながら積和演算を行い特徴マップを生成します。
- カーネルの重みは人が事前に設計するのではなく、誤差逆伝播法によって学習される点がディープラーニング以前の画像処理と異なります。
- 「カーネル」という言葉はSVMのカーネル法・OSのカーネルとは指す対象が異なる同名語で、CNN文脈では畳み込み層の重みの行列を意味します。
6. 確認問題
問1CNNの畳み込み層で使われるカーネルの重みは、あらかじめ人が設計した固定値ではなく、学習によって更新される。
解答・解説をみる
○ 正しい
誤差逆伝播法によって重みが自動的に更新される点が、人が手作業で設計する古典的な画像処理のフィルタとの違いにあたります。
問21つの畳み込み層には1種類のカーネルしか設定できず、複数の特徴を同時に検出することはできない。
解答・解説をみる
× 誤り
実際には1つの畳み込み層に複数のカーネルを設定でき、それぞれが異なる特徴を検出して個別の特徴マップを生成します。正しくは、カーネルの数だけ特徴マップの枚数が増えるという関係です。
問3G検定の文脈において、カーネルとフィルタはほぼ同じ意味で使われる用語である。
解答・解説をみる
○ 正しい
畳み込み層で使われる重みの行列は、カーネルとフィルタのどちらの呼び方でも表されます。同じ対象を指す呼び方の違いとして扱われます。

