Adam效果不好?Decouple Weight Decay Regulaization阅读笔记

2023-06-23 01:59:08 浏览数 (2)

论文首先发现问题,和其他相关研究类似,L2和weight decay在adam这种自适应学习率上的表现很差,导致很多人还是采用SGD momentum策略。类似的有相关研究,从各种方面出发,作者发现效果差的最主要原因是L2效果不好。因此其最主要的贡献是: improve regularization in Adam by decoupling the weight decay from the gradient-based update

论文主要结果:

  1. L2正则和weight decay是不同的
  2. L2正则不适合Adam
  3. weight decay对于SGD和adam是同样有效的

首先在SGD中,L2正则和weight decay是等价的,证明如下,因此之前很多人会把两者弄混淆。但是在自适应梯度方法中是不一样的。

证明:在SGD中,L2正则与weight decay等价

由定义可知如下,

f_{t}^{reg}(theta)=f_{t}(theta) frac{lambda}{2}parallelthetaparallel_{2}^{2}......L2正则定义
theta_{t 1}=(1-lambda)theta_{t}-alphabigtriangledown f_t(theta_t)......Weight Decay定义

其中α为学习率。

若,以L2正则更新梯度:

theta_{t 1}leftarrowtheta_{t}-alpha bigtriangledown f_{t}^{reg}(theta_t)
theta_{t 1}leftarrowtheta_{t}-alpha bigtriangledown (f_{t}(theta_t) frac{lambda^"}{2}paralleltheta_tparallel_{2}^{2})
theta_{t 1}leftarrow(1-alphalambda^")theta_{t}-alpha bigtriangledown f_{t}(theta_t)
令lambda=alphalambda^",即lambda^"=frac{lambda}{alpha}
theta_{t 1}leftarrow(1-lambda)theta_{t}-alphabigtriangledown f_t(theta_t),证毕

其实根据上面的推断可以看出来,lambda^"=frac{lambda}{alpha},因此要把学习率和L2权重系数解耦,让二者关联变小。接着作者就分别提出了SGD和Adam版本解耦的优化方案,SGDW和AdamW,然后在论文第三章,去证明解耦的合理性。后面就是都是证明实验啥的。

最后总结一下,AdamW总的来说比Adam更具有泛化性,尤其是在正则很重要的场景下效果会很好。

论文:https://arxiv.org/pdf/1711.05101.pdf

参考:关于量化训练的一个小tip: weight-decay - 知乎

0 人点赞