この質問は、「畳み込み層が正確にどのように機能するか」に要約されます。
私が持っていると仮定しグレースケール画像を表示します。したがって、画像には1つのチャネルがあります。最初のレイヤーでは、k 1個のフィルターとパディングを使用して3 × 3の畳み込みを適用します。次に、5 × 5の畳み込みとk 2フィルターを備えた別の畳み込み層があります。フィーチャーマップはいくつありますか?
タイプ1畳み込み
最初のレイヤーが実行されます。その後、特徴マップ(各フィルターに1つ)があります。これらはそれぞれ、サイズn × mです。すべての単一のピクセルを取ることにより作成された3 ⋅ 3 = 9つのパディングされた入力画像から画素を。
次に、2番目のレイヤーが適用されます。すべての単一フィルターは、各機能マップに個別に適用されます。これにより、k 1 個のすべての特徴マップに対して個の特徴マップが生成されます。したがって、2番目のレイヤーの後にk 1 × k 2の特徴マップがあります。新しい特徴マップの各のすべての単一のピクセルを取ることによって作成されました5 ⋅ 5 = 25前からパッド入りの特徴マップの「ピクセル」。
システムが学習する必要がありのパラメータを。
タイプ2.1畳み込み
前と同様:最初のレイヤーが実行されます。その後、特徴マップ(各フィルターに1つ)があります。これらはそれぞれ、サイズn × mです。すべての単一のピクセルを取ることにより作成された3 ⋅ 3 = 9つのパディングされた入力画像から画素を。
以前とは異なり、2番目のレイヤーが適用されます。単一のフィルターはすべて同じ領域に適用されますが、以前のすべての機能マップが適用されます。これにより、2番目のレイヤーが実行された後、合計で個の機能マップが作成されます。新しい特徴マップの各のひとつひとつのピクセルは、服用によって作成しまっkは2 ⋅ 5 ⋅ 5 = 25 ⋅ K 2パディング機能の「ピクセル」は以前からマッピングされます。
システムが学習する必要がありのパラメータを。
タイプ2.2畳み込み
上記のように、代わり有すると学習すると、単に他の入力特徴マップのコピーを取得したフィルタごとにパラメータを、次のものがK 1 ⋅ 3 ⋅ 3 + K 2 ⋅ K 1 ⋅ 5 ⋅ 5つの偶然にし学ぶ必要があります。
質問
- タイプ1またはタイプ2は通常使用されますか?
- Alexnetではどのタイプが使用されますか?
- GoogLeNetではどのタイプが使用されますか?
- タイプ1と言うと、なぜ畳み込みが意味をなさないのですか?データに定数を掛けるだけではありませんか?
- タイプ2と言う場合、2次コストを説明してください(たとえば、ディープビジョンネットワークでは、2つの畳み込み層が連鎖している場合、フィルターの数が均一に増加すると、計算が2次増加します)
すべての答えについて、あなたの答えが正しいといういくつかの証拠(論文、教科書、フレームワークのドキュメント)を提供してください。
ボーナス質問1
プーリングは常に機能マップごとにのみ適用されますか、それとも複数の機能マップに対しても実行されますか?
ボーナス質問2
私の研究
- 上記の2つの論文を読みましたが、何が使われているのかまだわかりません。
- ラザニアのドキュメントを読みました
- theanoのドキュメントを読みました
- 畳み込みニューラルネットワークの理解に関する回答を読みました(すべてのリンクをたどることなく)
- 畳み込みニューラルネットワーク(LeNet)を読みました。特に図1は、タイプ2.1が正しいものであることを比較的確信しています。これは、GoogLe Netの「2次コスト」コメントや、Caffeeでの実際の経験にも当てはまります。