1. 定義と概要
カーネル幅とは、畳み込み層で入力データをスキャンする正方形のフィルター、カーネル(画像から特徴を検出するために使う、小さな数値の格子。フィルターとも呼ばれます)の一辺のマス数を指すハイパーパラメータ(モデルの学習前に人があらかじめ決めておく設定値)で、カーネルサイズやフィルターサイズとも呼ばれます。代表的な幅は3×3・5×5・7×7で、中心のマスを一意に定めやすいことから奇数の幅が使われることが多くあります。
カーネル幅は、ストライド(フィルターを動かすときに一度に進むマスの数)やパディング(入力画像の周囲を0などの値で埋めてサイズを調整する処理)と組み合わさる値です。この3つの値が、出力される特徴マップ(畳み込み演算の結果としてできる、入力の特徴を表した新しい2次元データ)のサイズを決めます。
初期のCNN(AlexNet)などでは、11×11や5×5のような大きいカーネル幅が使われていました。しかし、フィルターが持つパラメータ(モデルが学習によって調整する重みの数)は、カーネル幅の2乗に比例して増えるため、大きい幅は計算コストとメモリ消費の増大という課題を伴います。
2014年に登場したVGG(3×3の小さいフィルターを何層も重ねる設計で知られる画像認識モデル)では、3×3という小さいカーネル幅を複数層重ねる設計に転換されました。この設計転換により、広い受容野(出力側の1マスが、入力画像のどれだけ広い範囲の情報を反映しているかを示す範囲)を確保しながらパラメータ数を抑える方向へと主流が移りました。
2. 試験対策ポイント
理解するうえで中心になるのは、出力される特徴マップのサイズを求める計算です。サイズは「(入力サイズ+2×パディング−カーネル幅)÷ストライド+1」という式で決まり、カーネル幅・ストライド・パディングの3値を組み合わせて求める計算がここでの要点です。
受容野はカーネル幅が大きいほど1層あたりで広く確保できますが、その分パラメータ数と計算量はカーネル幅の2乗に比例して増加します。VGGの設計思想として、5×5のカーネルを1層使うと25個の重みが必要になるのに対し、3×3を2層重ねると同程度の受容野を18個の重みで確保できます。
層を重ねる分だけ活性化関数(ニューロンの出力に非線形の変換を加える関数)を挟む回数が増えるため、非線形性(入力と出力が単純な比例関係にとどまらず複雑に変化する性質)も高まります。小さいカーネル幅を積み重ねる設計は、パラメータの削減と表現力の向上を両立する工夫として位置づけられます。
カーネル幅は畳み込み層の値であり、後段のプーリング層(特徴マップを縮小して情報を要約する層で、学習する重みを持ちません)のウィンドウサイズと役割を取り違えやすい点です。
3. 関連概念との比較・相違点
カーネル幅の周辺には、どれも「窓の大きさや動かし方」に関わる似た値が並びます。それぞれが何を決めている値なのかを整理すると次のようになります。
| 値 | 決めているもの |
|---|---|
| カーネル幅 | 一度にどれだけ広い範囲を見るかという、フィルターの大きさ |
| ストライド | フィルターをどこへ動かすかという、移動の歩幅 |
| パディング | 入力の周囲を埋めて、畳み込み後のサイズ縮小をどう補うか |
| プーリング層のウィンドウサイズ | 特徴マップを縮小するとき、どの範囲から値を要約するか |
ストライドとの最大の違いは、カーネル幅がフィルターの大きさ、つまり一度にどれだけ広い範囲を見るかを決めるのに対し、ストライドはフィルターを動かす歩幅、つまりどこを見るかを決める点にあります。両方とも出力サイズの計算式に含まれますが、担う役割は異なります。カーネル幅を固定してストライドだけを大きくすると、見る範囲は変わらないまま出力される特徴マップのマス数が粗くなります。
パディングとの違いは、カーネル幅が受容野とパラメータ数に影響する値であるのに対し、パディングは入力の周囲を0などで埋めて畳み込み後のサイズ縮小を調整するための値である点です。カーネル幅を大きくするほど出力サイズは縮みやすくなるため、パディングでその縮小分を補う組み合わせもよく用いられます。
プーリング層のウィンドウサイズとの違いは、重みを学習するかどうかにあります。どちらも入力を格子状に区切る「窓」ですが、畳み込み層のカーネルは重みを学習して特徴を抽出するのに対し、プーリング層の窓は最大値や平均値を取るだけで学習パラメータを持ちません。この違いから、カーネル幅とプーリング層のウィンドウサイズは、同じ「窓」でも別の役割を持つ値として扱われます。
4. ビジネス・実務での活用シナリオ
画像分類・顔認証の分野では、VGGやResNet(層を飛び越える経路を持たせることで、層数が非常に深いモデルでも学習を安定させる設計で知られる画像認識モデル)系のモデルが広く使われています。3×3という小さいカーネル幅を多層重ねる設計により、浅い層で輪郭や模様といった細かい特徴を、深い層で顔全体のような広い特徴を段階的にとらえ、認識精度を高めています。
医療画像診断の分野では、CTやMRIのような高解像度画像を扱う際にカーネル幅を大きくすると計算コストが急増するため、小さいカーネル幅を積層する設計と計算リソースの制約とのバランスが実務のモデル設計で重視されています。
モバイルやエッジデバイスでの推論(学習済みモデルを使って答えを出す処理)の分野では、スマートフォンのような限られた計算資源で軽量モデルを動かします。3×3程度の小さいカーネル幅を使う畳み込みを工夫して分解し、推論速度と精度のトレードオフを取る設計がとられています。
5. 要点まとめ
- カーネル幅は畳み込みフィルターの一辺のマス数を指すハイパーパラメータで、ストライド・パディングと組み合わさって出力特徴マップのサイズを決めます。
- カーネル幅が大きいほど1層あたりの受容野は広がりますが、パラメータ数と計算量は幅の2乗に比例して増えます。
- VGG以降は3×3のような小さいカーネル幅を積層する設計が主流で、同程度の受容野をより少ないパラメータで確保しながら非線形性も高めています。
6. 確認問題
問1カーネル幅が大きいほど1層あたりで確保できる受容野は広くなり、その分パラメータ数と計算量も増加する。
解答・解説をみる
○ 正しい
カーネル幅を大きくすると一度に見る範囲である受容野は広がる一方、重みの数はカーネル幅の2乗に比例して増え、計算コストも大きくなります。
問2畳み込み層の出力特徴マップのサイズは、入力サイズとストライドだけで決まり、カーネル幅は影響しない。
解答・解説をみる
× 誤り
正しくは、出力サイズは入力サイズ・カーネル幅・ストライド・パディングの4値から計算式で求められます。カーネル幅を無視した記述は誤りです。
問35×5のカーネルを1層使う場合と、3×3のカーネルを2層重ねる場合とでは、後者の方が同程度の受容野をより少ないパラメータ数で確保できる。
解答・解説をみる
○ 正しい
5×5は1層で25個の重みが必要ですが、3×3を2層重ねると同程度の受容野を18個の重みで確保でき、VGGの設計思想にあたります。

