例を見る 'solver.prototxt'
、BVLC/caffe gitに投稿、トレーニングメタパラメーターがあります
weight_decay: 0.04
このメタパラメータの意味は何ですか?そして、どの値を割り当てる必要がありますか?
weight_decay
メタパラメータは、ニューラルネットの正則化項を管理します。
トレーニング中に、正則化項がネットワークの損失に追加され、backprop勾配が計算されます。 weight_decay
値は、この正則化項が勾配計算でどの程度支配的であるかを決定します。
経験則として、トレーニングの例が多いほど、この用語は弱くなります。より多くのパラメーター(つまり、より深いネット、より大きなフィルター、より大きなInnerProductレイヤーなど)があるほど、この用語は高くなります。
Caffeでは、L2
正則化(デフォルト)およびL1
設定による正則化
regularization_type: "L1"
ただし、ほとんどの場合、重みは小さい数値(つまり、-1<w<1
)、L2
重みのノルムは、L1
標準。したがって、regularization_type: "L1"
調整が必要な場合がありますweight_decay
を大幅に小さな値に。
学習率はトレーニング中に変化する可能性があります(通常は変化します)が、正則化の重みは全体的に固定されています。
重量減衰は、大きな重量にペナルティを科す正則化用語です。重み減衰係数が大きい場合、大きな重みのペナルティも大きくなります。小さな重みの場合、自由に成長できます。
より良い説明については、この答え(カフェに固有ではありません)を参照してください: ニューラルネット "weight decay" と "learning rate"の違い 。