作者:若羽
链接:https://www.zhihu.com/question/59532432/answer/1510340606
我觉得这个对我启发最大的是上海交大许志钦的工作。
https://link.zhihu.com/?target=https%3A//ins.sjtu.edu.cn/people/xuzhiqin/fprinciple/index.html
他的 B 站演讲
https://link.zhihu.com/?target=https%3A//www.bilibili.com/video/av94808183%3Fp%3D2
另外,我大概线下听过他两次演讲,几乎都是关于神经网络与傅立叶变换、傅里叶分析方面的工作。
Training behavior of deep neural network in frequency domain
https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1807.01251.pdf
这篇论文,开宗明义就是 神经网络的泛化性能来源于它在训练过程会更多关注低频分量。
CIFAR-10、MNIST 的神经网络的拟合过程如下所示。其中,蓝色表示相对误差大,红色表示相对误差小。随着训练 epoch 的进行,频率越高(frequency index 大的),收敛越慢(即,对于某个 epoch,低频的误差小,颜色偏红,高频部分误差大,颜色偏蓝色)。
Theory of the frequency principle for general deep neural networks
https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1906.09235v2.pdf
做了大量的数学推导证明 F-Principle,分成训练的初始阶段、中间阶段、收尾阶段分别证明,对于非数学专业的人,有点繁琐。
Explicitizing an Implicit Bias of the Frequency Principle in Two-layer Neural Networks
https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1905.10264.pdf
为什么参数比样本多的 DNNs 通常能很好地泛化?这仍然是个谜。理解这一难题的一个尝试是 发现 DNNs 训练过程中的隐含偏差,例如 频率原理(F-Principle),即 DNNs 通常从低频到高频拟合目标函数。受 F-Principle 的启发,该论文提出了一个有效的线性 F-Principle 动力学模型,该模型能准确预测大宽度的两层 ReLU 神经网络(NNs)的学习结果。这种 Linear FP 动力学被 NNs 的线性化 Mean Field 剩余动力学合理化。重要的是,这种 LFP 动力学的长时间极限解等价于显式最小化 FP 范数的约束优化问题的解,其中可行解的高频率受到更严重的惩罚。利用该优化公式,给出了泛化误差界的先验估计,表明目标函数的 FP 范数越高,泛化误差越大。总的来说,通过将 F-Principle 的隐式偏差解释为两层 NNs 的显式惩罚,这个工作朝着定量理解一般 DNNs 的学习和泛化迈出了一步。
这个是图像类的二维数据的 LFP 模型示意图。
许教授之前的介绍:
LFP 模型为神经网络的定量理解提供了全新的思路。首先,LFP 模型用一个简单的微分方程有效地刻画了神经网络这样一个参数极多的系统其训练过程的关键特征,并且能够精确地预测神经网络的学习结果。因此该模型从一个新的角度建立了微分方程和神经网络的关系。由于微分方程是一个非常成熟的研究领域,我们相信该领域的工具可以帮助我们进一步分析神经网络的训练行为。
其次,与统计物理类似,LFP 模型只与网络参数的一些宏观统计量有关,而与单个参数的具体行为无关。这种统计刻画可以帮助我们准确理解在参数极多的情况下 DNN 的学习过程,从而解释 DNN 在参数远多于训练样本数时较好的泛化能力。
在该工作中,我们通过一个等价的优化问题来分析该 LFP 动力学的演化结果,并且给出了网络泛化误差的一个先验估计。我们发现网络的泛化误差能够被目标函数 f 本身的一种 F-principle 范数所控制,即:
其中,γ(ξ) 是一个随频率衰减的权重函数。
值得注意的是, 我们的误差估计针对神经网络本身的学习过程,并不需要在损失函数中添加额外的正则项。关于该误差估计我们将在之后的介绍文章中作进一步说明。
FREQUENCY PRINCIPLE: FOURIER ANALYSIS SHEDS LIGHT ON DEEP NEURAL NETWORKS
https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1901.06523.pdf
这表明,对于任意两个非收敛频率,在较小的权重下,低频梯度指数性地优于高频梯度。根据 Parseval 定理,空间域中的 MSE 损失与 Fourier 域中的 L2 损失等效。为更直观地理解低频损耗函数的高衰减率,我们考虑了在只有两个非零频率的损失函数的 Fourier 域中的训练。
解释了 ReLU 函数为什么 work,因为 tanh 函数在空间域是光滑的,其导数在傅里叶区域随频率呈指数衰减。
许教授关于 F-Principle 的几篇科普文:
https://zhuanlan.zhihu.com/p/42847582
https://zhuanlan.zhihu.com/p/72018102
https://zhuanlan.zhihu.com/p/56077603
https://zhuanlan.zhihu.com/p/57906094
On the Spectral Bias of Deep Neural Networks
Bengio 组的工作,之前写过一个比较粗糙的分析札记。
https://zhuanlan.zhihu.com/p/160806229
- 利用连续分段线性结构对 ReLU 网络的傅里叶谱分量进行分析。
- 发现了谱分量偏差(Spectrum bias)的经验证据,来源于低频分量,然而对低频分量的学习,有助于网络在对抗干扰过程中的鲁棒性。
- 通过流形理论,给予学习理论框架分析。
根据拓扑学的 Storkes 定理,证明 ReLU 函数紧凑、光滑,有助于训练的收敛,之后的 Swish 和 Mish 呢?(狗头)。
这样,在高维空间中,ReLU 函数的谱衰减具有强烈的各向异性,ReLU 傅立叶变换幅度的上限满足利普希茨约束。
实验:
中心点:低频分量学习优先级高
1. 对函数做实验
傅立叶变换效果:
迭代过程对函数的学习:
模型的标准化谱分量:
2. 带噪环境学习 MNIST 数据
不同的验证损失:
MNIST 数据拟合的频率分量:
神经网络可以近似任意值功能,但研究人员发现他们 更喜欢低频的分量,也因此,它们 表现出对平滑函数的偏倚 —— 被称之为 谱偏移(spectral bias)的现象。
流形假设
流形越复杂,然后学习过程越容易,这个假设会 Break “结构风险最小化” 假设,有可能会出现 “过拟合”。
如果有复杂的数据集(ImageNet),搜索空间比较大,也要通过一定的方法,使其 “work in harmony”,调谐地工作。
感觉 Bengio 认为其对深度学习的正则化有启发意义。
Machine Learning from a Continuous Viewpoint
https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1912.12777.pdf
数学家 Wienan.E 的争鸣,频率原则并不总是 Work 的。
假设某个函数:
然后给出了频域原则 work 的边界。
work 的情况:
不 work 的情况:
如果说 Wienan.E 是从数学家的角度给出了 Frequency Principle 的边界的话,那么做工程的小伙伴一定要看看这篇论文
A Fourier Perspective on Model Robustness in Computer Vision
代码也已经开源了:
https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1906.08988.pdf
https://link.zhihu.com/?target=https%3A//github.com/google-research/google-research/tree/master/frequency_analysis
作者的意思是 关注鲁棒性,不能完全丢掉高频特征。
图片说明:使用人类无法识别的输入信息,模型可以实现高精度。上面显示的是经过训练和测试的模型,这些模型在输入端应用了严格的高通和低通滤波。通过积极的低通滤波,当图像看起来是简单的彩色球体时,该模型在 ImageNet 上仍然高于 30%。在高通(HP)滤波的情况下,使用人类几乎看不见的输入特征,模型可以达到 50% 以上的精度。如右图所示,需要对高通滤波图像进行归一化处理,以便正确地可视化高频特征(我们用附录中提供的可视化高通滤波图像的方法)。
图片说明:左:自然图像的傅里叶谱;我们通过平均所有 CIFAR-10 验证图像来估计 E[ |F(X)[i, j]| ]。右:CIFAR-10-C 中严重程度为 3 的被腐蚀的傅里叶谱。对于每个腐蚀点,我们通过平均所有验证图像来估计 E[ |F(C(X)−X)[i, j]| ]。加性噪声在高频段具有较高的集中度,而雾、对比度等污染集中在低频段。
图片说明:CIFAR-10 上不同傅立叶基向量对加性噪声的模型敏感度。我们将加性噪声固定为 “L2 范数为 4”,并评估了三个模型:自然训练模型、对抗训练模型和高斯数据增强训练模型。对来自测试集中的 1000 个随机采样的图像进行平均错误率。在最下面的一行中,我们显示了沿着相应的傅立叶基向量受到噪声干扰的图像。自然训练的模型对除最低频率以外的所有加性噪声都高度敏感。对抗性训练和高斯数据增强都极大地提高了高频下的鲁棒性,而牺牲了自然训练模型在低频率下的鲁棒性 (即,在这两个模型中,中间的蓝色区域比自然训练模型的小)。
图片说明:ImageNet 验证图像上的不同傅立叶基向量对加性噪声的模型敏感度。我们将基向量固定为 L2 范数的值等于 15.7。错误率是整个 ImageNet 验证集的平均错误率。给出了以傅里叶域最低频率为中心的 63×63 平方。同样,自然训练的模型对除最低频率之外的所有加性噪声都高度敏感。另一方面,高斯数据增强提高了高频下的鲁棒性,同时牺牲了对低频扰动的鲁棒性。对于 AutoAugment,我们观察到它的傅立叶热图在中心周围有最大的蓝色/黄色区域,这表明 AutoAugment 对低频到中频的破坏是相对鲁棒的。
图片说明:固定范数和不同频率分布的加性噪声下模型的鲁棒性。对于每个 CIFAR-10 测试图像中的每个通道,在应用到图像之前,我们对独立同分布高斯噪声进行采样,应用低/高通滤波器,并将滤波后的噪声归一化为 L2 范数值为 8。我们改变低/高通滤波器的带宽,生成两个曲线图。自然训练的模型对带宽为 3 的低频噪声具有更强的鲁棒性,而高斯数据增强和对抗性训练使模型对高频噪声具有更强的鲁棒性。
图片说明:CIFAR-10-C 腐蚀高频能量分数与测试精度的关系。绘图中的每个散布点代表特定模型对特定损坏类型的评估结果。X 轴表示损坏类型的高频能量的分数,y 轴表示与自然训练的模型相比测试精度的变化。总体而言,高斯数据增强、对抗性训练和添加低通滤波器提高了对高频破坏的鲁棒性,降低了对低频破坏的鲁棒性。与低频损坏相比,应用高通滤波器前端对高频损坏产生更显著的精度下降。AutoAugment 提高了对几乎所有损坏的健壮性,并实现了最佳的整体性能。底部的图例显示了每条拟合线的斜率(K)和残差(r)。
图片说明:(a) 和 (b):对抗扰动的傅立叶频谱,给定图片 X,发起 PGD 攻击,得到对抗样本 C(X),估算对抗扰动的傅立叶频谱,会使得图片错误分类;(a) 是自然训练得到的频谱;(b) 是对抗训练得到的频谱。自然训练模型的对抗性扰动均匀分布在频率分量上。相比之下,对抗性的训练使这些扰动偏向较低的频率。(C) 和 (D):将范数大的傅立叶基向量加到图像上是一种生成内容保持黑盒对抗性示例的简单方法。
几点结论:
1) 对抗训练会关注到一些高频分量,而非一味执迷于低频分量。
2) AutoAugment有助于提高鲁棒性。
开源代码主要教人画出论文中类似的示意图。
另外一篇论文 Eric Xing 组里的,知乎的自媒体之前发过了:
High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks
https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1905.13545.pdf
该论文实验了几个方法:
然后得出结论:
关注低频信息,有助于提高泛化性,高频分量可能与对抗攻击有联系,但不能太武断。
Contribution 是用详细的实验证明 Batch Normalization 对于拟合高频分量,提高泛化性是有用的。
最后,就是全凭一张嘴了。
这边厢,许教授证明 ReLU 的光滑性有助于函数优化;那边厢,近期的一个工作叫
Bandlimiting Neural networks against adversarial attacks
https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1905.12797.pdf
ReLU 函数得到一种 piecewise 的 linear function
可以分解为众多的频率分量。
对于 N=1000 个节点的隐藏层,并且输入维度为 n=200 时,区域的最大数目大致等于 10^200。换言之,即使是一个中等规模的神经网络也可以将输入空间划分为大量的子区域,这很容易超过宇宙中的原子总数。当我们学习神经网络时,我们不能期望每个区域内至少有一个样本。对于那些没有任何训练样本的区域,其中的结果线性函数可以是任意的,因为它们根本不对训练目标函数有贡献。当然,这些地区中的大多数都非常小。当我们测量整个空间的预期损失函数时,它们的贡献可以忽略不计,因为随机抽样点落入这些微小区域的机会非常小。然而,对抗性攻击带来了新的挑战,因为对抗性样本不是自然抽样的。考虑到区域的总数是巨大的,那么这些微小的区域在输入空间中几乎无处不在。对于输入空间中的任何一个数据点,我们几乎肯定可以找到这样一个微小的区域,其中线性函数是任意的。如果选择了这个微小区域内的一个点,神经网络的输出可能会出乎意料。这些微小的区域是神经网络易受敌意攻击的根本原因。
然后,提出了一种对抗防御的方法,表示没看懂...
总而言之,CNN 会先拟合低频再拟合高频,而低频对应的是训练数据的共同的、普遍的规律,高频则对应数据的细节信息。