入力層に複数のチャネルが存在する場合、畳み込み演算はどのように実行されますか? (RGBなど)畳み込みニューラルネットワーク - 複数のチャネル
CNNのアーキテクチャ/実装について読んだ後、フィーチャマップの各ニューロンは、カーネルサイズで定義された画像のNxMピクセルを参照することを理解しています。各ピクセルは、次に、特徴マップ学習されたN×M重み付け集合(カーネル/フィルタ)によって因数分解され、合計され、活動化関数に入力される。
for i in range(0, image_width-kernel_width+1):
for j in range(0, image_height-kernel_height+1):
for x in range(0, kernel_width):
for y in range(0, kernel_height):
sum += kernel[x,y] * image[i+x,j+y]
feature_map[i,j] = act_func(sum)
sum = 0.0
私は複数のチャネルを処理するためにこのモデルを拡張する方法を理解していないしかし:シンプルなグレースケール画像の場合、私は操作が何かは以下の擬似コードに従うだろうと想像します。各カラー間で共有される、機能マップごとに3つの別々のウェイトセットが必要ですか?別のニューロンから参照される色の特徴マップの参照層M-1でhttp://deeplearning.net/tutorial/lenet.html 各ニューロンをこのチュートリアルの「共有ウェイト」セクションを参照
。私は彼らがここで表現している関係を理解していません。ニューロンのカーネルやピクセルは何ですか?また、画像の別の部分を参照する理由は何ですか?
私の例によると、単一のニューロンカーネルは画像内の特定の領域に限定されているように見えます。なぜRGBコンポーネントを複数の領域に分割したのですか?
stats.stackexchangeに属しているため、この質問を議論の対象外としています。 – jopasserat