深度学习中的随机傅里叶特征(Random Fourier Features, RFF)原理与核方法近似加速机制
字数 2598 2025-12-17 20:05:09

深度学习中的随机傅里叶特征(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:平移不变核的傅里叶分析

  1. 给定平移不变核函数:

\[ k(\mathbf{x}, \mathbf{y}) = k(\mathbf{x} - \mathbf{y}) \]

  1. 由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} \]

  1. 对于高斯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:构造随机特征映射

  1. \(p(\boldsymbol{\omega})\) 中独立采样 \(D\) 个频率向量:\(\boldsymbol{\omega}_1, \dots, \boldsymbol{\omega}_D \in \mathbb{R}^d\)
  2. 从均匀分布 \(U[0, 2\pi]\) 中独立采样 \(D\) 个相位偏置:\(b_1, \dots, b_D\)
  3. 对任意输入向量 \(\mathbf{x} \in \mathbb{R}^d\),构造映射:

\[ z_\omega(\mathbf{x}) = \sqrt{\frac{2}{D}} \cos(\boldsymbol{\omega}^\top \mathbf{x} + b) \]

  1. 拼接所有采样得到的特征,得到 \(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:核函数近似

  1. \(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}) \]

  1. 该近似误差的收敛率为 \(O(1/\sqrt{D})\),即只需中等维数即可获得高质量近似。

在深度学习中的应用

  1. 近似注意力机制:RFF可用于线性化注意力计算,如Performer、Linear Transformer等模型,将Softmax核 \(\exp(\mathbf{q}^\top \mathbf{k})\) 替换为RFF近似,将计算复杂度从 \(O(n^2)\) 降至 \(O(nD)\)
  2. 高斯过程加速:将高斯过程中的核矩阵用RFF近似,使得预测计算更高效。
  3. 核化神经网络:在神经网络前添加随机傅里叶特征层,将输入映射到近似核空间,再通过线性层进行分类/回归。

实现细节与扩展

  1. 采样技巧:频率向量 \(\boldsymbol{\omega}\) 可从 \(p(\boldsymbol{\omega})\) 精确采样(如高斯分布),也可通过正交采样、准蒙特卡洛方法降低方差。
  2. 可训练RFF:将 \(\boldsymbol{\omega}\)\(b\) 作为可学习参数,在训练中调整,以提升特征表达能力。
  3. 高效计算:对大规模数据,可采用随机傅里叶特征结合随机梯度下降,实现线性时间训练。

总结

随机傅里叶特征通过随机投影三角基函数,将平移不变核函数近似为低维显式特征映射。该方法突破了传统核方法的计算瓶颈,为大规模数据下的核方法应用提供了可行路径,并在注意力加速、高斯过程等领域有重要应用。

深度学习中的随机傅里叶特征(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 \) 作为可学习参数,在训练中调整,以提升特征表达能力。 高效计算 :对大规模数据,可采用随机傅里叶特征结合随机梯度下降,实现线性时间训练。 总结 随机傅里叶特征通过 随机投影 和 三角基函数 ,将平移不变核函数近似为低维显式特征映射。该方法突破了传统核方法的计算瓶颈,为大规模数据下的核方法应用提供了可行路径,并在注意力加速、高斯过程等领域有重要应用。