论文研读系列——“Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains”

Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains

arxiv [Submitted on 18 Jun 2020]

链接:arXiv:2006.10739

代码:https://github.com/tancik/fourier-feature-networks

摘要

这项研究表明,一种称为傅里叶特征映射的基本技术可以帮助名为多层感知器(MLP)的计算机模型更有效地学习图像和三维场景等区域中的复杂模式。通常,MLP 很难掌握高频函数,这些细节变化非常快,这使得这些模型很难理解和重现图像或形状的复杂部分。通过应用傅立叶特征映射,作者得以改变模型看待输入数据的方式,使其能够更好地识别这些快速变化和细节。这种改进对于计算机视觉和图形任务意义重大,在这些任务中,捕捉高水平的细节对于创建逼真的图像、物体和场景至关重要。本文使用神经切线核(NTK)文献中的数学工具来解释为什么MLP存在这个问题,以及傅里叶特征映射如何帮助克服这个问题,从而提高模型从图像等低维数据中学习的效率。

1 Introduction(引言)

最近在计算机视觉和图形学领域的研究趋势是用深度全连接网络(也称为多层感知器或MLP)参数化的连续函数来替代物体、场景几何和外观的传统离散表示(例如网格和体素网格)。这些MLP,我们将称之为“基于坐标”的MLP,它们接受低维坐标作为输入(通常是R3中的点),并被训练用于在每个输入位置输出形状、密度和/或颜色的表示(见图1)。这一策略很有吸引力,因为基于坐标的MLP适合于基于梯度的优化和机器学习,并且比网格采样表示要紧凑得多。基于坐标的MLP已被用于表示图像,并在各种任务中取得了最先进的结果,例如形状表示、纹理合成、从图像推断形状以及新视图合成。

作者利用了最近使用核回归对深度网络行为进行建模的进展,结合神经切线核(NTK)理论,从理论上和实验上表明标准MLP并不适合这些基于低维坐标的视觉和图形任务。特别是,MLP难以学习高频函数,这在文献中被称为“频谱偏差”。NTK理论表明,这是因为标准基于坐标的MLP对应于具有快速频率衰减的核,这实际上阻止了它们能够表示自然图像和场景中存在的高频内容。

在这里插入图片描述

一些近期的实验研究发现,一种启发式的正弦波映射输入坐标(称为“位置编码”)允许MLP表示更高频率的内容。我们观察到这是傅里叶特征的一个特例:在将输入坐标v映射到 γ ( v ) = [ a 1 c o s ( 2 π b 1 T v ) , a 1 s i n ( 2 π b 1 T v ) , . . . , a m c o s ( 2 π b m T v ) , a m s i n ( 2 π b m T v ) ] T γ(v) = [a_1 cos(2πb_1^T v), a_1 sin(2πb_1^T v), ..., a_m cos(2πb_m^T v), a_m sin(2πb_m^T v)]^T γ(v)=[a1cos(2πb1Tv),a1sin(2πb1Tv),...,amcos(2πbmTv),amsin(2πbmTv)]T之前,将其传递到MLP中。作者展示了这种映射如何将NTK转换为一个平稳(移位不变)核,并通过修改频率向量bj来调整NTK的频谱,从而控制相应MLP可以学习的频率范围。还展示了一个简单策略,即设置 a j = 1 a_j=1 aj=1并从各向同性分布中随机采样 b j b_j bj,可以实现良好的性能,并且该分布的尺度(标准差)远比其具体形状更为重要。作者在与计算机视觉和图形学社区相关的一系列任务中训练了具有这种傅里叶特征输入映射的MLP。正如图1所强调的,作者提出的映射显著提高了基于坐标的MLP的性能。总结来说,作者做出了以下贡献:

  • 作者利用NTK理论和简单的实验表明,傅里叶特征映射可以被用来克服基于坐标的MLP对低频的频谱偏差,允许它们学习更高的频率(第4节)。
  • 作者展示了具有适当选择尺度的随机傅里叶特征映射可以显著提高基于坐标的MLP在计算机视觉和图形学的许多低维任务中的性能(第5节)。

2 Related Work(相关工作)

作者的工作是受到基于坐标的MLP广泛用于表示各种视觉信号的启发,包括图像和3D场景。特别是,他们的分析旨在阐明实验结果,这些结果表明使用具有对数间隔的轴向对齐频率的正弦波对坐标进行输入映射(他们称之为“位置编码”)可以提高基于坐标的MLP在从2D图像进行新视图合成和从冷冻电镜建模蛋白质结构等任务上的性能。作者分析这项技术,表明它对应于MLP的NTK的修改,并且作者展示了其他非轴向对齐的频率分布可以优于这种位置编码。

在自然语言处理和时间序列分析中的先前工作已经使用了类似的位置编码来表示时间或1D位置。特别是,Xu等人使用随机傅里叶特征来近似具有正弦输入映射的平稳核,并提出了调整映射参数的技术。作者的工作通过直接解释这些映射作为结果网络的NTK的修改进行了扩展。此外,作者解决了多维坐标的嵌入问题,这对于视觉和图形任务是必要的。

为了分析在将傅里叶特征映射应用于输入坐标之前通过MLP的效果,作者依赖于最近的理论研究,这些研究将神经网络在无限宽度和无限小学习率的极限下建模为使用NTK的核回归。特别是,作者使用了Lee等人和Arora等人的分析,这些分析表明,网络在整个梯度下降过程中的输出保持接近其NTK矩阵的特征值控制的线性动态系统。对NTK的特征分解分析表明,其特征值谱随着频率的增加而迅速衰减,这解释了深度网络学习低频函数的广泛观察到的“频谱偏差”。

作者利用这种分析来考虑在网络之前添加傅里叶特征映射的影响,作者展示了这种映射对NTK的特征值谱和相应网络在实践中的收敛性质有显著影响。

3 背景和符号

为了为理论分析奠定基础,作者首先回顾经典的核回归及其与分析深度全连接网络的训练动态和泛化行为的最新结果的联系。在后续部分中,作者使用这些工具来分析使用傅里叶特征映射训练基于坐标的MLP的效果。

核回归
核回归是一种经典的非线性回归算法。给定一个训练数据集 ( X , y ) = { ( x i , y i ) } i = 1 n (X, y) = \{(xi, yi)\}^n_{i=1} (X,y)={(xi,yi)}i=1n,其中 x i x_i xi是输入点, y i = f ( x i ) y_i = f(x_i) yi=f(xi)是相应的标量输出标签,核回归构建了一个估计值 f ^ \hat{f} f^来表示任何点x处的底层函数:

f ^ ( x ) = ∑ i = 1 n ( K − 1 y ) i k ( x i , x ) \hat{f}(x) = \sum_{i=1}^{n} (K^{-1} y)_i k(x_i, x) f^(x)=i=1n(K1y)ik(xi,x)

其中K是一个n×n的核(Gram)矩阵,其条目 K i j = k ( x i , x j ) K_{ij} = k(x_i, x_j) Kij=k(xi,xj),k是对称正半定(PSD)核函数,表示两个输入向量之间的“相似性”。直观地说,核回归估计在任何点x处可以被认为是使用相应的 x i x_i xi x x x之间的相似性对训练标签 y i y_i yi进行加权求和。

用核回归近似深度网络
假设f是一个具有从高斯分布N初始化权重的全连接深度网络。由Jacot等人提出并由其他人扩展的理论表明,当f中的层宽趋向于无穷大,且SGD的学习率趋向于零时,函数 f ( x ; θ ) f(x; θ) f(x;θ)在训练过程中收敛到使用神经切线核(NTK)的核回归解,定义为:

k N T K ( x i , x j ) = E θ ∼ N [ ∂ f ( x i ; θ ) ∂ θ , ∂ f ( x j ; θ ) ∂ θ ] k_{NTK}(x_i, x_j) = E_{θ\sim N} \left[ \frac{\partial f(x_i; θ)}{\partial θ}, \frac{\partial f(x_j; θ)}{\partial θ} \right] kNTK(xi,xj)=EθN[θf(xi;θ),θf(xj;θ)]

当输入被限制在超球面上时,MLP的NTK可以写成点积核(一种形式为 h N T K ( x i T x j ) h_{NTK}(x_i^T x_j) hNTK(xiTxj)的核,其中 h N T K : R → R h_{NTK} : R → R hNTK:RR是一个标量函数)。

先前的工作表明,NTK线性系统模型可以用来近似深度网络在训练过程中的动态。我们考虑一个用L2损失训练的网络,并且学习率η是这样设置的,即网络在初始化时的输出接近零。在Lee等人所述的渐近条件下,对于任何测试数据 X t e s t X_{test} Xtest,在t次训练迭代后,网络的输出可以近似为:

y ^ ( t ) ≈ K t e s t K − 1 ( I − e − η K t ) y \hat{y}^{(t)} \approx K_{test} K^{-1} \left( I - e^{-ηKt} \right) y y^(t)KtestK1(IeηKt)y

其中 y ^ ( t ) = f ( X t e s t ; θ ) \hat{y}^{(t)} = f(X_{test}; θ) y^(t)=f(Xtest;θ)是在训练迭代t时,网络对输入点 X t e s t X_{test} Xtest的预测,K是X中所有成对训练点之间的NTK矩阵, K t e s t K_{test} Ktest X t e s t X_{test} Xtest中所有点与训练数据集X中所有点之间的NTK矩阵。

训练神经网络时的频谱偏差
作者考虑训练误差 y ^ t r a i n ( t ) − y \hat{y}^{(t)}_{train} - y y^train(t)y,其中 y ^ t r a i n ( t ) \hat{y}^{(t)}_{train} y^train(t)是网络在迭代t时对训练数据集的预测。由于NTK矩阵K必须是PSD的,我们可以对其进行特征分解 K = Q Λ Q T K = QΛQ^T K=QΛQT,其中Q是正交的,Λ是对角矩阵,其条目λi ≥ 0是K的特征值。然后,由于 e − η K t = Q e − η Λ t Q T e^{-ηKt} = Qe^{-ηΛt}Q^T eηKt=QeηΛtQT

Q T ( y ^ t r a i n ( t ) − y ) ≈ Q T ( ( I − e − η K t ) y − y ) = − e − η Λ t Q T y Q^T(\hat{y}^{(t)}_{train} - y) \approx Q^T( \left( I - e^{-ηKt} \right) y - y) = -e^{-ηΛt}Q^T y QT(y^train(t)y)QT((IeηKt)yy)=eηΛtQTy

这意味着如果作者在NTK的特征基础上考虑训练收敛性,目标函数的对应于具有较大特征值的核特征向量的误差分量的绝对值 ∣ Q T ( y ^ t r a i n ( t ) − y ) ∣ i |Q^T(\hat{y}^{(t)}_{train} - y)|_i QT(y^train(t)y)i将近似以速率 η λ i ηλ_i ηλi指数衰减。换句话说,与具有较大特征值的核特征向量对应的目标函数分量将更快地被学习。对于传统的MLP,NTK的特征值迅速衰减。这导致对目标函数的高频分量的收敛速度极慢,以至于标准的MLP实际上无法学习这些分量,如图1所示。接下来,作者描述了一种通过在将输入坐标传递给MLP之前使用傅里叶特征映射来解决这种缓慢收敛的技术。

4 用于可调平稳神经切线核的傅里叶特征

机器学习分析通常处理的是输入为高维点(例如图像像素重新排列成向量)且训练样本在稀疏分布的情况。与此相反,本研究考虑的是低维回归任务,其中输入假定为在Rd的子集中的密集坐标,d的值很小(例如像素坐标)。这种设置在通过核回归视角看待深度网络时有两个重要的意义:

  1. 作者希望组合的NTK在输入域上是平移不变的,因为训练点以均匀密度分布。在输入归一化到超球面表面的问题中(在机器学习中很常见),点积核(例如常规的NTK)对应于球面卷积。然而,在设置中,输入在欧几里得空间是密集的。输入坐标的傅里叶特征映射使组合的NTK成为平稳的(平移不变的),在输入域上充当卷积核。
  2. 作者希望控制NTK的带宽,以改善训练速度和泛化。正如我们从公式中看到的,具有较慢频谱衰减的“更宽”核实现了高频分量的更快训练收敛。然而,我们知道,使用频谱太宽的核重建信号会导致高频混叠伪影。作者在第5节中展示了傅里叶特征输入映射可以在“欠拟合”和“过拟合”之间进行调整,从而实现快速收敛和低测试误差。

傅里叶特征和组合的神经切线核。自从Rahimi和Recht的开创性工作引入以来,傅里叶特征映射在许多应用中得到了使用,该工作通过应用Bochner定理,使用随机傅里叶特征来近似任意平稳核函数。扩展这种技术,作者使用傅里叶特征映射γ在将输入坐标通过基于坐标的MLP之前对其进行特征化,并研究这在理论和实践上对收敛速度和泛化的影响。函数γ将输入点 v ∈ [ 0 , 1 ) d v ∈ [0, 1)^d v[0,1)d映射到具有一组正弦波的更高维超球面上:

γ ( v ) = [ a 1 c o s ( 2 π b 1 T v ) , a 1 s i n ( 2 π b 1 T v ) , . . . , a m c o s ( 2 π b m T v ) , a m s i n ( 2 π b m T v ) ] T γ(v) = [a_1 cos(2πb_1^T v), a_1 sin(2πb_1^T v), ..., a_m cos(2πb_m^T v), a_m sin(2πb_m^T v)]^T γ(v)=[a1cos(2πb1Tv),a1sin(2πb1Tv),...,amcos(2πbmTv),amsin(2πbmTv)]T

因为 c o s ( α − β ) = c o s α c o s β + s i n α s i n β cos(α − β) = cos α cos β + sin α sin β cos(αβ)=cosαcosβ+sinαsinβ,由这个映射诱导的核函数是:

k γ ( v 1 , v 2 ) = γ ( v 1 ) T γ ( v 2 ) = ∑ j = 1 m a j 2 c o s ( 2 π b j T ( v 1 − v 2 ) ) = h γ ( v 1 − v 2 ) k_γ(v_1, v_2) = γ(v_1)^T γ(v_2) = \sum_{j=1}^{m} a_j^2 cos(2πb_j^T (v_1 − v_2)) = h_γ(v_1 − v_2) kγ(v1,v2)=γ(v1)Tγ(v2)=j=1maj2cos(2πbjT(v1v2))=hγ(v1v2)

w h e r e   h γ ( v ∆ ) = ∆ ∑ j = 1 m a j 2 c o s ( 2 π b j T v ∆ ) where \ h_γ(v_∆) \stackrel{\text{∆}}{=} \sum_{j=1}^{m} a_j^2 cos(2πb_j^T v_∆) where hγ(v)=j=1maj2cos(2πbjTv)

注意这个核是平稳的(仅是点之间差异的函数)。我们可以将这个映射视为核函数的傅里叶近似: b j b_j bj是用来近似核的傅里叶基频率, a j 2 a_j^2 aj2是相应的傅里叶级数系数。

在为输入点计算傅里叶特征之后,作者通过MLP传递它们以获得 f ( γ ( v ) ; θ ) f(γ(v); θ) f(γ(v);θ)。如前所述,训练网络的结果可以通过核回归来近似。

在这里插入图片描述

在训练过程中,网络的输出可以近似表示为: f ^ = ( h N T K ∘ h γ ) ∗ ∑ i = 1 n w i δ v i \hat{f} = (h_{NTK} \circ h_{\gamma}) * \sum_{i=1}^{n} w_i \delta_{v_i} f^=(hNTKhγ)i=1nwiδvi

其中 w = K − 1 y w = K^{-1}y w=K1y。这使我们能够将此与信号处理进行类比,其中组合的NTK类似于重建滤波器。在下一节中,作者将展示组合NTK的频率衰减决定了重建信号的行为。

5 Manipulating the Fourier Feature Mapping(调整傅里叶特征映射)

对坐标基MLP的输入进行傅里叶特征映射预处理,会创建一个不仅平稳而且可调的组合NTK。通过调整公式中的 a j a_j aj b j b_j bj参数,可以显著改变结果网络的收敛速度和泛化行为。在这一部分中,作者研究了在1D函数回归的背景下,傅里叶特征映射的影响。

作者训练MLP学习定义在区间[0, 1)上的信号f。在区间上采样 c n cn cn个线性间隔的点,将每c个点作为训练集,其余点作为测试集。由于组合核函数是平稳的,在周期域上的线性间隔点上评估它,使得结果的核矩阵成为循环矩阵:它表示一个卷积,并且可以通过傅里叶变换对角化。因此,作者可以通过简单地取单行的傅里叶变换来计算组合NTK矩阵的特征值。所有实验都在JAX中实现,NTK函数是使用Neural Tangents库自动计算的。

可视化组合NTK
作者首先可视化傅里叶特征映射的修改如何改变组合NTK。他们设置 b j = j b_j = j bj=j(1D中的完整傅里叶基),并且 a j = 1 / j p a_j = 1/j^p aj=1/jp对于 j = 1 , . . . , n / 2 j = 1, ..., n/2 j=1,...,n/2。我们使用 p = ∞ p = ∞ p=来表示映射 γ ( v ) = [ c o s 2 π v , s i n 2 π v ] T γ(v) = [cos 2πv, sin 2πv]^T γ(v)=[cos2πv,sin2πv]T,它简单地将 [ 0 , 1 ) [0, 1) [0,1)围绕单位圆包裹起来(这在后续实验中被称为“基本”映射)。图2展示了改变p对组合NTK的影响。通过构造,较低的p值在频率域中导致更慢的衰减,并在空间域中对应一个更窄的核。

傅里叶特征对网络收敛的影响
作者生成地面真实1D函数,方法是从具有参数α的家族中采样cn个值,如下所述:作者采样一个长度为cn的标准i.i.d.高斯向量,按 1 / i α 1/i^α 1/iα缩放其第i个条目,然后返回其逆傅里叶变换的实部。我们将这种信号称为“ 1 / f α 1/f^α 1/fα​噪声”信号。

在这里插入图片描述

在图3中,我们使用不同p值的傅里叶特征映射训练MLP(4层,1024个通道,ReLU激活),以拟合一个带限的1/f^1噪声信号(c = 8, n = 32)。图3b和3d显示,NTK线性动态模型准确地预测了修改傅里叶特征映射参数的影响。在图3c中,将训练误差的不同频率分量分开,揭示了具有较窄NTK频谱的网络对于低频分量收敛得更快,但对于高频分量基本上从不收敛,而具有较宽NTK频谱的网络成功地在所有分量上收敛。傅里叶特征映射p = 1在目标信号中具有适当的频率覆盖(因此网络在训练期间快速收敛),但在更高频率上的能力有限(防止过拟合或混叠)。

实践中调整傅里叶特征
该公式允许我们使用组合核估计训练网络在验证集上的理论损失。对于小的1D问题,作者认为可以使用基于梯度的优化来最小化这个损失,以选择映射参数 a j a_j aj(给定一个密集采样的 b j b_j bj)。在这个精心控制的设置中(1D信号,小的训练数据集,小学习率的梯度下降,非常宽的网络),作者发现这个优化的映射在训练网络时也实现了最佳性能。

在实际问题中,特别是在多维问题中,使用密集采样傅里叶基函数的特征映射是不可行的;傅里叶基函数的数量随着训练数据点的数量呈指数增长,这与维度的增长成指数关系。相反,要从参数分布中采样一组随机傅里叶特征。作者发现,与采样分布的精确形状相比,分布的尺度(标准差)要重要得多。

图4使用不同的采样分布进行超参数扫描来证明这一点。在每个子图中,作者从固定的1/f^α分布中抽取1D目标信号(c = 2, n = 1024),并训练网络来学习它们。作者使用从不同分布族(高斯、均匀、对数空间中的均匀和拉普拉斯)中采样的随机傅里叶特征映射(长度为16),并扫过每个分布的尺度。令人惊讶的是,采样频率的经验标准差单独就足以预测测试集性能,无论底层分布的形状如何。作者还观察到,将这个稀疏采样的傅里叶特征通过MLP传递与使用具有相同MLP的密集傅里叶特征集合相匹配的性能,这为扩展到更高维度提供了策略。

在这里插入图片描述

6 Experiments(实验)

简单来说,该研究测试傅立叶特征映射如何帮助计算机视觉和图形任务中基于坐标的 MLP(一种神经网络)。他们将无输入映射与三种类型的傅立叶特征映射进行了比较:基本映射、位置编码和高斯映射。基本映射将输入环绕一个圆圈,位置编码使用间隔频率,高斯使用来自高斯分布的随机值。位置编码是确定性的,可以很好地处理轴上频率更高的数据。通过测试不同选项选择的高斯映射在提高 MLP 性能方面表现最佳。实验包括直接和间接回归任务,分别调整傅立叶特征比例。直接回归使用基本真值标签进行监督,而间接回归在施加损失之前通过模型处理网络输出。任务包括 2D 图像回归、3D 形状回归、2D CT、3D MRI 和用于视图合成的 3D 反向渲染。对于二维图像回归,他们训练 MLP 根据像素坐标预测 RGB 值。3D 形状回归涉及训练 MLP 以区分形状的内/外点。总体而言,傅立叶特征映射增强了所有任务的 MLP 结果,高斯特征显示出最佳改进。

7 Conclusion(结论)

作者利用NTK理论展示了傅里叶特征映射可以使基于坐标的MLP更适合于低维中的函数建模,从而克服了基于坐标的MLP固有的频谱偏差。作者通过实验展示了调整傅里叶特征参数可以控制组合NTK的频率衰减,并显著提高一系列图形和成像任务的性能。这些发现为在计算机视觉和图形学流程中使用基于坐标的MLP来表示3D形状的新兴技术提供了见解,并为从业者在这些领域改进结果提供了一种简单策略。

最后感谢你看到这里,以上观点均为本人对原论文的个人理解,仅作个人学习使用,如有错误或侵权,麻烦联系我,本人定修改或删除。

祝你天天开心,多笑笑。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值