IT圈老男孩1 发表于 2022-1-7 18:22

从文中实验看,确实效果很好,但是和实际使用的情况有一定偏差。AdaBound和AmsBound(后面就简写一个AMSB)的收敛加速,实际类似于学习率衰减的效果,不过是这个衰减是通过它的bound自动地、逐渐地完成的。其他方法如果合理衰减学习率,可以取得类似加速。AMSB的泛函性高度依赖于最终的SGD学习率,和SGD类似,一般来说取得最优泛化性的学习率比最快收敛速度的学习率稍大,如果最终学习率过小,则泛化性会较差,如果提高最终学习率以提高泛化性,则收敛较慢。文中的收敛快和泛化性好同时成立,是建立在训练时间很长的基础上的,如CIFAR10上2000个epoch,如果衰减学习率的时间点提前,看似衰减时目标函数已经和最终差不多,实际泛化性确可能下降很多。以前做过一个对比。实验场景是CIFAR10上的ResNet20, NAMSB是AMSB+NAG,比AMSB稍快,最终泛化性类似。序号1代表收敛最快学习率,序号2代表泛化性最好的学习率。SGD同样epoch能取得的最佳泛化性及相应收敛速度与AMSB2类似,ADAM转SGD也差不多。(附图主要是说明最切换到的SGD学习率对收敛速度及泛化性的影响,不想重新画了,所以SGD和ADAM转SGD的线未加入)
整体上看,表现正常,相当于ADAM平滑切换到SGD。取得同样的最优泛化性,需要的最小epoch数和SGD差不多。


页: 1 2 [3]
查看完整版本: 如何评价优化算法 AdaBound?