橦言无忌

一个不想改变世界的程序媛

Spectral Bias in Neural Networks

前言

频谱偏差(Spectral Bias)是指神经网络在学习过程中倾向于优先捕捉输入信号中低频分量(变化较慢的模式),而对高频分量(快速变化的模式)学习较慢的现象。这种现象是神经网络固有的特性之一,对其泛化性能、优化过程和适用性有重要影响。

频谱偏差是理解神经网络表现的重要方面,在不同任务和应用场景中,其影响需要具体分析和针对性调整。

一,频谱偏差的成因

1.1 优化动态的影响

  • 在随机梯度下降(SGD)等优化算法中,低频分量的梯度通常比高频分量的梯度更大,导致优化器优先减少低频误差。
  • 这种差异可能与输入数据的频谱特性和网络初始化有关。低频分量的损失曲面往往更平滑、更易优化,而高频分量的曲面更复杂,存在更多局部极值。

    1.2 网络架构的影响

  • 神经网络(特别是多层感知机,MLP)的激活函数和权值分布天然限制了其对高频分量的表达能力。基于正弦或余弦展开的理论表明,网络的频谱响应在高频部分迅速衰减。
  • 激活函数的非线性特性,如ReLU等,会进一步强化这种对低频优先的行为。

    1.3 训练数据的分布

  • 如果训练数据本身主要由低频分量组成,神经网络更容易优先拟合这些部分。高频噪声或数据稀疏会进一步加剧频谱偏差。

    1.4 梯度衰减和参数约束

  • 网络参数的更新速度与频谱成分的权重相关,高频分量更新所需的梯度可能随着网络层数的增加逐渐减小,导致这些成分难以被充分学习。

    1.5 理论基础

  • 根据傅里叶分析,有限宽度和深度的网络对函数的表示能力可以用带通滤波器来近似。大多数神经网络的频谱响应集中在低频范围,这使其在优化过程中天然对低频成分更加敏感。

二,数学原理上理解

从数学原理上解释频谱偏差(Spectral Bias),可以从傅里叶变换、优化动态、激活函数的特性和神经网络表示能力等方面深入探讨其成因。

2.1 傅里叶变换视角

神经网络可以看作是一种函数逼近器,其目标是学习输入数据的分布或目标函数 $f(x)$ 。根据傅里叶变换,任意函数 $f(x)$ 可以分解为无数个正弦和余弦函数的线性组合:

其中:

  • $\hat{f}(\xi)$ 是频谱分量,表示函数在频率 $\xi$ 上的权重。
  • 低频分量对应平滑、缓慢变化的模式,高频分量对应快速变化的模式或细节。

神经网络在训练过程中倾向于优先拟合低频分量的原因在于:

  • 低频分量 $\hat{f}(\xi)$ 的幅值通常较大(数据本身的性质)。
  • 高频分量 $\hat{f}(\xi)$ 的幅值较小,优化器需要更长时间来捕捉这些细节。

示例:
• 拟合正弦函数 f(x) = \sin(2\pi k x) 时,频率 k 较大的正弦波需要更长时间被学习,因为高频的傅里叶系数更难优化。

2.2 梯度动态与优化器的偏向

优化器的更新过程对频率有内在的偏向。以随机梯度下降(SGD)为例,其更新公式为:

其中:

  • $\nabla_\theta L(\theta)$ 是损失函数 $L(\theta)$ 对参数 $\theta$ 的梯度。
  • 高频分量的梯度值通常比低频分量小,因为高频分量的误差波动更剧烈,其梯度在累积时更容易相互抵消。

具体表现为:

  • 优化器在初期迅速减小低频分量的误差,而高频分量的误差由于梯度较小,需要更长时间才能显著减少。
  • 这一现象在具有较大学习率的情况下尤为明显。

2.3 激活函数的频谱特性

激活函数的非线性性质直接影响神经网络的频谱响应能力。假设网络的输入信号可以用傅里叶级数展开,经过激活函数 $\phi$ 后的输出频谱为:

激活函数通常会对高频分量产生“削减”效应:

  • 例如,ReLU 等分段线性函数倾向于保留低频分量,而对高频分量的响应较弱。
  • 非线性函数的导数通常对高频信号更敏感,导致梯度在高频区域的更新不稳定。

理论上,通过傅里叶变换可以量化激活函数对不同频率的贡献,例如:

  • 激活函数对频率 k 的响应幅度可以近似通过其傅里叶变换得到。

2.4 神经网络的表示能力

有限宽度和深度的神经网络在频谱上的表示能力受到限制。例如:

  • 多层感知机(MLP)的有限层数使其难以捕捉高频信号,因为每一层本质上对输入信号进行了低通滤波。
  • 神经网络在某种意义上可以看作是一个带通滤波器,其频率响应范围有限,高频部分的响应迅速衰减。

理论依据:

  • 神经网络的频率响应
    Rahaman 等(2019)研究表明,网络函数的频率分量在高频部分呈现指数级衰减。这表明高频特征在网络表达中更难被捕捉。

其中 $\beta$ 是一个与网络深度和宽度相关的参数。

  • 随机初始化的限制
    网络权重的随机初始化通常会对低频分量赋予更大的权重,这进一步加剧了频谱偏差。

2.5 训练数据的分布影响

在实际应用中,训练数据的频谱分布也会影响频谱偏差的强弱:

  • 自然数据(如图像或语音)中的低频分量占主导地位,神经网络因此更容易学习这些分量。
  • 如果训练数据中包含较多高频噪声,网络需要更长时间才能拟合这些部分。

2.6 数学总结

从数学角度,频谱偏差的根本原因是神经网络在优化和表达上对不同频率成分的差异化处理。这种差异可以归结为:

  • 梯度更新中,低频分量的权重较大,更新速度较快;
  • 激活函数对高频分量的响应较弱;
  • 神经网络的频谱表达能力天然有限,尤其是高频部分。

2.7 数学模型演示

通过简单的正弦函数拟合实验可以验证频谱偏差:

  • 目标函数: $f(x) = \sin(2\pi k x)$ ,其中 $k$ 是频率。
  • 网络结构:单层或多层感知机(MLP)。
  • 观察网络的训练过程,记录不同频率 $k$ 的正弦成分的学习曲线。

结果通常显示:

  • 低频成分(小 $k$ )的误差迅速减小;
  • 高频成分(大 $k$ )的误差下降缓慢,甚至需要更深的网络或更长的训练时间。

这一现象正是频谱偏差的直接体现。

三,频谱偏差的表现

  • 在图像、音频或时间序列数据中,网络首先学习输入的整体趋势或粗略结构(低频分量),而后才学习更精细的纹理或快速变化的特征(高频分量)。
  • 对周期性函数(如正弦函数)的拟合中,网络需要更多时间来准确捕捉其高频成分。

四,如何缓解频谱偏差

频谱增强数据预处理

  • 在训练数据中引入高频成分,或者通过数据增强方法增加高频特征的权重。

    改进网络结构

  • 使用周期性激活函数(如Sine、Fourier Features)提高对高频分量的拟合能力。
  • 引入注意力机制,增强对高频特征的捕捉。

    优化策略改进:

  • 使用自适应学习率优化器(如Adam、AdaGrad),以增强高频成分的学习效果。
  • 通过调节损失函数,增加对高频分量的惩罚。

    模型初始化:

  • 使用针对高频分量优化的初始化方法(如Fourier Mapping初始化),使网络初始阶段对高频成分更敏感。

    其他方法:

  • 增加训练时的迭代次数,确保高频分量有足够的学习时间。
  • 引入正则化项,鼓励网络对高频分量保持适当关注。

五,怎么理解“高频分量的梯度值通常比低频分量小”?

5.1 直观理解

在神经网络中,梯度的大小反映了损失函数对参数的敏感程度。低频分量和高频分量对应不同的函数变化模式:

  • 低频分量:对应缓慢变化的模式(平滑曲线),其误差分布相对平滑,导致参数调整的方向较一致,梯度相对较大。
  • 高频分量:对应快速变化的模式(震荡曲线),误差分布波动剧烈,梯度的方向更容易相互抵消,梯度的绝对值通常较小。

因此,优化器优先减小低频误差,而高频误差的修正速度较慢。

5.2 数学推导与分析

(1)目标函数的频率特性

假设目标函数 $f(x)$ 可以分解为傅里叶级数:

  • $k$ 表示频率,高频对应较大的 $|k|$ 。
  • $\hat{f}(k)$ 是频谱分量的系数,通常随着 $|k|$ 增大而减小(数据或函数本身的特性)。

神经网络的输出 $\hat{y}(x; \theta)$ 在训练时试图逼近 $f(x)$ ,损失函数通常是平方误差形式:

梯度的计算公式为:

对于高频分量:

  • $f(x)$ 和 $\hat{y}(x; \theta)$ 的变化更快,误差分布更加复杂;
  • 导致 $\left( f(x) - \hat{y}(x; \theta) \right)$ 和 $\nabla_\theta \hat{y}(x; \theta)$ 在积分中相互抵消,从而使得梯度值变小。

(2)高频对参数的敏感性

网络参数 $\theta$ 对输入信号 $x$ 的频率 $k$ 的响应强度直接影响梯度值。

若激活函数为非线性函数(如 ReLU),网络输出可以表示为:

  • $\phi$ 是激活函数, $w_k$ 和 $b_k$ 是参数。
  • 高频分量 $\alpha_k e^{2\pi i k x}$ 的表示能力依赖于 $w_k$ 的幅值,但激活函数 $\phi$ 通常对高频信号的非线性响应较弱。

梯度公式可进一步分解为:

  • 低频分量:频率 $k$ 小,对应的权重变化相对平滑,梯度 $\alpha_k k$ 较大。
  • 高频分量:频率 $k$ 大,但高频的幅值 $\alpha_k$ 较小,同时 $\phi{\prime}(w_k x + b_k)$ 的值在高频情况下易震荡,导致梯度衰减。

(3)梯度的能量衰减

根据 Rahaman 等(2019)的研究,神经网络的梯度对高频分量的响应呈现指数衰减。具体表现为:

  • $\beta$ 是与网络深度、宽度和参数初始化相关的正数。
  • 这一性质表明,随着频率 $|k|$ 增大,梯度大小以指数形式减小。

这种指数衰减直接导致高频分量的学习速度远低于低频分量。

5.3 网络深度的影响

网络深度对梯度的频率响应具有显著影响:

  • 梯度消失现象:深层网络更容易发生梯度消失,高频分量的梯度首当其冲,因为其振荡更剧烈。
  • 梯度传播的低通滤波效应:梯度在层间传播时,高频分量的能量逐层被削弱,而低频分量的能量更容易保持。

具体来说:

  • 在前向传播时,高频分量的响应已经被网络削弱;
  • 在反向传播时,高频梯度被进一步抑制。

5.4 激活函数的影响

激活函数的选择对频谱响应和梯度值的大小有显著影响。例如:

  • ReLU:倾向于放大输入信号中的低频分量,对高频分量的响应逐层削弱。
  • 周期性激活函数(如 Sine 或 Fourier Features):具有更好的高频表示能力,但在深层网络中仍可能受到梯度消失的限制。

激活函数对不同频率分量的敏感性可以通过傅里叶变换量化,具体表现为:

  • 高频分量的梯度值与激活函数的导数幅值 \phi{\prime}(x) 有直接关系,导数幅值较小的区域对高频梯度的抑制作用更强。

5.5 总结

“高频分量的梯度值通常比低频分量小”可以归结为以下几方面:

  • 优化动态:高频分量的误差波动剧烈,梯度更容易相互抵消。
  • 神经网络结构:网络对高频分量的响应能力有限,导致高频梯度在传播时被显著削弱。
  • 激活函数特性:激活函数对高频信号的非线性响应弱化了高频分量的梯度。
  • 梯度传播机制:梯度的频谱能量在深层网络中逐渐向低频集中。

这一现象从数学原理和实际优化效果上都体现了神经网络的频谱偏差,也是研究神经网络表现的重要切入点。

// 代码折叠