Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

陈萍报道

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

通用近似定理很好地解释了为什么神经网络能工作以及为什么它们经常不起作用。

此前,图灵奖得主、深度学习先驱 Yann LeCun 的一条推文引来众多网友的讨论。

在该推文中,LeCun 表示:「深度学习并不像你想象的那么令人印象深刻,因为它仅仅是通过曲线拟合产生的插值结果。但在高维空间中,不存在插值这样的情况。在高维空间中,一切都是外推。」

而 LeCun 转发的内容来自哈佛认知科学家 Steven Pinker 的一条推文,Pinker 表示:「 通用近似定理很好地解释了为什么神经网络能工作以及为什么它们经常不起作用。只有理解了 Andre Ye 的通用近似定理,你才能理解神经网络。」

Pinker 所提到的 Andre Ye,正是接下来要介绍《You Don’t Understand Neural Networks Until You Understand the Universal Approximation Theorem》文章的作者。虽然该文章是去年的,但在理解神经网络方面起到非常重要的作用。

在人工神经网络的数学理论中, 通用近似定理(或称万能近似定理)指出人工神经网络近似任意函数的能力。通常此定理所指的神经网络为前馈神经网络,并且被近似的目标函数通常为输入输出都在欧几里得空间的连续函数。但亦有研究将此定理扩展至其他类型的神经网络,如卷积神经网络、放射状基底函数网络、或其他特殊神经网络

此定理意味着神经网络可以用来近似任意的复杂函数,并且可以达到任意近似精准度。但它并没有告诉我们如何选择神经网络参数权重神经元数量、神经层层数等等)来达到我们想近似的目标函数

1989 年,George Cybenko 最早提出并证明了单一隐藏层、任意宽度、并使用 S 函数作为激励函数的前馈神经网络的通用近似定理。两年后 1991 年,Kurt Hornik 研究发现,激活函数的选择不是关键,前馈神经网络的多层神经层及多神经元架构才是使神经网络有成为通用逼近器的关键。

最重要的是,该定理解释了为什么神经网络似乎表现得如此聪明。理解它是发展对神经网络深刻理解的关键一步。

更深层次的探索

紧凑(有限、封闭)集合上的任何连续函数都可以用分段函数逼近。以 - 3 和 3 之间的正弦波为例,它可以用三个函数来近似——两个二次函数和一个线性函数,如下图所示。

然而,Cybenko 对这个分段函数描述更为具体,因为它可以是恒定,本质上通过 step 来拟合函数。有了足够多的恒定域 (step),我们就可以在给定的范围内合理地估计函数。

基于这种近似,我们可以将神经元当做 step 来构建网络。利用权值和偏差作为「门」来确定哪个输入下降,哪个神经元应该被激活,一个有足够数量神经元神经网络可以简单地将一个函数划分为几个恒定区域来估计。

对于落在神经元下降部分的输入信号,通过将权重放大到较大的值,最终的值将接近 1(当使用 sigmoid 函数计算时)。如果它不属于这个部分,将权重移向负无穷将产生接近于 0 的最终结果。使用 sigmoid 函数作为某种处理器来确定神经元的存在程度,只要有大量的神经元,任何函数都可以近乎完美地近似。在多维空间中,Cybenko 推广了这一思想,每个神经元在多维函数中控制空间的超立方体。

通用近似定理的关键在于,它不是在输入和输出之间建立复杂的数学关系,而是使用简单的线性操作将复杂的函数分割成许多小的、不那么复杂的部分,每个部分由一个神经元处理。

自 Cybenko 的初始证明以后,学界已经形成了许多新的改进,例如针对不同的激活函数(例如 ReLU),或者具有不同的架构(循环网络、卷积等)测试通用近似定理。

不管怎样,所有这些探索都围绕着一个想法——神经网络神经元数量中找到优势。每个神经元监视特征空间的一个模式或区域,其大小由网络中神经元的数量决定。神经元越少,每个神经元需要监视的空间就越多,因此近似能力就会下降。但是,随着神经元增多,无论激活函数是什么,任何函数都可以用许多小片段拼接在一起。

泛化和外推

有人可能指出,通用近似定理虽然简单,但有点过于简单(至少在概念上)。神经网络可以分辨数字、生成音乐等,并且通常表现得很智能,但实际上只是一个复杂的逼近器。

神经网络旨在对给定的数据点,能够建模出复杂的数学函数。神经网络是个很好的逼近器,但是,如果输入超出了训练范围,它们就失去了作用。这类似于有限泰勒级数近似,在一定范围内可以拟合正弦波,但超出范围就失效了。

外推,或者说在给定的训练范围之外做出合理预测的能力,这并不是神经网络设计的目的。从通用近似定理,我们了解到神经网络并不是真正的智能,而是隐藏在多维度伪装下的估计器,在二维或三维中看起来很普通。

定理的实际意义

当然,通用逼近定理假设可以继续向无穷大添加神经元,这在实践中是不可行的。此外,使用神经网络近乎无限的参数组合来寻找性能最佳的组合也是不切实际的。然而,该定理还假设只有一个隐藏层,并且随着添加更多隐藏层,复杂性和通用逼近的潜力呈指数增长。

取而代之的是,机器学习工程师依据直觉和经验决定了如何构造适合给定问题的神经网络架构,以便它能够很好地逼近多维空间,知道这样一个网络的存在,但也要权衡计算性能。
入门工作原理神经网络通用近似定理
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

曲线拟合技术

曲线拟合(fit theory),俗称拉曲线,是一种把现有数据透过数学方法来代入一条数式的表示方式。科学和工程问题可以通过诸如采样、实验等方法获得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合,这过程就叫做拟合 (fitting)。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

插值技术

数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

前馈神经网络技术

前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。在它内部,参数从输入层经过隐含层向输出层单向传播。与递归神经网络不同,在它内部不会构成有向环。FNN由一个输入层、一个(浅层网络)或多个(深层网络,因此叫作深度学习)隐藏层,和一个输出层构成。每个层(除输出层以外)与下一层连接。这种连接是 FNN 架构的关键,具有两个主要特征:加权平均值和激活函数。

推荐文章
暂无评论
暂无评论~