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

为什么神经网络如此强大?

时间:2023-03-17 14:58:58 科技观察

UniversalApproximationTheorem众所周知,神经网络非常强大,它们几乎可以用于任何统计学习问题并取得很好的效果。但是你有没有想过这是为什么?为什么这种方法在大多数情况下比许多其他算法更强大?与机器学习一样,这有一个精确的数学原因。简而言之,神经网络模型描述的特征集非常大。但是描述一组函数意味着什么呢?一组函数有多大?这些概念乍一看似乎难以理解,但可以正确定义它们,从而阐明为什么某些算法优于其他算法。作为函数逼近的机器学习让我们抽象地了解什么是机器学习问题。假设我们有一个数据集,其中x???是数据点,y是与数据点相关的观察值。观察值y???可以是实数,甚至可以是概率分布(在分类的情况下)。任务只是找到一个函数f(x),其中f(x???)近似于y???。为此,我们预先固定参数化特征族,然后选择最合适的参数配置。例如,线性回归使用一族函数作为参数,以a和b为参数。如果我们假设存在一个实基函数g(x)来描述x???和y???之间的关系,那么这个问题就可以表述为一个函数逼近问题。这将我们带入了逼近理论技术的美丽境界。逼近理论简介您可能在生活中多次遇到指数函数。它被定义为其中e是众所周知的欧拉数。这是一个超越函数,这基本上意味着您无法通过有限次数的加法和乘法来计算它的值。但是当你把它放入计算器时,你仍然会得到这个值。这个值只是一个近似值,尽管它通常足以满足我们的目的。事实上,我们将其作为多项式,因此可以显式计算其值。n越大,近似值越接近真实值。逼近理论的一个核心问题是为这些问题提供一个数学框架。如果您有任何函数g(x)和一组在计算上更易于处理的函数,您的目标是找到一个足够接近g的“简单”函数。本质上,逼近理论寻找三个核心问题的答案。什么是“足够接近”?我可以(或应该)使用哪一族函数来近似?从给定的一组近似函数中,哪个函数最合适?如果这听起来有点抽象,请不要担心,因为接下来我们将研究神经网络的特例。神经网络作为函数逼近器那么,让我们重申一下这个问题。我们有一个函数g(x)来描述数据和观察之间的关系。这还不清楚,只知道g(x???)=y???的某些值。我们的工作是找到一个f(x),它可以从数据中概括知识并且在计算上是可行的。如果我们假设所有数据点都在子集X中,那么成立,我们想要一个函数的最大值尽可能少。您可以通过绘制这些函数、为图形包围的区域着色并计算沿y轴的最大扩展区域来可视化此数量。即使我们不能为任意值评估g(x),我们也应该始终从更广泛的意义上来处理它,而不是要求f(x)仅适合已知数据点x?。所以,鉴于这个问题。问题是,我们应该使用哪一组函数来进行近似?NeuralNetworkswithaSingleHiddenLayer在数学上,一个单隐藏层的神经网络被定义为其中φ是一个非线性函数(称为激活函数),例如sigmoid函数和值x对应于数据,而w?、b?和v?是参数。函数族是否足以逼近任何合理的函数?答案是肯定的!万能逼近定理的全貌:)资料来源:Cybenko,G.(1989)“通过叠加S形函数进行逼近”,控制、信号和系统数学,2(4),303–314。1989年一个著名的结果叫做万能逼近定理,它指出只要激活函数是sigmoid-like并且逼近的函数是连续的,它有一个隐藏一层的神经网络然后可以精确地逼近它如所须。(或者学习机器学习术语。)如果确切的定理看起来很难,请不要担心,我会详细解释整个过程。(实际上,我故意跳过像密度这样的概念,以使解释更清楚,尽管不精确。)步骤1.假设要学习的函数是g(x),它是连续的。让我们固定一个小的ε并在函数周围绘制一个ε宽的条纹。ε越小,结果越好。第二步。(最难的部分。)找到桌子的功能完全在边缘。这个定理保证了这样的F(x)的存在性,因此这个函数族被称为通用逼近器。这就是神经网络的强大之处,赋予它们真正的力量。但是,有几点需要注意。例如,该定理没有说明N,它是隐藏层中神经元的数量。对于小的ε,它可以非常大,从计算的角度来看这是不利的。我们希望尽可能快地计算预测,计算100亿项的总和肯定不好玩。第二个问题是,即使定理保证了一个好的逼近函数的存在,它也没有告诉我们如何找到它。尽管这可能令人惊讶,但这在数学中是非常典型的。我们有非常强大的工具来推断某些对象的存在而无需显式构造它们。(有一个数学流派叫做建构主义,它拒绝纯粹的存在性证明,例如通用逼近定理的原始证明。但是,问题很深。我们甚至不能在不接受非构造性的情况下谈论无限集上的函数proofs.)然而,最大的问题是在实践中我们从来没有完全理解底层的功能,只是我们观察到的:有无数种可能的配置可以很好地适合我们的数据。他们中的大多数人都对新数据进行了可怕的概括。您肯定知道这种现象:这是可怕的过度拟合。权力越大,责任越大。所以,就是这样。如果您有N个观测值,您可以找到一个N-1阶多项式,它非常适合您的观测值。这没什么大不了的,您甚至可以使用拉格朗日插值显式地编写该多项式。但是,它不会推广到任何新数据,而且实际上会很糟糕。下图显示了当我们尝试将一个大多项式拟合到一个小数据集时会发生什么。神经网络也有同样的现象。这是一个巨大的问题,通用逼近定理给我们关于如何克服它的绝对零提示。一般来说,一个特征族的表现力越强,越容易过拟合。权力越大,责任越大。这称为偏差方差权衡。对于神经网络,有很多方法可以缓解这种情况,从权重的L1正则化到丢弃层。但由于神经网络的表现力如此之强,这个问题总是隐约可见,需要持续关注。除了通用逼近定理正如我已经提到的,这个定理没有提供任何工具来为我们的神经网络找到参数配置。从实用的角度来看,这几乎与一般近似性质一样重要。几十年来,神经网络一直不受欢迎,因为缺乏一种计算效率高的方法来将它们拟合到数据中。有两个重要的进步使它们的使用成为可能:反向传播和通用GPU-s。有了这两个工具,训练庞大的神经网络变得轻而易举。您可以使用笔记本来训练最先进的模型,甚至不费吹灰之力。自通用逼近定理以来,我们已经走了这么远!通常,这是标准深度学习课程的起点。由于它们的数学复杂性,神经网络的理论基础没有被涵盖。但是通用逼近定理(及其证明中使用的工具)提供了对神经网络为何如此强大的深刻见解,甚至为设计新颖的架构提供了基础。毕竟,谁说我们只能组合sigmoid函数和线性函数?