畳み込み層 (G検定)

畳み込み層

1. 定義と概要

畳み込み層とは、入力画像や前段までの特徴マップに対して、フィルタを一定間隔ずつスライドさせながら特徴を抜き出す層です。重なり合う画素の値とフィルタの値を掛け合わせて足し合わせる計算を畳み込み演算(フィルタを画像に重ねて、対応する値どうしを掛けて足し合わせる計算)と呼び、その結果を特徴マップとして出力します。CNN(畳み込みニューラルネットワーク)の中核をなす構成要素であり、フィルタの重みを学習することで、画像に写るエッジや模様といった特徴を自動的に検出します。

畳み込み層が登場する以前のニューラルネットワークでは、画像を入力する際に画像データを1列に並べ替える必要があり、縦横の位置関係という空間的な情報が失われていました。さらに、層のあらゆる要素どうしを結びつけるため、学習すべきパラメータ(モデルが学習によって調整する数値)の数が膨大になるという課題も抱えていました。

畳み込み層は、生物の視覚野の働きを参考にした構造(福島邦彦のネオコグニトロンに端を発する)を取り入れ、画像を2次元のまま扱いながら一部の領域ずつ特徴を捉える方式によって、これらの課題に対処しています。2012年の画像認識コンテストでCNNを用いた深層学習モデルが従来の手法を大きく上回る成果を示したことをきっかけに、CNNは画像認識のデファクトスタンダード(業界の実質的な標準)となりました。

2. 試験対策ポイント

畳み込み層が画像からどのように特徴を抜き出すかという仕組みは、まず整理したい論点です。各ユニットが画像全体ではなく一部の領域だけを見る局所受容野(画像全体ではなく一部分だけを見る仕組み)は、生物の視覚野の働きを参考にした構造として説明されます。また、同一のフィルタの重みを画像全体の各位置で使い回す重み共有(同じフィルタを画像のどの場所にも使い回すこと)という仕組みもあります。

重み共有によって、位置によらず同じ特徴を検出できるうえ、全結合層(前の層のすべてのユニットと次の層のすべてのユニットをつなぐ層)と比べて学習すべきパラメータの数を大幅に抑えられます。全結合層は前の層のすべてのユニットと次の層のすべてのユニットを結びつけるため、位置ごとに個別の重みが必要になり、パラメータの数が膨らみやすい構造です。畳み込み層と全結合層のパラメータ数の違いは、取り違えやすい点です。

畳み込み層は通常、複数のフィルタを同時に使用し、フィルタの数だけ特徴マップが得られます。このとき出力されるデータの奥行き方向の数はチャンネル(画像データが持つ色や特徴の枚数を数える単位)と呼ばれ、フィルタの数に対応します。

CNNの基本構成としては、畳み込み層と活性化関数(層の出力に変換を加えて、複雑なパターンを表現できるようにする関数)の適用を行った後にプーリング層(特徴マップのサイズを一定のルールで小さくする層)を重ねる流れをとります。この流れを複数回繰り返した末に、最後は全結合層を経て出力する形が一般的です。

畳み込み演算をどのように当てるかを決める調整項目には、次のようなものがあります。

調整項目 何を決めるか
カーネル幅 フィルタの大きさ
ストライド フィルタをスライドさせる間隔
パディング 入力の境界の扱い

これらはいずれも畳み込み層の仕組みそのものとは切り離して、それぞれ別の論点として整理されています。畳み込み層の役割を押さえたうえで、個々の調整項目を順に確認していく流れが取り組みやすい進め方です。

3. 関連概念との比較・相違点

全結合層との最大の違いは、入力のどこを見るかという接続の範囲と、重みを共有するかどうかという点にあります。二つの層を観点ごとに並べると、次のように整理できます。

観点 畳み込み層 全結合層
接続の範囲 局所受容野に基づき一部の領域だけを見る 前の層のすべてのユニットと次の層のすべてのユニットを結ぶ
重みの扱い 同じフィルタの重みを画像全体で使い回す 位置ごとに個別の重みを持つ
パラメータ数 フィルタの大きさに応じて決まる 入力の大きさに比例して膨らみやすい

この違いによって、畳み込み層は全結合層に比べて学習すべきパラメータの数を大幅に少なく抑えられます。入力画像が大きくなるほど全結合層の重みは膨らんでいく一方、畳み込み層は同じフィルタを使い回すため、パラメータの数が際限なく増えることはありません。

プーリング層との最大の違いは、学習可能な重みを持つかどうかという点です。畳み込み層はフィルタという学習可能な重みを持ち、画像から特徴を抽出する役割を担う一方、プーリング層は学習パラメータを持たず、特徴マップのサイズを一定のルールで縮小する処理だけを行います。両者は役割が異なるものの、CNNでは畳み込み層の直後にプーリング層を配置するセットが繰り返し登場する構成となっています。

4. ビジネス・実務での活用シナリオ

製造業では、外観検査カメラが捉えた画像から傷や異物といった微細な特徴を畳み込み層が自動的に抽出し、これまで目視に頼っていた検査工程の省人化と検出精度の底上げにつながっています。人の目では見落としがちな微小な傷も、フィルタを通した特徴抽出によって一定の基準で捉えられるようになる点が実務上の価値です。

医療の分野では、CTやMRIといった医用画像から病変らしき領域の特徴を畳み込み層が捉え、画像診断の一次スクリーニング(本格的な診断の前段階で行う絞り込み)を支援する用途に活用されています。医師の目視確認だけに頼らず、畳み込み層による特徴抽出を補助的に組み込むことで、見落としを防ぐ確認の仕組みを補う狙いがあります。

自動運転や防犯の領域でも、車載カメラや監視カメラの映像から歩行者・車両・不審物といった特徴を畳み込み層が検出し、後段の物体検出処理へとつなげる役割を果たします。映像という大量のデータから必要な特徴だけを抜き出す働きが、これらのリアルタイム処理を支える土台になっています。

5. 要点まとめ

  • 畳み込み層は、フィルタ(カーネル)を入力にスライドさせる畳み込み演算で特徴マップを出力する層で、局所受容野に基づき画像の一部ずつ特徴を捉えます。
  • 同一のフィルタの重みを画像全体で使い回す重み共有の仕組みにより、全結合層に比べて学習パラメータの数を大幅に抑えられます。
  • 畳み込み層は学習可能な重み(フィルタ)を持つ点でプーリング層と異なり、CNNでは畳み込み層とプーリング層のセットを重ねた末に全結合層へつなぐ構成をとります。

6. 確認問題

問1畳み込み層は、入力画像の一部の領域(局所受容野)に対してフィルタを適用し、特徴マップを出力する。

解答・解説をみる

○ 正しい

畳み込み層は画像全体を一度に見るのではなく、局所受容野として一部の領域ずつフィルタを当てて、特徴マップを出力する構造を持ちます。生物の視覚野の働きを参考にした仕組みとして説明されます。

問2畳み込み層は同一のフィルタの重みを画像全体で使い回す重み共有の仕組みを持つため、全結合層と比べて学習すべきパラメータの数を抑えられる。

解答・解説をみる

○ 正しい

重み共有により位置ごとに別々の重みを持つ必要がなくなり、全結合層と比較して学習パラメータの数が大幅に少なくなります。

問3畳み込み層は学習可能な重みを持たず、特徴マップのサイズを一定のルールで縮小するだけの処理を行う層である。

解答・解説をみる

× 誤り

学習可能な重みを持たずサイズ縮小のみを行うのはプーリング層の役割です。正しくは、畳み込み層はフィルタという学習可能な重みを持ち、画像から特徴を抽出する層です。両者の役割を入れ替えた記述は混同されやすい点です。