1

一般に、畳み込み層の間にmax-pooling層を挿入します。主なアイデアは、convの機能を「要約」することです。層。しかし、挿入するタイミングを決めるのは難しいです。私はこれの背後にいくつか質問があります:畳み込み層の間にプール層を挿入する場合

  1. どのくらいのconvを決定するか。我々は最大プールを挿入するまであまりにも多くの/いくつかのコンバージョンの効果は何ですか? max-poolingのサイズを小さくすると、

  2. のようになります。もし我々が非常に深いネットワークを使いたいなら、私たちは多くのmaxpoolingを行うことができません。さもなければ、サイズは小さすぎます。たとえば、MNISTには28x28の入力しかありませんが、実験に非常に深いネットワークを使用している人がいるので、非常に小さいサイズになる可能性があります。実際にはサイズが小さすぎる(極端な場合、1x1)、それは完全に接続されたレイヤーのように、コンボルーションをしているような感じはしません。

私は黄金の役割がありません知っているが、私はちょうどネットワーク

+1

ストライド1を指定してmax-poolを実行すると、サイズは保持されます – asakryukin

答えて

0
  1. あなたが正しいを実装するとき、私は合理的な選択をすることができるように、この背後にある基本的な直感を把握したい、何もありません1つの最良の方法、それと同じように、最良のフィルタサイズまたは1つの最良のニューラルネットワークアーキテクチャが一般的にないように。

    VGG-16 ..プール層間2-3畳み込み層(下図)、VGG-19は、4層まで使用しています...

    vgg-16

    を使用しGoogleNetは信じられないほどの適用しますmaxpooling層

    google-net

    それぞれの新しい層との間に、時には並行しにおける畳み込み(ピクチャブロー)の数は、明らかに、そのように、ネットワークの柔軟性を増加させることより複雑なターゲット関数を近似することができます。一方、それは訓練のためのより多くの計算を必要とするが、1x1 convolution trickを使用して計算を保存することは一般的である。どのくらいの柔軟性がネットワークが必要ですか?データに大きく依存しますが、通常2-3層はほとんどのアプリケーションで十分柔軟であり、追加の層はパフォーマンスに影響を与えません。さまざまな深さのモデルを相互検証するよりも優れた戦略はありません。 Fractional Poolingこれは既知の問題であり、私はここであまりにも積極的なダウンサンプリングを扱う一つの特定の技術に言及したいと思います

  2. (写真はthis blog-postからです)。アイデアは、任意の比率で画像を縮小する層で異なるニューロンため異なるサイズ受容野を適用することである:90%、75%、66%、等

    fmp

    これには以下のいずれか非常に良い精度(0.32%のテストエラー)を示したMNISTの数字のような小さな画像のために、特により深いネットワークを作る方法。

関連する問題