当前位置: 首页 > 科技观察

在理解通用近似定理之前,你可能都不会理解神经网络

时间:2023-03-14 15:26:29 科技观察

在理解广义逼近定理之前,你可能不理解神经网络在推文中,LeCun表示:“深度学习并没有你想象的那么令人印象深刻,因为它只是曲线拟合产生的插值结果。但在高维空间中,有“没有插值之类的东西。在高维度上,一切都是外推。”LeCun转发了哈佛大学认知科学家StevenPinker的一条推文,他说:“万能逼近定理很好地解释了神经网络为什么起作用,为什么起作用。它经常不起作用。只有了解安德烈,你才能理解神经网络叶氏一般逼近定理。”Pinker提到的AndreYe就是下一篇文章《You Don’t Understand Neural Networks Until You Understand the Universal Approximation Theorem》的作者。虽然是去年的文章,但是对理解神经网络起到了非常重要的作用。在人工神经网络的数学理论中,万能逼近定理(或称万能逼近定理)指出了人工神经网络逼近任意函数的能力。通常该定理所指的神经网络是前馈神经网络,近似的目标函数通常是连续函数,其输入和输出都在欧氏空间。然而,一些研究已经将该定理扩展到其他类型的神经网络,例如卷积神经网络、径向基函数网络或其他特殊的神经网络。这个定理意味着神经网络可以用来以任意的逼近精度逼近任意复杂的函数。但它并没有告诉我们如何选择神经网络参数(权重、神经元个数、神经层数等)来实现我们想要逼近的目标函数。1989年,GeorgeCybenko首先提出并证明了单隐层、任意宽度、激活函数为S函数的前馈神经网络的一般逼近定理。两年后的1991年,KurtHornik发现激活函数的选择不是关键,前馈神经网络的多层神经层和多神经元架构才是使神经网络成为通用逼近器的关键。最重要的是,这个定理解释了为什么神经网络看起来表现得如此聪明。理解它是深入理解神经网络的关键一步。更深入的探索紧凑(有限、封闭)集上的任何连续函数都可以用分段函数来逼近。以-3和3之间的正弦波为例,它可以由三个函数逼近-两个二次函数和一个线性函数,如下图所示。然而,Cybenko对这个分段函数的描述更为具体,因为它可以是常量,本质上是逐步拟合函数。有了足够多的常数域(步长),我们就可以在给定的范围内合理地估计函数。基于这种近似,我们可以使用神经元作为构建网络的步骤。使用权重和偏差作为“门”来确定哪个输入下降以及哪个神经元应该触发,具有足够数量神经元的神经网络可以简单地将函数分成几个恒定区域来估计。对于落在神经元下行部分的输入信号,通过将权重放大到更大的值,最终值将接近于1(使用sigmoid函数计算时)。如果它不属于这个部分,将权重移向负无穷大将产生接近于0的最终结果。使用sigmoid函数作为某种处理器来确定神经元的存在,任何函数都可以几乎完美地近似,只要因为有大量的神经元。在多维空间中,Cybenko概括了每个神经元控制多维函数中的空间超立方体的想法。通用逼近定理的关键在于,它不是在输入和输出之间建立复杂的数学关系,而是使用简单的线性运算将复杂的函数拆分为许多更小、更不复杂的部分,每个部分由一个神经元元处理控制。自Cybenko的初步证明以来,已经进行了许多新的改进,例如针对不同的激活函数(例如ReLU)或使用不同的架构(递归网络、卷积等)测试一般逼近定理。无论如何,所有这些探索都围绕着一个想法——神经网络在神经元数量上找到了优势。每个神经元监控一个模式或特征空间区域,其大小由网络中的神经元数量决定。神经元越少,每个神经元需要监视的空间就越大,因此逼近度降低。然而,有了更多的神经元,无论激活函数是什么,任何函数都可以拼接成许多小块。概括和外推有人可能会指出通用逼近定理虽然简单,但有点太简单了(至少在概念上如此)。神经网络可以计算数字、生成音乐等,并且通常表现得很智能,但实际上只是一个复杂的逼近器。神经网络旨在能够对给定数据点的复杂数学函数进行建模。神经网络是很好的逼近器,但如果输入超出训练范围,它们就没用了。这类似于有限泰勒级数逼近,在一定范围内可以拟合正弦波,但超出范围就失效了。外推,或在给定训练范围之外做出合理预测的能力,并不是神经网络的设计目的。从通用逼近定理,我们了解到神经网络不是真正的智能,而是隐藏在多维伪装下的估计器,在两个或三个维度上看起来很普通。定理的实际意义当然,万能逼近定理假设你可以不断地添加神经元到无穷大,这在实践中是不可行的。此外,使用神经网络参数的几乎无限组合来找到最佳性能组合是不切实际的。然而,该定理还假设只有一个隐藏层,并且随着添加更多隐藏层,通用逼近的复杂性和潜力呈指数增长。相反,机器学习工程师凭直觉和经验决定如何构建适合给定问题的神经网络架构,以便它可以很好地逼近多维空间,知道存在这样的网络,但会在计算性能上做出权衡。