©PaperWeekly 原创 · 作者|张子逊
研究方向|神经网络剪枝、NAS
在神经网络优化的研究中,有研究改进优化器本身的(例如学习率衰减策略、一系列 Adam 改进等等),也有不少是改进 normalization 之类的技术(例如 Weight Decay、BN、GN 等等)来提高优化器的性能和稳定性。除此之外,还有一个比较常见的技术就是 Weight Averaging,也就是字面意思对网络的权重进行平均,这也是一个不错的提高优化器性能/稳定性的方式。
Stochastic Weight Averaging in Parallel
这篇文章是对上面的 SWA 在并行优化中的一个应用。在并行优化神经网络的过程中,batch size 的增加可以使 SGD 的梯度计算更精确,因此可以使用更大的 lr 进行优化,同时也可以缩短优化的次数。但是这样往往也会使得优化出来的 generalization performance 更差,因此就需要引入一些额外的技术来避免这个问题。
本文则是讲优化过程分成三个阶段。在前期利用 large batch size 的优势让网络的 loss 快速收敛到一个相对不错的平坦区。在第二阶段每一个节点独立的用 mini batch 来更新模型。最后利用 SWA 来对这些模型进行平均,改善 large batch 带来的 generalization 问题。
本文在实验分析中,同样发现了类似 SWA 的现象就是 train loss 的曲面与 test loss 的曲面不一致。本文利用可视化方法绘制了一张 CIFAR-10 上的 loss landscape 如下图所示。
从图上可见,train loss 的 flat 区域要比 test loss 大得多;同时 SGD 更倾向于停在 flat 区域的边缘。而经过 SWA 之后,平均之后的模型有更大的概率落在相对中心的位置上。
Filter Grafting
这篇论文虽然在出发点上与前文并不相同,但是实际的方法也可以看作是一种 weight average,因此也总结在这里了。
神经网络经常会出现冗余的问题,一般的方法都是剪枝的方式来消除冗余部分,而也有一些其他的方法则是重新利用冗余部分来提高网络的性能/泛化性,例如 Dense sparse dense training、RePr 等等。本文也是同样的出发点,希望通过引入外部信息来改善冗余问题。
本文提出了一种利用权重的熵来评估网络中 filter 所包含的信息量,在优化中,同时优化两个相同的网络,采用不同的超参来进行优化,在优化过程中对 filter 进行加权平均实现对信息量的补足。
在加权平均时,为了简洁,不采用针对特定位置的 filter 进行加权,而是根据一层的熵大小来对整个一层的参数进行平均,加权所用的 alpha 则是根据两个网络这一层熵的大小自适应决定的。更进一步,则是可以将 2 个网络相互加权,拓展成多个网络循环加权,如下图所示。
在实验中,本文除了对这种 grafting 策略进行了性能测试,也对其他的一些细节进行了分析:(1) 不同的信息来源对提升的影响(网络自身、噪声、不同网络);(2) 不同的信息量评估方式的影响(L1 norm、熵)。最终得出文中提出的多个网络基于熵的杂交策略是最优的。同时也对杂交训练得到的网络的冗余量(权重 L1 norm 统计)和网络最终熵之和进行了分析。
参考文献
[1] Izmailov P, Podoprikhin D, Garipov T, et al. Averaging weights leads to wider optima and better generalization[J]. arXiv preprint arXiv:1803.05407, 2018.
[2] Gupta V, Serrano S A, DeCoste D. Stochastic Weight Averaging in Parallel: Large-Batch Training that Generalizes Well[J]. arXiv preprint arXiv:2001.02312, 2020.
[3] Zhang M, Lucas J, Ba J, et al. Lookahead optimizer: k steps forward, 1 step back[J]. Advances in Neural Information Processing Systems, 2019, 32: 9597-9608.
[4] Meng F, Cheng H, Li K, et al. Filter grafting for deep neural networks[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 6599-6607.
更多阅读
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
???? 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
???? 投稿邮箱:
• 投稿邮箱:[email protected]
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
????
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。