一个MLP只要它无限宽或无限深,就可以解决指数级别宽的问题。并且最佳宽度取决于布尔函数的复杂性理论所需要变量个数。
大多数布尔函数,阈门是一个多项式函数,并且n是一个最佳深度,如果限制深度的话,需要指数级别的单元。那意味着,如果限制深度,正如限制MLP的深度,那么大多数的函数是无法表达的。因此,更深意味着更好。如果增加深度,意味着你可表达的函数,也呈指数级增加。
我们在现实中更多讨论的是分类问题,我们已经将MLP作用于真实的输入,MLP实际上就是找到一个复杂的决策边界,如果你是在做分类,边界内得到1,边界外得到0。单个感知机只是一个线性分类,它使用一个线性边界,它实际上是一个超平面。一侧输出是0,一侧输出是1,这是二维的,感知机就是类似于这样的形式,我们可以计算或与非逻辑,但无法计算XOR,因为XOR并非是一个阶梯函数,XOR横切与对角线,一旦越过对角线就回来了,因此无论你所做的感知机如何复杂,都无法表达XOR,感知机只能具有线性边界。但我们可以使用MLP组合一个随机的决策边界,得到任意的凸多边形(一个隐藏层的MLP只能组成凸多边形)。如何做出非凸的决策边界呢?我们通过叠加多余一层的网络来得到任意决策边界。但我们可以只使用一个隐藏层构成一个任意的决策边界吗?
含有一个隐藏层的mlp可以对任意一个分类器任意精度的边界建模,但是这将会需要指数数量的非常大的神经元数量将接近无限。
现在浅层网络需要的神经元的数量,是输入维度的潜在指数,任何时候固定你网络的深度,对于一个特别大的函数来说这都是浅层的。MLP是一个布尔机器,甚至是一个单隐层的网络作为布尔机。多层感知机是一个通用分类函数,甚至是一个两层或者一层隐层的通用分类器。但是相对于一个深层网络,一个单隐层的网络可能需要指数级数量的感知机。建造同样的函数,更深的网络可能需要更少的神经元。
MLP是通用布尔函数、通用分类器、通用逼近器。一个单层MLP可以近似任意精度,但对于输入尺寸会有指数级或者无限宽,MLP可以用更少的神经元实现同样精度。更深层次的网络更具表现力,即可以构建更多类型的函数。