文本是教程"The Universal Approximation Theorem for neural networks" by Michael Nielsen 的笔记。

Universal approximation theorem

为什么MLP可以拟合任意的函数?

我们考虑一个最简单的神经网络,最后一层是sigmoid函数:

在这里插入图片描述

事实上这就是一个线性函数,然后经过sigmoid扭曲为一条曲线,显然,b决定了不同截距,从而导致sigmoid位置发生了平移。类似的,w决定了线的斜率,从而影响sigmoid倾斜程度:

在这里插入图片描述

如果我们将斜率w设置为非常大,那么这个sigmoid函数将成为一个分段函数:

在这里插入图片描述

如果熟悉决策树的话,其实已经可能有同学猜到这个分段函数怎么去近似任意的函数了,其实很直接,我们可以构造很多个不同的分段函数:

然后将他们以某种权重相加,就能得到一条经过两次分段的函数:

在这里插入图片描述

只要我们有足够多的分段函数,并且仔细调整他们相加的权重,我们就能近似任意的函数:
在这里插入图片描述

在多维函数也是类似的,只是变成一种对空间的划分,只要划分足够多,总能近似任意的函数。

参考资料

Pay Attention to What You Need: Do Structural Priors Still Matter in the Age of Billion Parameter Models?

Understanding the Universal Approximation Theorem

The Universal Approximation Theorem for neural networks

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐