これは、「畳み込みネットワークを使用した効率的なオブジェクトのローカリゼーション」という論文を参照しており、ドロップアウトは2Dで実装されていると理解しています。
空間2Dドロップアウトの実装方法に関するコードをKerasから読んだ後、基本的に形状[batch_size、1、1、num_channels]のランダムバイナリマスクが実装されます。しかし、この空間2Dドロップアウトは、形状[batch_size、height、width、num_channels]の入力コンボリューションブロックに対して正確に何をしますか?
私の現在の推測では、ピクセルのレイヤー/チャンネルのいずれかが負の値を持っている場合、そのピクセルのチャンネル全体がデフォルトでゼロになります。これは正しいです?
しかし、私の推測が正しい場合、元の入力ブロックの次元に正確にある形状[batch_size、height、width、num_channels]のバイナリマスクを使用すると、通常の要素ごとのドロップアウトが得られます(これはバイナリマスクの形状を入力の形状として設定するtensorflowの元のドロップアウト実装)convブロックのピクセルが負の場合、convブロック全体がデフォルトで0になります。これは、私がよく理解していない紛らわしい部分です。