web-dev-qa-db-ja.com

Keras Conv2D:フィルターとkernel_size

これら2つの違いは何ですか?また、畳み込みネットワークのより一般的なコンテキストで説明するのに役立ちます。

また、補足として、チャネルとは何ですか?言い換えれば、私のための3つの用語を分解してください:チャンネル対フィルター対カーネル。

8
Baron Yugovich

各畳み込み層は、いくつかの畳み込みチャネル(別名、深さまたはフィルター)で構成されます。実際には、それらの数は64,128,256, 512などです。これは、畳み込み層の出力のチャネルの数に等しくなります。一方、kernel_sizeはこれらの畳み込みフィルターのサイズです。実際には、それらは3x3, 1x1 or 5x5です。略称として、それらは実際にはほとんど正方形であるため、1 or 3 or 5と書くことができます。

編集

次の引用は、より明確にする必要があります。

vlfeatについての議論

Xが、ネットワーク内のフィルターN(サイズW x H x D x N)を含む畳み込み層へのサイズFW x FH x FD x K(ここでFはバッチのサイズ)の入力であるとします。

フィーチャチャネルの数Dは、ここでの入力Xの3番目の次元です(たとえば、入力がカラーイメージで構成されている場合、これは通常、ネットワークへの最初の入力で3です)。フィルターの数Kは、Fの4番目の次元です。レイヤー内のフィルターの数がKである場合、K個のフィーチャチャネルを含む出力が生成されるため、2つの概念は密接に関連しています。そのため、次のレイヤーへの入力にはKフィーチャチャネルが含まれます。

上記のFW x FHは、探しているフィルターのサイズです。

追加

filters に精通している必要があります。各フィルターは、生の画像から何らかのタイプの特徴を抽出する責任があると考えることができます。 CNNはそのようなフィルターを学習しようとします。つまり、フィルターはCNNでパラメーター化され、CNNのトレーニング中に学習されます。これらはCNNのフィルターです。 Conv2Dの各フィルターを各入力チャンネルに適用し、これらを組み合わせて出力チャンネルを取得します。したがって、フィルターと出力チャンネルの数は同じです。

5
Dinesh