文章目录
本篇总结的图文来自机器之心承办的NeurlPS Meetup China 2021上来自上海交通大学张曜宇老师的报告。
深度学习损失景观的嵌入原则
作者:张曜宇 上海交通大学
1. DNN实践与传统泛化理论的矛盾
实践:复杂的DNN模型效果好
理论:复杂模型通常应该会过拟合
2. 考察DNN训练过程
我们对一个500个神经元的训练阶段进行考察:
发现宽网络的训练过程好像是在经历窄网络的最优解的过程,如下图所示:
补充:对于CNN,网络A比网络B(同深度)更宽指每个卷积层通道数量A不少于B。
3. 理论证明
outline
理论前提:从上面的例子中可以看到,窄网络的最优解是宽网络损失景观的临界函数(鞍点就是临界点之一,此时具备吸引附近轨迹的作用,由此猜想临界函数应该也有这种吸引能力)。
我们证明了窄网络的临界函数一定是宽网络的临界函数,即
我们根据这样的嵌入原则重新考察之前的500个神经元的拟合情况
核心证明
- output preserving,窄网络和宽网络的输出形式不变
- critical preserving,窄网络的临界点必须是宽网络的临界点(临界点不变)
实验验证
我们尝试构造了这样的网络
上面的分裂过程,其实是有一个超参数的,控制这个参数,可以控制嵌入流形的维度:
4. 启发
对训练和泛化的意义
猜想:DNN非线性训练过程倾向于学习到“简单”的临界函数
对优化的意义
对于剪枝的意义
5. 系列其他工作
深度学习训练过程中的泛化、隐式正则化有关的理论工作:
- 频率原则
- 相位分析
- 嵌入原则(损失景观)
QA
1、 宽和窄对于卷积层是什么呢?
对于CNN,网络A比网络B(同深度)更宽指每个卷积层通道数量A不少于B。
2、什么是损失景观?以及什么是临界流形?
损失景观本质上就是损失函数(经验风险函数),之所以叫景观是强调这个函数在参数空间具有像地貌一般高低起伏的特性,这种特性对理解损失函数诱导的训练过程有重要的意义。临界流形是临界点的一种推广,可以定义为连通的具有同样损失值(输出函数)的临界点的集合。
3、老师对极值平坦度与泛化有什么看法?
关于平坦度的定义及其与泛化的联系有很多的研究工作。到目前为止并没有非常明确达成广泛共识的结果。其中一个很重要的原因是学到的任何一个局部或全局最优函数在参数空间实际上对应一个高维的临界流形,这个流形中任何一个点的泛化误差一致,但是平坦度(任何一种定义)通常差别很大。这种参数空间到函数空间多对一的关系实际上是研究DNN泛化的核心难题。我们通过嵌入原则也给出了我们的思考,也就是宽网络所学函数的复杂度应该用能表达该函数的最窄网络的尺寸(只与所学函数有关,与具体参数无关)来刻画。
4、这个算法在时间复杂度会很大吗?毕竟时间增加太多,落地太难.
嵌入原则揭示了DNN损失景观的一般性的层次结构,这个理论由我们的实验所启发,但是其适用性是普遍的,不依赖于具体算法和训练过程。如何基于嵌入原则的理论理解设计新的更好的算法是后续一个重要的问题。
5、想问一下NTK的思想?
NTK的核心想法是通过较大的初始化尺度+很宽的网络使得神经网络能够在初始参数点附近找到全局最优解。因此,在NTK初始化下,DNN最终学到的参数和其随机的初始参数差异很小,没有的表征学习(feature learning)的过程。NTK训练过程只依赖损失景观在初值附近的局部特性,不依赖于损失景观的全局结构(比如嵌入原则)。在通常的DNN实践中,初始化尺度较NTK尺度小,网络也不会特别宽,训练过程有更强的非线性,因此与嵌入原则揭示的层次结构关系更紧密。