万能近似定理

背景

现如今,人工智能领域很多领域都是基于深度学习,深度学习的基础就是神经网络可以以任意精度拟合任意函数,神经网络的这种能力也被称为万能近似定理。

原理

万能近似原理是这样的:给定一个线性变换和一个具有“挤压”性质的激活函数,只需要一个隐藏层,神经网络便能以任意精度拟合任意函数。这里具有“挤压”性质的激活函数是有界非严格单调递增的非线性激活函数。更通用的说,神经网络这一特性并不要求激活函数是有界的,比如著名的ReLU函数,而是要求激活函数可以组合出具有“挤压”性质的函数,比如ReLU函数就可以通过位移相减得到这样一个函数。

那么为什么具有“挤压”性质的激活函数可以辅助线性变换拟合任意函数?我们知道,通过线性变换,可以将“挤压函数”在定义域上无限逼近阶梯函数,只需要无限压扁“挤压”函数中间的非收敛区即可。而有了阶梯函数,我们又可以通过位移相减得到一个只有一段有值的函数,我们可以将其看作是一个“塔”,这样我们就可以通过大量的“塔”的线性组合去拟合任意函数了。

深度vs宽度

我们可以认为至多两个神经元可以组合出一个“挤压”函数,至多两个神经元可以组合出一个“阶梯”函数,至多四个神经元可以组合出一个“塔”,所以隐藏层神经元个数越多,我们就可以组合越多的“塔”去拟合任何函数。这是从宽度上面去分析,可以知道,只要神经元数量足够多就可以拟合任何函数。从深度上面去分析,我们可以将最后一层的作用看作是分析宽度时的作用,而前面的层,我们可以将其看作一个新的神经网络,递归分析,最终我们可以认为深度神经网络是将一个函数通过变换拟合第二个函数,然后又以第二个函数作为输入拟合第三个函数,通过多层后实现一个函数变换链,最终拟合得到目标函数。经过实践证明,在参数相同的情况下,深度会比宽度效果更好。至于为什么深度会更好,我现在还没想到数学上的证明,但直观上可以发现深度的拟合情况会随着深度叠加而复杂程度呈指数增加,可能内部存在很复杂的机制使得其效果更好。