2016-10-08 9 views
1

私はcaffeフレームワークの下で次のコードを見ました。コード全体はtrain_val.prototxtsolver.prototxtと書いています。カフェバクテリア層はbase_lrに影響するか?

# Use different initial learning rate. 
if use_batchnorm: 
    base_lr = 0.0004 
else: 
    base_lr = 0.00004 

なぜ基本学習率が異なるのですか?

答えて

0

this paperが役立つ場合は試してみることができます。 正規化を使用しない場合は、学習率を下げることを意味する「より慎重に」訓練する必要があると言われています。最初のページをスキミング

は、私はそれがこのように動作します想像することができます:いくつかの非線形性のために

、「良い入力値の範囲は」そこだし、バッチノルムは、その範囲に値をもたらします。入力値が高いと値が悪くなり、彩度が高くなります(関数の傾斜が小さく、「勾配が消える」)。

正規化していない場合、ネット内で高い値につながるウェイトへの「ジャンプ」を避けるために、より小さなステップ、つまり学習率を下げる必要があります。また、ウェイトをどのように初期化するかをより慎重にする必要があります。あなたがReLusを使用するかどうかは、それほど問題ではないと思います。しかし、他の誰かがReLusと異なる経験をしているなら、私を修正してください。

関連する問題