来自维基百科:
如果多层感知器在所有神经元中都具有线性激活功能,即将加权输入映射到每个神经元输出的线性函数,则可以使用线性代数轻松证明可以减少任意数量的层数标准的双层输入输出模型(参见perceptron)。
我见过Multilayer Perceptron replaced with Single Layer Perceptron,我理解的是这是因为线性函数的组合可以用线性函数表示,这是唯一的原因,我是对的吗?
那么减少过程如何?即如果我们有3x5x2 MLP,那么SLP会是什么样子?输入层的大小是否基于用于表示线性函数的参数数量,如上面链接的答案?:
f(x)= a x + b
g(z)= c z + d
g(f(x))= c(a x + b)+ d = ac x + cb + d =(ac)x +(cb + d)
所以这将是4个输入? (a,b,c,d,因为它是两个具有不同参数的线性函数的组合)
提前致谢!
答案 0 :(得分:2)
大小将为3X2,隐藏层将消失,隐藏层线性函数的所有权重都会折叠为输入图层的权重。在你的例子的这种情况下,有3次5(输入到隐藏),即15个函数加,5次2(隐藏到输出),即10个函数。总共有25种不同的线性函数。它们是不同的,因为每种情况下的重量都不同。所以你所描述的f(x)和g(z)不是一个正确的描述。
隐藏层的折叠可以通过简单地获取输入神经元和输出神经元,并通过穿过隐藏层将这两个神经元连接在一起的节点上的所有中间函数的线性组合来实现。最后,您将有6个独特的函数来描述您的3X2映射。
为了您自己的理解,尝试使用简单的2X2X1 MLP在纸上进行此操作,每个节点具有不同的权重。