畳み込み層は、多くのニューラルネットワーク、特に画像処理や信号処理に用いられるものの中核的な構成要素である。すべての入力ニューロンをすべての出力ニューロンに接続する全結合層とは異なり、畳み込み層は学習可能なフィルタ(カーネルとも呼ばれる)のセットをスライディングウィンドウ方式で入力全体に適用する。この操作は畳み込みとして知られ、エッジ、コーナー、テクスチャなどの局所的な特徴を検出し、これらのパターンが発生する場所を強調する特徴マップを生成する。この層の設計は、密な層と比較してパラメータ数を削減し、並進不変性を提供する。つまり、パターンは入力内の位置に関係なく認識できる。
畳み込み層は、生物学的な視覚野の研究、特に1960年代にデビッド・ヒューベルとトルステン・ウィーゼルが猫の視覚系のニューロンが局所的な刺激に反応することを発見した研究に触発された。初期の人工的な実装には、1980年の福島邦彦によるネオコグニトロンや、1990年代にヤン・ルカンが手書き数字認識に畳み込み層を用いたLeNetアーキテクチャが含まれる。それ以来、畳み込み層は深層学習において遍在するものとなり、医用画像から自動運転まで幅広い応用を支えている。
操作とハイパーパラメータ
畳み込み層は、入力テンソル(例えば、複数のカラーチャンネルを持つ2D画像)を受け取り、一連のフィルタを適用する。各フィルタは小さな重み行列であり、通常は3x3または5x5で、指定されたストライド(ステップサイズ)で入力全体をスライドする。各位置で、層はフィルタの重みと対応する入力パッチの間のドット積を計算し、単一の出力値を生成する。結果は各フィルタに対する2Dアクティベーションマップであり、これらのマップを深さ方向に積み重ねることで出力テンソルが形成される。
主要なハイパーパラメータには、フィルタサイズ、ストライド、パディング、フィルタ数が含まれる。パディング(多くの場合ゼロパディング)は出力の空間次元を制御し、層が入力サイズを維持したり縮小したりすることを可能にする。ストライドはダウンサンプリングに影響し、より大きなストライドは出力解像度を低下させる。フィルタ数は出力特徴マップの深さを決定し、各フィルタは異なるタイプの特徴を検出することを学習する。畳み込みの後、ReLU(正規化線形ユニット)などの活性化関数が通常適用され、非線形性を導入する。
パラメータ共有と局所接続
畳み込み層を全結合層から区別する2つの特性は、局所接続とパラメータ共有である。局所接続とは、各出力ニューロンが入力の小さな領域にのみ接続することを意味し、近くのピクセルは遠くのピクセルよりも相関が高いという考えを反映している。パラメータ共有とは、同じフィルタの重みがすべての空間位置で使用されることを意味し、学習可能なパラメータの数を劇的に削減する。例えば、3つの入力チャンネルと64の出力フィルタを持つ3x3フィルタは、333*64 = 1,728個の重みしか持たないが、256x256画像を処理する全結合層は数百万の重みを必要とする。この効率性により、畳み込み層は高次元の入力に対して実現可能となり、過学習の防止にも役立つ。
現代のアーキテクチャにおける役割
畳み込み層は、多くの古典的および現代的なネットワークアーキテクチャの基盤である。2015年にカイミン・ヒーらによって導入されたResidual Network (ResNet)は、スキップ接続を持つ畳み込み層を使用して非常に深いネットワーク(例えば、50、101、または152層)を訓練し、ImageNetで最先端の結果を達成した。医用画像セグメンテーション用に設計されたU-Netアーキテクチャは、空間的な詳細を保持するためのスキップ接続を持つエンコーダ-デコーダ構造で畳み込み層を採用している。さらに、畳み込み層は、訓練を安定させるためのバッチ正規化や、正則化のためのドロップアウトと組み合わせられることが多い。
画像以外にも、畳み込み層は音声(例えば、スペクトログラム)、テキスト(例えば、文字レベルの畳み込み)、時系列データに適用される。また、画像キャプション生成などのタスクのためにトランスフォーマーやマルチヘッドアテンションを組み込んだハイブリッドモデルでも使用される。トランスフォーマーは多くの領域で重要性を増しているが、畳み込み層は、局所的な特徴抽出と高解像度入力の効率的な処理を必要とするタスクにおいて依然として不可欠である。
訓練と最適化
畳み込み層は、フィルタの重みに関する勾配が計算され、ネットワークを通じて伝播されるバックプロパゲーションを使用して訓練される。標準的なオプティマイザは確率的勾配降下法 (SGD)またはAdamなどのその変種である(Adamオプティマイザを参照)。学習率スケジュールや重み初期化などのハイパーパラメータは収束に大きく影響する。データ拡張(例えば、ランダムクロップ、フリップ)などの技術は一般化の向上に役立つ。訓練中、フィルタは徐々にますます複雑な特徴を検出することを学習する。初期の層はエッジや色を捉え、より深い層はこれらを組み合わせてオブジェクトの部品や完全なオブジェクトにする。
制限と代替案
畳み込み層には、深さとともにのみ成長する固定の受容野があり、長距離依存関係を捉えるには非効率になる可能性があるという制限がある。また、ハイパーパラメータの慎重な調整が必要であり、特に大きな入力では計算集約的になる可能性がある。代替案や改善点には、パラメータを増やさずに受容野を拡張する拡張畳み込み、効率性のためにMobileNetで使用される深さ方向分離可能な畳み込み、空間位置を動的に重み付けするアテンションメカニズムが含まれる。これらの代替案にもかかわらず、畳み込み層は、NVIDIAやGoogle Cloudなどの企業によるハードウェア最適化に支えられ、深層学習システムにおける堅牢で広く使用される構成要素であり続けている。