畳み込みニューラルネットワーク(CNN)は、画像や動画などのグリッド状データの処理に特に有効な、特殊なタイプのニューラルネットワーク(NN)である。入力を平坦なベクトルとして扱う従来のニューラルネットワークとは異なり、CNNは入力データから直接、特徴の空間的階層を自動的かつ適応的に学習するように設計されている。これは主に畳み込み演算の適用によって実現され、現代のコンピュータ・ビジョン(CV)の礎石となり、人工知能(AI)の著しい進歩を牽引している。局所的な依存関係や空間的な関係を捉えることができるため、ピクセルの配置が重要なタスクに非常に適している。
コア・コンポーネントと機能
CNNは通常、視覚情報を処理・変換するいくつかの主要なレイヤーから構成される:
- 畳み込み層:CNNの基礎となる層。学習可能なフィルター(カーネル)のセットを入力画像に適用する。各フィルタはエッジ、コーナー、テクスチャなど特定の特徴を検出する。フィルターが入力上をスライド(畳み込み)すると、検出された特徴の位置と強さを強調する特徴マップが生成される。ネットワークはモデルの学習過程でこれらのフィルターを自動的に学習する。
- 活性化層:畳み込み層に続いて、ReLU(Rectified Linear Unit)やLeaky ReLUのような活性化関数が非線形性を導入する。これにより、ネットワークは単純な線形結合を超えた、より複雑なパターンを学習することができる。
- プーリングレイヤー:これらのレイヤーは、特徴マップの空間次元(幅と高さ)を縮小し、計算負荷を軽減し、オーバーフィッティングを抑制する。一般的な手法には、局所領域で最大値をとるマックス・プーリングがあり、特徴位置のばらつきに対してネットワークがよりロバストになります。プーリング手法の概要に、より詳細な説明があります。
- 完全接続層:一般的にネットワークの末尾に位置するこの層は、伝統的なフィードフォワード・ニューラルネットワークと同様に、前の層のすべてのニューロンを現在の層のすべてのニューロンに接続する。畳み込み層とプーリング層によって抽出された高レベルの特徴を使用して、画像に最終的なラベルを割り当てるような、分類または回帰タスクを実行する。
他のニューラルネットワークとの主な違い
CNNは、他のネットワークタイプとは異なるユニークな特徴を持っている:
- 空間階層:基本的なNNとは異なり、CNNは空間的関係を明示的にモデル化する。初期のレイヤーは単純な特徴(エッジ)を検出し、より深いレイヤーはそれらを組み合わせてより複雑なパターン(形状、物体)を認識する。この階層構造は人間の視覚処理を模倣している。
- パラメータ共有:単一のフィルターが入力画像の異なる部分に適用されるため、同じ画像を処理する完全連結ネットワークに比べて、パラメーターの総数が大幅に削減される。これによりCNNはより効率的になり、特に大きな画像でオーバーフィッティングを起こしにくくなる。フィルターが任意の点でカバーする領域は、その受容野として知られている。
- 並進不変性:プーリングとパラメータ共有により、CNNは画像内でオブジェクトの位置が多少ずれても認識できる。
- 対リカレント・ニューラル・ネットワーク(RNN):CNNが画像のような空間データの処理を得意とするのに対し、リカレント・ニューラル・ネットワーク(RNN)はシーケンシャルなデータ用に設計されているため、自然言語処理(NLP)や時系列分析などのタスクに適している。