远东轶事
首发于远东轶事

求道之人,不问寒暑(四)

在之前的LuckMatter文章之后,这次ICLR又写了一篇后续的工作,取消及削弱了一些假设,并获得了更强的结果。Arxiv请见: arxiv.org/abs/1909.1345

这次仍然还是用student-teacher的模式来分析,学生和教师都是多层带ReLU的神经网络。教师的权重固定并提供每个训练和测试样本的标注,学生的权重可变,并由随机梯度下降法(Stochastic Gradient Descent)来优化。既然要研究为什么over-parameterization会提高深度神经网络在测试集上的性能(也即是泛化能力),学生网络的参数数目就要超过教师网络的参数数目。

要解决的问题,还是在学生是否能学会教师对应层的权重。大家可能会问,为什么这个问题重要?因为它牵涉到神经网络泛化能力的问题。如果学生不仅能达到小的训练误差,并且能学会教师的权重,那在测试数据集下也可以期待学生会做得和老师一样好,泛化能力就有保障。

那么要如何做这个问题呢?我们知道学生是over-parameterized,所以一定存在某些权重使得学生在每个训练样本上的梯度都为0(比如说教师本身的权重就是一例)。那么反过来是不是对的呢?假设SGD的训练能达到非常小的梯度值,能不能反过来推出学生是否学会了教师对应层的权重?如果是这样,那泛化能力是可以有的。

这篇文章的第一个结论,就是在某些条件成立的情况下,这是可能的。

在上篇文章中,在施加了较强假设的条件下,我们证明了一个简单的局部结果:如果学生中某个子网络的初始权重和教师的权重比较接近,那可以做到学生的权重和教师一对一收敛。这次这篇文章则在减弱的假设下拓展了这个结论:如果某些条件成立,那可以证明对于(最接近输入的)第一层任何一个教师权重,都存在至少一个第一层的学生权重与之对应。这样一个教师权重可以有多个学生与之对应,也可以有“无所事事”,即不与任何教师权重相重合的学生权重,这些都可能发生。在2层神经网络的特殊情况下,我们还可以证明所有无所事事的学生权重对输出的总贡献是0。

有人可能会好奇,这里提到的“某些条件”是什么,是不是很苛刻?其实很简单,一个教师权重要能找到对应,一个必要条件是它的ReLU边界得要被某个学生的权重“观察”到,也就是说,在这个学生权重激活的区域内能找到教师的边界。如果所有学生权重都没有看到教师权重的边界,那大家只能认为它不存在或者仅仅只是一个线性背景,学习更无从谈起。而学生网络含有很多节点,每个节点就像是一只眼睛,节点越多,就可以让教师权重更容易被“观察“到,从而让两边的权重匹配更容易发生。这就是over-parameterization对提高泛化能力的第一个贡献。

之前的分析都是基于“训练已经收敛,梯度约等于零”这样的条件,而over-parameterization的第二个贡献,则是体现在训练的动力学过程中。教师网络中的不同教师节点其重要性是不同的,有些是顶梁柱缺了它效果惨不忍睹,有些则可有可无,加上会提高一点点性能,缺了也没关系。这些结点的重要程度可以由它们输出权重的幅值来衡量。这篇文章通过一些理论分析发现,在训练的过程中,重要的教师节点会先被学到,而且学生们会抢着去学,等到重要的学得差不多了,学生们才会掉头去学那些不太重要的节点,以此往复。有意思的是,这个“掉头”的过程可以非常非常地慢。文章里构造出了一种简单的极端情况可以让掉头时间趋于无限长。因此,就算最后的目标很美好,要达到它,却是需要地老天荒。在有限的训练时间下,泛化效果自然就不那么好了。

在这种情况下,over-parameterization有第二个贡献,即储备足够的结点,使得就算大家都涌向那些重要的教师节点,也至少有一些结点不出现这些极端情况,储备越多,不出现的概率就大,掉头变快,最后的泛化效果也会变好。(这部分目前是半理论半直觉分析,并没有定理)。

除此之外,这篇文章也对多层神经网络的训练过程做了一些初步分析。刚才说的第一层权重对应,其实对于任意深的网络都成立,而且对于上层权重的具体取值不很敏感。这样的话,就可以构造出一个后向传递多层训练的大概图景:从训练伊始,第一层的权重对应过程就已经开始了,等到第一层开始有对应,第二层的权重对应也会开始,如此一直往上。这样,对于那些重要的第一层教师权重,因为它被多个高层权重所使用,就会有多条路径通向上层,学起来就会快得多。当然对此严格的分析要等到下一篇文章了。

编辑于 2019-10-01

文章被以下专栏收录