Machine learning 不同的学习速率会影响批量定额设置。为什么?

Machine learning 不同的学习速率会影响批量定额设置。为什么?,machine-learning,neural-network,deep-learning,caffe,Machine Learning,Neural Network,Deep Learning,Caffe,我正在使用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:

我正在使用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\u lr:1e-3
,那么当我在测试阶段设置
use\u global\u stats:false
时,我获得了良好的性能。但是,如果我选择了
base\u lr:1e-4
,那么当我在测试阶段设置
use\u global\u stats:true
时,我获得了良好的性能。它演示了
base\u lr
对batchnorm设置的影响(即使我使用了Adam方法)?你能提出什么理由吗?感谢大家

AFAIK学习率不会直接影响
“BatchNorm”
层的学习参数。实际上,caffe强制该层所有内部参数的
lr\u mult
为零,无论
base\u lr
或解算器的
类型如何。

但是,您可能会遇到这样一种情况,即相邻层根据您使用的
基本lr
汇聚到不同的点,这间接地导致
“BatchNorm”
的行为不同。

谢谢您的回答
相邻层收敛到不同点
表示局部最优。是这样吗?如果正确的话,也许学习率太高了small@KimHee通常使用
“Adam”
解算器时,一个人倾向于将
base\u lr
设置得比其他解算器高一点。你认为与SGD相比,Adam解算器在所有网络中都更好吗?@KimHee I don;我不认为我有资格回答这样的问题。