从频率角度理解为什么深度可以加速神经网络的训练

技术讨论 kira ⋅ 于 1个月前 ⋅ 178 阅读

本文授权转载自学术平台 PaperWeekly,公众号ID:paperweekly。这是一个推荐、解读、讨论和报道人工智能前沿论文成果的学术平台,致力于让国内外优秀科研工作得到更为广泛的传播和认可。

深度加速训练的效应

近些年来,随着深度学习的发展,其已经在图像、语音、自然语言处理等各个不同的领域展现出了优异的性能。在运用中,人们发现,更深层的神经网络往往比隐藏层较少的神经网络训练得快,也有更好的泛化性能。虽然,随着神经网络的加深,可能会出现梯度消失的问题,但是通过例如 Resnet 残差的手段,不仅能解决梯度消失的问题,还能够提升网络的训练速度与泛化性能。

比如何恺明在《Deep Residual Learning for Image Recognition》的实验,由于加入了残差块,34 层的卷积神经网络的泛化性和训练速度都比 18 层的卷积神经网络要好。

泛化的问题往往还与数据集本身有密切的关系。因此,我们首先关注为什么加深网络可以加快训练。为避免歧义,我们定义训练快慢是通过看网络达到一个固定误差所需要的训练步数。尽管更深的网络每步需要的计算量更大,但这里我们先忽略这个因素。

为了研究这个问题,首先我们用一个简单的实验来重现这个现象。下图是用不同层数但每层大小一致的 DNN 学习目标函数 cos(3x)+cos(5x),训练到一个固定精度所需要的步数图。我们发现,越深层的神经网络,需要越少的步数,就能够完成任务。

即使是对于这么简单的任务,几乎没有文章能够通过数学理论来解释这样的问题;尽管有一些工作开始分析深度线性网络,但仍然几乎没有文章能够从一个比较清晰的视角,通过实验或理论,来解释这样一个非线性神经网络的现象。

因此,即使提供一个可能的理解视角,也是十分必要的。我们工作提出了一个深度频率原则来解释深度带来的加速效应。在这之前,我们首先来看一下什么叫频率原则。

频率原则(Frequency Principle)

频率原则可以用一句话概括:深度学习倾向于优先拟合目标函数的低频部分。

我们先用一个简单的例子来理解 F-Principle。用一个深度神经网络(DNN)去拟合如下的红色实线函数。训练完成后,函数能被深度网络(蓝色点)很好地拟合。

我们想要从频域的角度,观察 DNN 的训练过程。如下图动画所示,红色为目标函数的 FT(傅里叶变换),蓝色为网络输出的FT,每一帧表示一个训练步,横坐标是频率,纵坐标是振幅。我们发现,随着训练的进行,DNN 表示的函数在频域空间显现出了清晰的规律,即频率从低到高依次收敛。

频率原则虽然简单,但它为理解深度学习的泛化以及设计高效的神经网络结构提供了非常重要的基础,并且现在已经有一系列理论为频率原则提供了支撑。

深度频率原则

接下来,我们将从频率视角来看深度的影响。对于隐藏层 hi,它的输入是它前一层的输出。在神经网络优化过程中,梯度是反向传播的,也就是说,当我们在更新隐藏层 hi 的参数时,误差的信号是从真实标签和神经网络输出的差异开始向前传播的。

因此,对于子网络(从隐藏层 hi 到输出层),它的等效目标函数是由隐藏层 hi 的前一层的输出和真实的标签构成。基于此,我们在分析阶段将整个多层的神经网络分成两个部分,pre-condition component 和 learning component,并将着重分析 learning component 的等效目标函数在不同条件下的表现。注意,训练时,我们仍然像往常一样,训练所有的参数。

假设两个不同的神经网络有相同的 learning component,即它们的最后若干层是相同的。若其中一个 learning component 的等效目标函数更加低频,那这个神经网络的 learning component会学得更快。

显然,learning component 学得更快,自然整个网络也就学得更快。特别地,当 learning component 学好的时候,整个神经网络也就学好了。因此,这给了我们充分的理由相信,通过研究 learning component 的性质,从这个角度出发,能够对多层神经网络的本质窥探一二。

现在我们需要做的就是找到一个可以刻画高维函数频率分布的量,再利用 F-principle 低频先收敛的特性,我们就可以研究深度带来的效应了。因此,我们定义了 Ratio Density Function (RDF)。

本质上,我们首先通过在傅立叶空间画半径为 r 的球,定义目标函数在 r 球内的能量(L2 积分)占整个函数的能量比(通过高斯滤波获得),即低频能量比(Low frequency ratio,LFR)。这类似于概率的累积分布函数。下左图,就是以 k₀为半径,函数的 低频部分与高频部分。

然后我们对 LFR 在 r 方向上求导数得到 RDF,这可以解释为函数在每个频率上的能量密度。下右图即是,sin(kπx)的 RDF,1/δ 就是半径 r,并对峰值做了归一化。不难看出,高频函数的峰值在 r 较大的位置,低频函数的峰值在 r 较小的位置。因此,RDF 适合用来刻画高维函数的频率分布。

最后,我们需要研究 learning component 的等效目标函数的 RDF。如果 learning component 的等效目标函数的 RDF 趋近于低频,那么通过 F-principle,我们就知道其收敛得会比较快;相反,若其趋近于高频,则其收敛得就会比较慢。

实验上,我们先做了关于 Resnet18 的实验,保持全连接层不变,改变 Resnet 卷积模块的个数,定义最后三层为 learning component。

整个训练和往常一样,训练所有的参数。在下图中,-1、-2、-3、-4 的残差块依次减少,不难发现,拥有更多残差块的网络不仅收敛速度更快,同时泛化性能也更好。

观察其 learning component 的等效目标函数的 RDF,我们发现,拥有更多隐藏层(也就是网络更深)的神经网络其 learning component 相比浅网络会更趋于低频,并最后保持在更加低频处。我们得到了 Deep Frequency Principle——更深层神经网络的有效目标函数在训练的过程中会更趋近于低频。

再基于 F-principle——低频先收敛,我们就能够得到更深层的神经网络收敛得更快的结果。尽管频率是一个相对可以定量和容易分析的量,但当前实验跨越了多个不同结构的网络,也会给未来理论分析造成困难。因此,我们后面研究单个神经网络中的 Deep Frequency Principle。

于是,我们探究同一个深度神经网络内不同隐藏层的等效目标函数的 RDF,即改变 pre-condition 和 learning component 的层数(但保持网络的结构和总层数不变)。这个实验是在 MNIST 上的,深度神经网络(DNN),并取了 5 个相同大小的隐藏层。

在下图中,我们发现,虽然初始时神经网络更深层的等效目标函数的 RDF 聚集于较高频处,但随着训练,更深层的 RDF 会快速地趋于更低频的地方,并保持在低频处。这也是 Deep Frequency Principle——更深层的神经网络的有效目标函数会在训练的过程中会更趋近于低频。

在该工作中,基于傅里叶分析以及对 F-principle 的理解,我们给出了一个新的角度来处理和看待多层、深层的前馈神经网络,即通过分成 pre-condition component 和 learning component 两个部分,研究 learning component 的等效目标函数的 RDF,得到 Deep frequency principle,并最终提供了一种可能的角度来解释为何多层的网络能够训练得更快!相信这个工作会为未来的理论分析提供重要的实验基础。

关于作者:

周瀚旭,许志钦 上海交通大学

联系:xuzhiqin\@sjtu.edu.cn

https://ins.sjtu.edu.cn/people/xuzhiqin/

参考文献

[1] Deep frequency principle towards understanding why deeper learning is faster.  Zhi-Qin John Xu and Hanxu Zhou, arXiv: 2007.14313. (to apear in AAAI-2021)
[2] Zhi-Qin John Xu; Yaoyu Zhang; Tao Luo; Yanyang Xiao, Zheng Ma , ‘Frequency principle: Fourier analysis sheds light on deep neural networks’, arXiv:1901.06523. (2020, CiCP)[3] Zhi-Qin John Xu; Yaoyu Zhang; Yanyang Xiao, Training behavior of deep neural network in frequency domain, arXiv preprint arXiv: 1807.01251. International Conference on Neural Information Processing.

成为第一个点赞的人吧 :bowtie:
回复数量: 0
暂无回复~
您需要登陆以后才能留下评论!