深度学习中的随机傅里叶特征(Random Fourier Features, RFF)原理与核方法近似加速机制
题目背景
在支持向量机、高斯过程等传统核方法中,计算核矩阵(如RBF核)的复杂度随数据量增长而显著提高,难以应用于大规模数据。随机傅里叶特征(RFF)通过随机投影将数据显式映射到低维空间,从而近似核函数,使得基于核的算法计算效率大幅提升,并能无缝集成到线性模型中。
算法原理
RFF基于Bochner定理:一个连续、平移不变(仅依赖于向量差)的核函数 \(k(\mathbf{x} - \mathbf{y})\) 的傅里叶变换是一个非负测度。对于高斯RBF核 \(k(\mathbf{x}, \mathbf{y}) = \exp(-\frac{\|\mathbf{x} - \mathbf{y}\|^2}{2\sigma^2})\),其傅里叶变换是高斯分布。通过从该分布中采样随机向量,构造显式低维特征映射,使得点积近似原核函数。
核心思想:将高维甚至无限维的核空间中的内积运算,转化为随机投影后的低维向量点积,从而实现线性化加速。
推导与计算步骤
步骤1:平移不变核的傅里叶分析
- 给定平移不变核函数:
\[ k(\mathbf{x}, \mathbf{y}) = k(\mathbf{x} - \mathbf{y}) \]
- 由Bochner定理,该核的傅里叶变换为一个概率分布 \(p(\boldsymbol{\omega})\):
\[ k(\mathbf{x} - \mathbf{y}) = \int_{\mathbb{R}^d} p(\boldsymbol{\omega}) e^{i \boldsymbol{\omega}^\top (\mathbf{x} - \mathbf{y})} d\boldsymbol{\omega} \]
- 对于高斯RBF核 \(k(\mathbf{x}, \mathbf{y}) = \exp(-\gamma \|\mathbf{x} - \mathbf{y}\|^2)\)(其中 \(\gamma = \frac{1}{2\sigma^2}\)),其傅里叶变换为:
\[ p(\boldsymbol{\omega}) = \left( \frac{2}{\pi\gamma} \right)^{d/2} \exp\left( -\frac{2}{\gamma} \|\boldsymbol{\omega}\|^2 \right) \]
即 \(\boldsymbol{\omega} \sim \mathcal{N}(\mathbf{0}, 2\gamma \mathbf{I})\)。
步骤2:构造随机特征映射
- 从 \(p(\boldsymbol{\omega})\) 中独立采样 \(D\) 个频率向量:\(\boldsymbol{\omega}_1, \dots, \boldsymbol{\omega}_D \in \mathbb{R}^d\)。
- 从均匀分布 \(U[0, 2\pi]\) 中独立采样 \(D\) 个相位偏置:\(b_1, \dots, b_D\)。
- 对任意输入向量 \(\mathbf{x} \in \mathbb{R}^d\),构造映射:
\[ z_\omega(\mathbf{x}) = \sqrt{\frac{2}{D}} \cos(\boldsymbol{\omega}^\top \mathbf{x} + b) \]
- 拼接所有采样得到的特征,得到 \(D\) 维随机特征向量:
\[ \mathbf{z}(\mathbf{x}) = \sqrt{\frac{2}{D}} \left[ \cos(\boldsymbol{\omega}_1^\top \mathbf{x} + b_1), \dots, \cos(\boldsymbol{\omega}_D^\top \mathbf{x} + b_D) \right]^\top \]
步骤3:核函数近似
- 当 \(D\) 足够大时,由大数定律:
\[ \mathbf{z}(\mathbf{x})^\top \mathbf{z}(\mathbf{y}) \approx \mathbb{E}_{\boldsymbol{\omega}, b} [\cos(\boldsymbol{\omega}^\top \mathbf{x} + b) \cos(\boldsymbol{\omega}^\top \mathbf{y} + b)] = k(\mathbf{x} - \mathbf{y}) \]
- 该近似误差的收敛率为 \(O(1/\sqrt{D})\),即只需中等维数即可获得高质量近似。
在深度学习中的应用
- 近似注意力机制:RFF可用于线性化注意力计算,如Performer、Linear Transformer等模型,将Softmax核 \(\exp(\mathbf{q}^\top \mathbf{k})\) 替换为RFF近似,将计算复杂度从 \(O(n^2)\) 降至 \(O(nD)\)。
- 高斯过程加速:将高斯过程中的核矩阵用RFF近似,使得预测计算更高效。
- 核化神经网络:在神经网络前添加随机傅里叶特征层,将输入映射到近似核空间,再通过线性层进行分类/回归。
实现细节与扩展
- 采样技巧:频率向量 \(\boldsymbol{\omega}\) 可从 \(p(\boldsymbol{\omega})\) 精确采样(如高斯分布),也可通过正交采样、准蒙特卡洛方法降低方差。
- 可训练RFF:将 \(\boldsymbol{\omega}\) 和 \(b\) 作为可学习参数,在训练中调整,以提升特征表达能力。
- 高效计算:对大规模数据,可采用随机傅里叶特征结合随机梯度下降,实现线性时间训练。
总结
随机傅里叶特征通过随机投影和三角基函数,将平移不变核函数近似为低维显式特征映射。该方法突破了传统核方法的计算瓶颈,为大规模数据下的核方法应用提供了可行路径,并在注意力加速、高斯过程等领域有重要应用。