3
我正在使用BatchNorm圖層。我知道設置use_global_stats
的意思,通常設置false
用於培訓,true
用於測試/部署。這是我在測試階段的設置。不同的學習速度會影響蝙蝠科技的設置。爲什麼?
layer {
name: "bnorm1"
type: "BatchNorm"
bottom: "conv1"
top: "bnorm1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "scale1"
type: "Scale"
bottom: "bnorm1"
top: "bnorm1"
bias_term: true
scale_param {
filler {
value: 1
}
bias_filler {
value: 0.0
}
}
}
在solver.prototxt中,我使用了Adam方法。我發現一個有趣的問題發生在我的案例中。如果我選擇base_lr: 1e-3
,那麼當我在測試階段設置use_global_stats: false
時,我獲得了很好的性能。但是,如果我選擇base_lr: 1e-4
,那麼當我在測試階段設置use_global_stats: true
時,我獲得了很好的性能。它證明base_lr
對蝙蝠科技術設置的影響(甚至我使用Adam方法)?你能提出任何理由嗎?謝謝全部
感謝您的回答。 「相鄰層匯聚到不同點」意味着局部最優。這樣對嗎?如果它是正確的,也許學習率太小 – KimHee
@KimHee通常使用「Adam」求解器,往往會將base_lr設置得比其他解算器高一點。 – Shai
您認爲與SGD相比,Adam solver對所有網絡來說總是更好嗎? – KimHee