恩佐2登录 > SEO培训 > SEO算法如何评价优化算法 AdaBound?

SEO算法如何评价优化算法 AdaBound?

admin SEO培训 2020年01月01日

  总感觉这是媒体的捧杀,本来本科生写了一篇paper,很正常啊,而且还是很优秀的本科生才能在ICLR这样的会议上发文章,本来是一件很不错的事情,结果媒体来了一个拳打SGD,脚踢Adam的标题。。。。。。。。。。希望那几位作者能够继续踏实做科研,早日提出真正的拳打SGD,脚踢Adam的算法

  我们的论文被IJCAI录取了,分数和review都很不错,感谢大家的关心!

  但其实可以看出那篇best paper的确是更有启发性,后面的文章无一不在这篇文章的框架下或启发下。我个人认为几乎每篇文章的想法都是比较intuitive的,无非是从AMSGrad的证明中得到了启发( NosAdam),或是从AMSGrad构造的反例中得到了启发(AdaShift, AdaBound)。

  而NosAdam则和AdaBound非常像了。两个算法都用某种方法逐渐估计出了一个fixed learning rate,所以可以解读成“先Adam后SGD”,尽管这个想法早就有人实现过了(SWATS)。两篇文章都有理论证明,NosAdam里还有基于landscape的分析,对几种Adam类的算法比较都有讨论。而AdaBound则实验做得更好一点。

  最后说说实际效果,从我个人的经验来看,这些Adam类算法的变体是大同小异的,他们的表现一般情况下也跟Adam差不多,尤其是是否能优化成功,以及generalization performance。有一篇ICML2018的文章(Dissecting Adam)把Adam类算法的问题归于它的sign-based direction,有理论证明和实验验证。我觉得能说明一定问题。根据贵公司在复杂人脸识别问题上的经验看,目前还是没有什么可以代替momentum的,Adam类算法根本train不动。

  总结:作为research角度,这肯定是一篇有insight的文章,但实际效果和未来应用都有待观察,其他几篇Adam类文章也一样。

  最后,如果感兴趣,请移步NosAdam:7。欢迎讨论(求引用啊!作为作者,个人比较推荐Why Nostalgic一节,可能是相对来说会有一些些insight。

  顺便再蹭热度为贵司打波广告:旷视研究院常年招算法实习生,希望编程能力强/数学好/有志于算法落地/需要大量计算资源做科研的同学,都可以拿简历来砸我!旷视的人和科研环境不会让你失望。恩佐2登录/p>

  顺便再蹭热度为贵司打波广告:旷视研究院常年招算法实习生,希望编程能力强/数学好/有志于算法落地/需要大量计算资源做科研的同学,都可以拿简历来砸我!旷视的人和科研环境不会让你失望。/p

  我觉得,在真正理解了网络的loss landscape之前,说什么方法好,拿几个有限的实验验证都不能根本解决问题。 实际上收敛性能就是看loss lanscape的整体分布和局部特征,特别是泛化性能,一定和整体结构有关而不是仅仅是一个初始点附近的空间的特性。现在一些从二阶统计量谱的角度来考察的方法,我觉得是正途。了解了loss landscape的特征,选用何种优化更好就是一目了然的事了。

  首先是实验结果复现,的确得出了和论文一样的结果。使用ResNet34,数据集为CIFAR-10

  左边是调整SGD动量,可以看出,对于CIFAR-10这个数据集来说,不带动量和动量设置为0.5测试精度差不多。

  中间的是adabound和sgd带动量的对比,动量0.5在测试集上相差无几。

  右边的是sgd不带动量和adabound对比,可以看出训练的时候几乎没差别。

  最后看一下上边的朋友提到的网站,作者用shufflenet V2在imagenet上的实验,adabound和sgdm差别就比较大大了,前者67.734%,后者63.931%。但作者也不确定是不是自己的超参数设置有问题。

  显然,论文得到的实验结果是在默认设置下,前期和adam一样快,后期和得到和sgd一样的精度。通过调整动量,可以在小数据集(CIFAR-10)得到和adabound一样的速度,测试精度甚至还略高。

  imagenet这样大的数据集没有试,从reddit上看,似乎效果一般。

  之前有个回答,说是方法论差值,真的一点没说错。需要设置上下bound,还谈什么adaptive,真是个joke!

  说做imagenet没资源就更是搞笑了,我不信以usc和滴滴的资源,帮你们弄块1080ti都做不到!ICLR12月份出结果,到现在都两个多月了,就算是中了之后再补时间都戳戳有余了!

  如何评价,当然是跑了实验再评价啊,不跑怎么知道到底好不好,这毕竟是门实验科学(手动狗头)

  在imagenet上尝试了,亲测比SGDM+nestrov收敛速度快好多,但是差距会逐渐缩小,到最后几个epoch的accuracy最终被SGDM超过,整体训完AdaBound会差0.3个点左右

  关于参数问题,gamma没调,只是单纯的把lr对应SGD的数值整体缩小了100,final lr没调。可以说是随便一调就跑出了这个结果,感觉再调一调说不定就持平了?

  结论:图省事的话,该用SGD还是用SGD吧,至于用ADAM的或许可以考虑直接换一下Adabound,但不要指望涨点,fastai的ADAMW有时候能涨是线

  在时序预测任务上试了下Adabound, 收敛速度能感受到快了。顺便借楼推销下自己的文章AdaHMG算法。也是在Adam的基础上改进了一下(尤其适合于时间序列预测这种强时间关联性的回归任务),尽管发表的期刊不太好。但是希望各位大佬能看下我的文章,欢迎批评指正。来自知乎小透明的勇敢尝试。

  reddit上有相关讨论,网友habanero_ass_fire用这个算法训练了imagenet,发现到后期就训练不动了,作者的实验是基于CIFAR10这种小数据集做的,对于imagenet需要调整gamma参数。

  如果只是粗略地读一下论文,不理解gamma的含义,也不对gamma进行调参,直接用这个方法去训练imagenet,极大概率会获得一个较差的结果。

  建议相关公众号换换写作风格……每次出来什么东西都吹得神乎其神的还总是把一些无关的东西都放上去……

  源代码开源还可以直接用,我觉得对我这种并不了解优化算法的人很有帮助,作者在GitHub上也会回复问题,所以我觉得正面意义是很大的,至于好不好用,论文里给出了许多相关实验,我觉得大家想用的话就可以去踩踩坑之类的。我把我的一个做阅读理解的模型的Adamax换成了Adabound,F1下降了两分左右,但我没有用过sgd,作者也表示建议我换个SGD再对比一下,不过最近资源比较紧张,应该会暂时搁置下来orz

  个人觉得慢慢看吧, 如果真的很有效果, 我觉得 FAIR 会在 pytorch 中进行官方实现。

标签: seo算法