对傅里叶变换和神经网络作为函数逼近器相比有哪些优势?

事实上,对于不同类型的任务,我们可以选择性地使用傅里叶变换或神经网络。

函数逼近是函数论的重要组成部分有理函数逼近及其应用,涉及的基本问题是函数的近似表示。对函数逼近的需求出现在应用数学的许多分支学科中,尤其是计算机科学。具体来说,函数逼近问题要求我们在定义明确的类中选择一个函数,该函数可以以特定于任务的方式匹配(或逼近)目标函数。

目前,该领域实现函数逼近的方法有很多,例如傅里叶变换和近年来新兴的神经网络。这些函数逼近器在实现过程中使用的方法不同,效果也不同。

最近的 reddit 帖子“比较傅立叶变换和神经网络作为函数近似”。

发帖人认为这是一个根本性的问题。ta 问道:“如果神经网络的主要前提是全局函数逼近器,那么与其他逼近器(如傅里叶变换)相比,它也被证明可以逼近任何函数,有什么优势?为什么整个监督学习没有变成计算性的?傅里叶系数的领域之一?”

原发帖地址:

对于上述问题,网友们给出了自己的解读。

傅里叶变换,神经网络,应根据需要使用

在众多网友的回答中,一位网友的回答可以说是好评如潮,208个赞。ta的回答是这样的:

好评回答截图

大多数研究已经证明傅里叶级数是连续函数的通用逼近器。(快速)傅里叶变换 (FFT) 可用于从均匀分布的数据中快速计算傅里叶级数,尽管也存在非均匀 FFT。FFT 的特性是,如果模型足够平滑,它们会在频谱上收敛,这意味着误差呈指数下降(您可以通过系数的 Hurd 条件看到这一点)。虽然傅里叶级数需要周期性,但对其模型的扩展包括切比雪夫变换/切比雪夫多项式,它们具有相似的光谱收敛性,但在 [-1,1] 上是非周期函数。

神经网络收敛速度没有达到指数级,即使在最优情况下也很少能达到线性收敛速度,那么为什么很多研究都使用神经网络方法呢?首先,在计算科学方面,许多研究使用伪谱方法、谱元素等。甚至多项式也是大量函数的通用逼近器(参见 Weierstrass 逼近定理)。

让我们回到上一个问题,为什么是神经网络?答案是因为所有这些通用逼近器都是一维的(也有一些专门为较低维度设计的逼近器,例如球谐函数,但它们适用于非常特殊的情况)。您可以通过张量积将一维通用逼近器转换为多维,但是如果您将其写出来,您会看到发生以下情况,一维通用逼近器:

a0 + a1*sin(x) + b1*cos(x) + a2*sin(2x) + b2*cos(2x) + …

形式的二维通用逼近器:

a0 + a1*sin(x) + b1*cos(x) + c1*sin(y) + d1*cos(y) + a2*sin(2x) + b2*cos(2x) + c2*sin(2y) + d2*cos(2y) + e2*sin(x)*cos(y) + …

图片[1]-对傅里叶变换和神经网络作为函数逼近器相比有哪些优势?-老王博客

对上述公式的研究表明,在输入更高维度时,必须为更高阶项的每个组合添加新项。该组合以阶乘或近似指数增长。例如,一个表示有 161,700 个项,它也只表示 100 维输入扩展的三阶交叉项。使用此近似器将永远无法完全表示具有数千个像素的大图像。

这种相对于输入大小的指数增长被称为维度灾难。神经网络的经验表明,多项式成本随着输入的大小而增长,这就是为什么要使用神经网络来解决这些大数据问题。

但这是否意味着傅立叶级数更适合足够小、足够平滑的问题?确实如此!这就是为什么基于物理的神经网络和傅里叶神经算子无法在 3 维上与优秀的 PDE 求解器竞争。事实上,在《Universal Differential Equations for Scientific Machine Learning》一文中,研究展示了如何将 CNN + Universal approximator 以特定方式混合到 ODE(Universal Differential Equation)中以自动发现 PDE 离散化,论文表明,Fourier Universal在某些情况下,逼近器比神经网络工作得更好。出于这个原因,DiffEqFlux.jl 包含了经典的基础层和张量积工具,也就是说,它们必须在正确的上下文中使用。请记住,谱收敛要求被逼近的函数是平滑的,

神经网络是工具,傅里叶级数是工具,切比雪夫级数是工具。当它们以与其理论特性相匹配的方式使用时,您可以提高性能。

关于吉布斯现象的更多信息。如果假设一个函数是平滑的,那么每个点都会影响域中的其他任何地方。您可以通过查看泰勒级数的收敛性来考虑这一点,随着您得到越来越多的导数正确,近似值越来越接近原始函数。当假设有无数个导数时,每条数据的影响实际上是全局的。当您有不连续性时,这不再是正确的,因此吉布斯现象是在该假设被打破的点附近引入的失真。这是一个非常高级的描述,但您可以将其引入频谱分析,因为它是误差界限需要做出平滑假设的地方。

傅里叶变换处理音频信号容易,但面对高维数据效率低下

网友@hillac 认为傅里叶变换被认为是具有集成核的卷积神经网络(CNN)。对数据进行预训练的傅里叶变换可以实现良好的近似。当您查看在图像上训练的 CNN 的倾斜内核时,它们会让人想起傅里叶变换中发现的不同频率触发函数。对于大多数应用来说,傅里叶变换比 CNN 更快,所以如果数据易于处理,可以使用傅里叶变换。

可以训练神经网络以更好地逼近任意数据,因为它不会对数据携带的信息做出与傅里叶变换相同的假设。因此有理函数逼近及其应用,虽然傅里叶变换可以轻松地将音频信号分解为信息高度密集的表示,但如果您尝试将其用于文本数据,它的性能将很差。

另一位网友@wavefield 表示傅里叶变换不是近似值。它是将信息变换到傅里叶域,并且仍然包含原始信号中的所有信息,这就是为什么它可以逆向计算的原因。应该看到,一些神经网络操作在傅里叶域中更容易学习。

这一观点得到了赞同。我们可以通过找到要表示的频率子集将傅里叶变换转换为近似值。如果使用损失函数 (L1)),这可以有效地完成。

并且网友@visualard总结了CNN的傅里叶变换等特点。

傅里叶分析是在全局信号上计算的,CNN 的一个优点是它们可以检测局部模式。有时,将整个信号分解成多个部分,然后对信号中的全局“事物”做出决定会更有意义。

甚至有人指出,傅里叶变换对于高维数据效率很低。使用随机傅里叶特征是解决这个问题的方法,这类似于训练一个只有最后一层的随机单隐藏层神经网络。

关于傅里叶变换和神经网络作为函数逼近器的异同和优劣,读者可以在留言区发表自己的看法。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论