随后便要根据后向传播中得到得diff更新权重和偏置 

ApplyUpdate(位于sgd_solver.cpp) 

caffe:debug之参数更新过程(接上篇反向传播)

上图便为update函数,可见,参数学习得步骤为:得到学习率,正则化梯度后 

 

归一化,正则化,然后更新数据。 

 

首先来看GetLearningRate()  (sgd_solver.cpp) 

函数封装了各种样式的学习率衰减方式 

caffe:debug之参数更新过程(接上篇反向传播)

 

caffe:debug之参数更新过程(接上篇反向传播)

 

继续往下  

caffe:debug之参数更新过程(接上篇反向传播)

笔者猜测本例为是否使用L2正则化梯度,本例中不需正则化,所以直接return 

 

随后便是Normalize 

caffe:debug之参数更新过程(接上篇反向传播)

 

然后进入Regularize,此处是L2 

caffe:debug之参数更新过程(接上篇反向传播)

 

caffe:debug之参数更新过程(接上篇反向传播)

 

随后便是计算更新的参数 

caffe:debug之参数更新过程(接上篇反向传播)

 

相关文章:

  • 2022-12-23
  • 2021-09-09
  • 2021-09-10
  • 2021-10-15
  • 2021-06-22
  • 2021-12-20
  • 2022-01-02
  • 2021-12-11
猜你喜欢
  • 2021-04-24
  • 2021-10-03
  • 2022-01-26
  • 2021-05-17
  • 2021-10-21
  • 2021-04-02
相关资源
相似解决方案