田渊栋博士:求道之人,不问寒暑—理解ReLU深度网络训练动态

2019 年 6 月 5 日 极市平台

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流点击文末“阅读原文”立刻申请入群~


作者 | 田渊栋

来源 | https://zhuanlan.zhihu.com/p/67782029

已获作者授权,请勿二次转载


论文地址:https://arxiv.org/abs/1905.13405


神经网络有很多异于传统机器学习系统(比如决策树和SVM)的奇特性质。比如说过参化(over-parameterization)时并不会产生过拟合,而只会让测试集上效果变好(泛化能力变好),如果用正好的参数去拟合数据,泛化能力反而变差;比如说它有隐式正则化(implicit regularization)的能力,即同样大小的模型,可以完全拟合正常数据,也可以完全拟合随机数据,并且在完全拟合正常数据时自动具有泛化能力。


这些现象在传统机器学习理论中不太能够得到解释,按照传统理论,用大小恰好的模型去拟合数据集是最优的,更小的模型,其复杂度不够从而无法拟合数据,更大的模型则会过拟合数据,降低其泛化能力,要使大模型有优秀的泛化能力,需要使用正则化方法。按照传统理论,如果一个模型大到能够拟合复杂度更高的随机数据,那它为什么不在正常数据上过拟合?如果一个模型能在正常数据上具有泛化能力,那它不应该能完全拟合随机数据——在神经网络上同时看到这两个现象,是非常奇怪的。


最近ICLR19的最优论文“The Lottery Ticket Hypothesis”(网络权重的彩票现象)又增加了传统理论难以解释的部分——对神经网络而言,使用同一架构的网络,从不同初始值开始优化,最终的泛化效果可以完全不同。 而权重初始值在传统的泛化理论中没有什么地位。因为传统上“优化算法”和“泛化性能”这两件事情是完全分开的。做泛化性能的文章往往假设背后的优化算法能拿到最优解,而不考虑优化的细节;而做优化算法的文章只关心在训练集上的权重到局部极小值的收敛速度,并不关心这个局部极小值在测试集上会有什么效果。如果模型空间有限或者模型的最优参数可以由凸优化得到,那这样做理所当然;但对深度学习这样的非凸问题而言,两者是密不可分的。


这次我们做的这篇“Luck Matters: Understanding Training Dynamics of Deep ReLU Networks”试图提出一个统一的理论来解释这些现象,包括神经网络参数多时效果更好,有动态适应不同数据集的能力,还能解释从不同初始值出发,泛化能力完全不同的网络彩票现象。我们提出的这个理论对这些问题都有比较好的直观解释,并且还有一个统一的数学框架来支撑。


其根本的方案,是将训练时的优化过程和泛化能力结合起来,从而去分析传统方法分析不了的情况。


首先我们采用了教师-学生网络(student-teacher)的框架,假设数据集的标注由一个隐藏的(多层)教师网络(teacher network)生成,然后依据教师网络的输入输出,用梯度下降法去优化学生网络(student network)。学生和教师网络的层数相同,但因为over-parameterization,学生的每一层可以有比教师更多的输出结点(神经元)。在这个框架下,我们证明了在一些情况下的权重复原定理,即学生网络的权重可以收敛于教师网络的对应权重,以及如何靠拢,并且分析了在over-parameterization的情况下学生网络可能的行为。由这些定理,可以给出一些神经网络奇特性质的解释。


对于结构化的数据,其对应生成数据的教师网络较小,过参化得到的学生网络中的结点会优先朝着教师网络的结点收敛过去,并且初始时和教师网络结点重合较大的学生结点(也即是“幸运神经元”,lucky weights/nodes)会收敛得更快,这样就会产生“胜者全拿”的效应,最后每个教师结点可能只有几个幸运学生结点对应。对于随机数据,其对应的教师网络比较大,学生结点会各自分散向不同的教师结点收敛。这就是为什么同样大小的模型可以同时拟合两者。并且因为胜者全拿的效应,学生倾向于用最少的结点去解释教师,从而对结构数据仍然具有泛化能力。


从这些解释出发,大家可能猜到了,“The Lottery Ticket Hypothesis”就是因为lucky nodes/weights的缘故:保留lucky nodes而去除其它不必要的结点,不会让泛化效果变差;但若是只保留lucky nodes,并且重新初始化它们的权重,那相当于中彩者重买彩票,再中彩的概率就很小了。而过参化的目的就是让更多的人去买彩票,这样总会有几个人中彩,最终神经网络的效果,就由它们来保证了——那自然过参化程度越好,最后泛化效果越好。


另外,对过参化的初步分析表明,一方面lucky student weights可以收敛到对应的teacher weights,而大部分无关的student weights/nodes可能会收敛到任意的区域去——但这并不要紧,因为这些结点的上层权重会收敛到零,以减少它们对网络输出的影响。这就附带解释了为何神经网络训练后的解往往具有平坦极小值(Flat Minima)性质:对无关的学生结点而言,任意改变它们的权重,对网络输出都没有太大影响。


=================

具体细节是怎么做的呢?如果大家有兴趣的话,可以继续看下去。


虽然学生网络接收到的信号只来自于教师的最终输出层,对教师中间层如何输出毫无知觉,但因为教师的前向传递和学生的反向传递算法,教师中间层和对应的学生中间层,这两者其实是有隐含联系的。这篇文章首先找到了一个学生网络-教师网络的一个很有趣的对应关系,即学生中间层收集到的梯度和对应教师层输出的关系,然后借着这个对应关系,就可以找到学生网络的权重和教师网络的权重的对应关系。在此之上,再加一些基本假设,就可以有相应的权重复原定理。


这篇文章的基本假设很简单,即教师同层两个神经元同时被激活的概率远远小于各自单独被激活的概率。这个假设相对来说是比较实际的:如果每个神经元只负责输入信号的某个特性,那这些特性同时出现的概率相比单独出现的概率要小很多。那么如何检查这个假设呢?很简单,按照这个假设,如果输入是零均值分布,假设激活函数是ReLU,那神经元的bias就应当是负的,这样它只对输入的一小部分数据有正响应。事实似乎确实如此,我们在文章中检查了VGG11/16这两个在ImageNet上的预训练网络(都采用Conv-BN-ReLU架构)的BatchNorm层的bias,发现绝大部分都是负的,也就是说在训练后网络里的那些神经元确实每个负责不一样的特性。


与之前平均场(Mean Field)的一系列文章相比,这篇文章不需要假设权重满足独立同分布这个非常严格且只在初始化时才成立的条件,可以用于分析网络优化的整个过程,事实上,我一直觉得多层神经网络的优化过程和平均场或者热力学的箭头是相反的:热力学里系统从非平衡点到达平衡点的过程是抹消结构的过程,而神经网络的优化是从随机初始的权重中创造并且强化结构的过程。这篇文章曾经打算投去年的ICML,原本的题目叫作“潘多拉的盒子”,也就是说,从随机涨落的权重中,依着不同的数据集,可以收敛出任意的结构出来,但因为OpenGo的项目一直拖,一直到一年半以后才有比较初步的结果。


另一个附带的结果是,从这篇文章的分析里可以比较清楚地看到“上层调制”这种机制的作用。很多人对多层神经网络的疑问是:既然多层神经网络号称是对输入特征进行不断组合以获得效果更好的高层特征,那为什么不可以采用自底向上的机制,每次单独训练一层,等训练完再建上一层?依据这篇文章,回答是如果没有上层的监督信号,那底层的特征组合数量会指数级增长,并且生成的特征大多是对上层任务无用的。唯有优化时不停听取来自上层的信号,有针对性地进行组合,才可以以极高的效率获得特定任务的重要特征。而对权重的随机初始化,是赋予它们在优化时滑向任意组合的能力。





*推荐阅读



点击左下角阅读原文”,即可申请加入极市目标跟踪、目标检测、工业检测、人脸方向、视觉竞赛等技术交流群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~



觉得有用麻烦给个在看啦~  

登录查看更多
7

相关内容

【MIT-ICML2020】图神经网络的泛化与表示的局限
专知会员服务
42+阅读 · 2020年6月23日
【CVPR 2020-商汤】8比特数值也能训练卷积神经网络模型
专知会员服务
25+阅读 · 2020年5月7日
专知会员服务
19+阅读 · 2020年3月29日
专知会员服务
44+阅读 · 2020年3月6日
模型压缩究竟在做什么?我们真的需要模型压缩么?
专知会员服务
27+阅读 · 2020年1月16日
过参数化、剪枝和网络结构搜索
极市平台
17+阅读 · 2019年11月24日
真正的神经网络,敢于不学习权重
极市平台
4+阅读 · 2019年6月14日
PyTorch 学习笔记(七):PyTorch的十个优化器
极市平台
8+阅读 · 2019年5月19日
深度学习优化算法总结(SGD,AdaGrad,Adam等)
极市平台
34+阅读 · 2019年4月30日
神经网络训练tricks
极市平台
6+阅读 · 2019年4月15日
CVPR2019 | 专门为卷积神经网络设计的训练方法:RePr
人工智能前沿讲习班
6+阅读 · 2019年3月7日
当前训练神经网络最快的方式:AdamW优化算法+超级收敛
中国人工智能学会
6+阅读 · 2018年7月4日
[学习] 这些深度学习网络训练技巧,你了解吗?
菜鸟的机器学习
7+阅读 · 2017年7月29日
Arxiv
6+阅读 · 2019年4月8日
Arxiv
9+阅读 · 2018年10月24日
Arxiv
3+阅读 · 2018年8月17日
Arxiv
11+阅读 · 2018年3月23日
Arxiv
4+阅读 · 2016年9月20日
VIP会员
相关资讯
过参数化、剪枝和网络结构搜索
极市平台
17+阅读 · 2019年11月24日
真正的神经网络,敢于不学习权重
极市平台
4+阅读 · 2019年6月14日
PyTorch 学习笔记(七):PyTorch的十个优化器
极市平台
8+阅读 · 2019年5月19日
深度学习优化算法总结(SGD,AdaGrad,Adam等)
极市平台
34+阅读 · 2019年4月30日
神经网络训练tricks
极市平台
6+阅读 · 2019年4月15日
CVPR2019 | 专门为卷积神经网络设计的训练方法:RePr
人工智能前沿讲习班
6+阅读 · 2019年3月7日
当前训练神经网络最快的方式:AdamW优化算法+超级收敛
中国人工智能学会
6+阅读 · 2018年7月4日
[学习] 这些深度学习网络训练技巧,你了解吗?
菜鸟的机器学习
7+阅读 · 2017年7月29日
相关论文
Top
微信扫码咨询专知VIP会员