资讯

通用逼近定理是什么?神经网络为什么能拟合几乎任何函数

2026-11-052 分钟阅读百科
TL;DR通用逼近定理是神经网络的重要理论基础,指出只要隐藏层神经元足够多、并使用非线性激活函数,单隐藏层的前馈神经网络就能以任意精度逼近任何连续函数,由 George Cybenko 在 1989 年首先证明。

通用逼近定理(Universal Approximation Theorem)是神经网络领域最重要的理论基础之一。它说的是:只要结构足够复杂,神经网络能够以任意精度逼近任何连续函数。换句话说,无论输入和输出之间是多么复杂的关系,理论上总存在一个神经网络能把它描述得足够准确。

它的来历

这一定理最早由 George Cybenko 在 1989 年证明,论文标题是《用 Sigmoid 函数的叠加进行逼近》。他证明了:只要隐藏层的神经元数量足够多,并且使用 Sigmoid 这样的非线性激活函数,只有一个隐藏层的前馈神经网络,就可以逼近定义在有限区域上的任何连续函数。同一时期,Kurt Hornik 等人在 1989 到 1991 年间进一步推广了这个结论,证明它并不依赖于具体使用哪一种激活函数,关键在于网络的多层结构本身,只要激活函数是非线性的(满足一定条件)即可。后来的研究还把它推广到了 ReLU 等现代常用的激活函数,以及“宽度有限但足够深”的网络。

直观理解

可以这样想:每个隐藏神经元用非线性激活函数产生一个“小台阶”或“小鼓包”,把很多个这样的小形状按不同的位置、高度叠加起来,就能拼出任意复杂的曲线,就像用很多块积木搭出任何形状。神经元越多,积木越小、越细,拼出来的形状就越精确。非线性是关键:如果激活函数是线性的,无论叠多少层,整个网络仍然只是一个线性函数,什么复杂的关系都表达不了。

它没有告诉我们什么

通用逼近定理是一个“存在性”的结论:它保证合适的网络存在,但没有告诉我们需要多少个神经元(可能多到不现实),也没有告诉我们如何通过训练找到这个网络的参数,更不保证从有限的训练数据中学到的网络在新数据上也表现良好。实际上,深度学习的成功还依赖于优化算法、海量的数据和合适的网络结构。研究也表明,深层网络往往能用比浅层网络少得多的参数表达同样复杂的函数,这是“深度”学习比“宽度”学习更有效的原因之一。