相较神经网络,大名鼎鼎的傅里叶变换,为何没有一统函数逼近器?答案在这

机器之心报道
编辑:杜伟、陈萍
其实 , 针对不同类型的任务 , 我们可以有选择性地使用傅里叶变换或神经网络 。
函数逼近(functionapproximation)是函数论的一个重要组成部分 , 涉及的基本问题是函数的近似表示问题 。 函数逼近的需求出现在很多应用数学的分支学科中 , 尤其是计算机科学 。 具体而言 , 函数逼近问题要求我们在定义明确的类中选择一个能够以特定于任务的方式匹配(或逼近)目标函数的函数 。
目前 , 领域内可以实现函数逼近的方式有很多 , 比如傅里叶变换以及近年来新兴的神经网络 。 这些函数逼近器在实现过程中采用的方法各有不同 , 效果也各有差异 。
近日 , reddit上的一个热议帖子「对傅里叶变换和神经网络作为函数逼近器进行了比较」 。
发帖者认为 , 这是一个基础性问题 。 ta提出了疑问 , 「如果神经网络的主要前提是全局函数逼近器 , 那么与傅里叶变换等其它也被证明能逼近任何函数的逼近器相比有哪些优势?为什么整个监督学习没有变成计算傅里叶系数的领域之一?」
相较神经网络,大名鼎鼎的傅里叶变换,为何没有一统函数逼近器?答案在这
文章图片
原贴地址:https://www.reddit.com/r/MachineLearning/comments/ryw53x/d_fourier_transform_vs_nns_as_function/
网友纷纷对以上问题给出了他们的解读 。
傅里叶变换、神经网络 , 应按需使用
在网友众多的回答中 , 一位网友的回答可谓是高赞 , 收获208点赞量 。 ta的回答是这样的:
相较神经网络,大名鼎鼎的傅里叶变换,为何没有一统函数逼近器?答案在这
文章图片
高赞回答部分截图
大多数研究都证明了这一点 , 即傅里叶级数是连续函数的通用逼近器 。 (快速)傅里叶变换(FFT)可用于从均匀间隔的数据中快速计算傅里叶级数 , 尽管也存在非均匀FFT 。 FFT具有以下特性:如果模型足够平滑 , 它们会得到光谱收敛 , 这意味着误差呈指数递减(你可以通过系数的赫尔德条件看到这一点) 。 虽然傅里叶级数需要周期性 , 但对其模型的扩展包括切比雪夫变换/切比雪夫多项式 , 它们具有相似的光谱收敛性 , 但在[-1,1]上 , 它们是非周期函数 。
神经网络收敛速度达不到指数级 , 甚至在最优的情况下 , 也很少达到线性收敛速度 , 那么为什么很多研究都使用神经网络方法呢?首先 , 我们以计算科学来说 , 很多研究都使用拟谱法、谱元素等 。 甚至多项式也是大量函数的通用逼近器(参考魏尔施特拉斯逼近定理) 。
我们回到刚才的问题 , 为什么是神经网络?答案是因为所有这些通用逼近器都是一维的(也有一些专门为低维设计的逼近器 , 例如球谐函数 , 但它们适用于非常特殊的情况) 。 你可以通过张量积将一维通用逼近器变为多维 , 但是如果将其写出来 , 你会看到会发生以下现象 , 一维通用逼近器:
二维通用逼近器 , 其形式如下:
通过对上述公式进行研究发现 , 当进入更高维度时 , 必须为更高阶项的每个组合添加新的项 。 组合以阶乘或近似指数的方式增长 。 例如一个表达形式有161,700个项 , 这也仅表示100维输入扩展的三阶交叉项 。 使用这种近似器永远不会完全表示具有数千个像素的大图像 。
这种相对于输入大小呈现指数增长的方式就是所谓的维度灾难 。 神经网络的经验证明了多项式成本增长与输入大小的关系 , 这就是为什么神经网络被用于这些大数据问题的原因 。
但这是否意味着傅里叶级数可以更好地解决足够小、足够平滑的问题?确实如此!这就是为什么基于物理的神经网络和傅里叶神经算子在3维情况下无法与优秀的PDE求解器竞争 。 事实上 , 在论文《UniversalDifferentialEquationsforScientificMachineLearning》中 , 该研究展示了如何以特定方式将CNN+通用逼近器混合到ODE(通用微分方程)中 , 以自动发现PDE离散化 , 论文表明 , 对于特定情况 , 傅里叶通用逼近器比神经网络效果更好 。 出于这个原因 , DiffEqFlux.jl包括经典基础层和张量积工具 , 也就是说 , 它们必须在正确的上下文中使用 。 请记住 , 谱收敛要求被逼近的函数是平滑的 , 当违反这一点时 , 你仍然可以获得收敛 , 但速度很慢 。