多层感知器替换为单层感知器 [英] Multilayer Perceptron replaced with Single Layer Perceptron
问题描述
我在理解MLP和SLP之间的差异时遇到了一个问题.
I got a problem in understending the difference between MLP and SLP.
我知道,在第一种情况下,MLP具有一层以上的层(隐藏层),并且神经元具有非线性激活函数,例如逻辑函数(梯度下降所需) ).但我读过:
I know that in the first case the MLP has more than one layer (the hidden layers) and that the neurons got a non linear activation function, like the logistic function (needed for the gradient descent). But I have read that:
如果MLP中的所有神经元均具有线性激活功能,则MLP 可以被单层的感知器代替,只能 解决线性可分离的问题"
"if all neurons in an MLP had a linear activation function, the MLP could be replaced by a single layer of perceptrons, which can only solve linearly separable problems"
我不明白为什么在不能线性分离的XOR的特殊情况下,等效的MLP是一个两层网络,每个神经元都具有线性激活函数,如阶跃函数.我知道我需要两行分隔线,但是在这种情况下,我不能应用上一条语句的规则(用SLP替换MLP).
I don't understand why in the specific case of the XOR, which is not linearly separable, the equivalent MLP is a two layer network, that for every neurons got a linear activation function, like the step function. I understand that I need two line for the separation, but in this case I cannot apply the rule of the previous statment (the replacement of the MLP with the SLP).
xor的Mlp:
http://s17.postimg.org/c7hwv0s8f/xor.png
在链接的图像中,神经元A B和C具有线性激活函数(如阶跃函数)
In the linked image the neurons A B and C have a linear activation function (like the step function)
异或: http://s17.postimg.org/n77pkd81b/xor1.png
推荐答案
线性函数是f(x) = a x + b
.如果我们采用另一个线性函数g(z) = c z + d
,并应用g(f(x))(这相当于将一个线性层的输出作为下一个线性层的输入),则得到g(f(x)) = c (a x + b) + d = ac x + cb + d = (ac) x + (cb + d)
本身就是另一个线性函数.
A linear function is f(x) = a x + b
. If we take another linear function g(z) = c z + d
, and apply g(f(x)) (which would be the equivalent of feeding the output of one linear layer as the input to the next linear layer) we get g(f(x)) = c (a x + b) + d = ac x + cb + d = (ac) x + (cb + d)
which is in itself another linear function.
步进函数不是线性函数-您不能将其写为a x + b
.这就是为什么使用阶跃函数的MLP绝对比使用阶跃函数的单层感知器更具表现力的原因.
The step function is not a linear function - You cannot write it as a x + b
. That's why a MLP using a step function is strictly more expressive than a single layer perceptron using a step function.
这篇关于多层感知器替换为单层感知器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!