畳み込みニューラルネットワーク(CNN)
畳み込みニューラルネットワーク(CNN)がコンピュータビジョンに革命をもたらし、ヘルスケア、自動運転車などでAIを強化している様子をご覧ください。
畳み込みニューラルネットワーク(CNN)は、画像など、グリッド状のトポロジーを持つデータを処理するのに非常に効果的な、特殊なタイプのニューラルネットワーク(NN)です。人間の視覚皮質に触発されたCNNは、入力データから特徴の空間的階層を自動的かつ適応的に学習します。これにより、画像分類から物体検出まで、あらゆる分野で最先端の結果を達成しており、最新のコンピュータビジョン(CV)タスクのほとんどの基盤となるアーキテクチャとなっています。
CNNの仕組み
ある層のすべてのニューロンが次の層のすべてのニューロンに接続されている標準的なニューラルネットワークとは異なり、CNNは畳み込みと呼ばれる特別な数学的演算を使用します。これにより、ネットワークは局所的な受容野で特徴を学習し、ピクセル間の空間的関係を保持できます。
一般的なCNNアーキテクチャは、いくつかの主要なレイヤーで構成されています。
- 畳み込み層: これは、フィルター(またはカーネル)が入力画像をスライドして特徴マップを生成する、コアとなる構成要素です。これらのマップは、エッジ、コーナー、テクスチャなどのパターンを強調表示します。これらのフィルターのサイズと検出するパターンは、モデルの学習中に学習されます。
- 活性化レイヤー: 各畳み込みの後、非線形性を導入するためにReLUのような活性化関数が適用され、モデルがより複雑なパターンを学習できるようになります。
- プーリング(ダウンサンプリング)層: この層は、特徴マップの空間次元(幅と高さ)を縮小し、計算負荷を軽減するとともに、検出された特徴の位置や向きの変化に対するロバスト性を高めます。このトピックに関する古典的な論文は、ImageNet Classification with Deep Convolutional Neural Networksです。
- 全結合層: いくつかの畳み込み層とプーリング層の後、高レベルの特徴量は平坦化され、全結合層に渡されます。全結合層は、学習された特徴に基づいて分類を実行します。
CNNと他のアーキテクチャの比較
CNNは深層学習モデルの一種ですが、他のアーキテクチャとは大きく異なります。
- ニューラルネットワーク(NN): 標準的なNNは、入力データをフラットなベクトルとして扱い、すべての空間情報を失います。CNNはこの情報を保持するため、画像分析に最適です。
- Vision Transformer(ViT):空間的な局所性に対する強い帰納的バイアスを持つCNNとは異なり、 ViT 画像をパッチのシーケンスとして扱い、使用します。 自己注意(self-attention) グローバルな関係を学習するメカニズム。ViTはトレーニングにより多くのデータを必要とすることが多いですが、長距離のコンテキストが重要なタスクで優れています。多くの最新モデル、例えば、 RT-DETR。CNN
backbone Transformerベースで detection head.
実際のアプリケーション
CNNは、数え切れないほどの現実世界のアプリケーションの原動力となっています。
ツールとフレームワーク
CNNの開発とデプロイは、強力なツールとフレームワークによってサポートされています。