畳み込み層

Convolutional Layer

畳み込み層とは

畳み込み層(Convolutional Layer)は、CNNの最も基本的な構成要素であり、入力データに対してフィルタ(カーネル)を適用して特徴を抽出する層です。画像処理においては、エッジ、コーナー、テクスチャなどの局所的なパターンを検出する役割を果たします。フィルタが入力データ上をスライドしながら要素ごとの積和演算を行い、特徴マップ(Feature Map)を生成します。

フィルタとカーネル

畳み込み層で使用されるフィルタは、小さな行列(例えば3x3や5x5)として定義されます。フィルタの各要素は学習可能なパラメータであり、訓練を通じてタスクに有用な特徴を検出するように最適化されます。複数のフィルタを使用することで、異なる種類の特徴を同時に抽出でき、これが多チャネルの特徴マップとなります。

パラメータ共有と局所結合

畳み込み層の重要な特性はパラメータ共有です。同じフィルタが入力の全位置で共有されるため、全結合層に比べてパラメータ数が大幅に少なくなります。これにより、画像のどの位置に特徴が現れても同じフィルタで検出でき、平行移動に対する不変性(Translation Equivariance)が得られます。

畳み込み層の発展

標準的な畳み込みに加えて、Depthwise Separable Convolution(MobileNetで使用)、Dilated Convolution(受容野を拡大)、Deformable Convolution(変形可能な受容野)など、さまざまな変種が提案されています。これらの手法は計算効率の向上や表現力の強化を目的としており、用途に応じて使い分けられています。