老饼讲解:一步一步上手深度学习
MLP(MultiLayer Perceptron)顾名思议就是多层感知机,多层自然是它的特色。
好了,上一节我们为了上手方便,讲了三层MLP,在这基础上,我们这一节再来看看多层MLP长什么样。
好了,理解了三层的MLP,就很容易理解多层MLP了,它无非就是三层MLP继续层层套娃。
多层MLP的拓扑结构图如下:

如图所示,多层MLP拥有许多个隐层,它层层前馈,而每层都是按以下公式计算:
这里的指的是该层的输出值,指的是该层的输入值(也就是前层的输出值),是该层的权重和阈值(每层的W、b都是独立的,这里我们只是为简洁,统一用同一符号表示),最后,则是该层的激活函数。激活函数与三层MLP一样,隐层一般使用sigmoid或tanh函数,而输出层则根据具体问题而设定,一般设为softmax、identity、sigmoid等等。
不妨设一个100层MLP,隐层都用tanh函数,输出层用identity恒等函数(),则它的输出为:

多层MLP的计算就是如此简单,总的来说就是层层向前运算,当前层的输出,就是下一层的输入。
事实上,对于多层MLP,我们最好用"前馈型模型"的角度来看待它,也就是它是一层一层向前运算的,每层都有自己的运算,计算完后,就把输出丢给下一层。而MLP是较简单的前馈型模型,它每一层的运算都是。

MLP是理解前馈模型的经典模型,通过层层独立的角度,不管多么复杂的前馈模型,都能对它进行解耦,只需要关注每一层的输入、输出就行了。特别是在研究、修改时,这种层独立的视角可以使问题简化许多。
三层MLP能够拟合任意关系,多层MLP当然也能够拟合任意关系,但是,多层MLP比三层更加复杂,模型更加难训练,因此,一般用来拟合关系的时候,用三层MLP就够了。
多层MLP更大的意义是理论研究与指导,由于深度学习很多都是前馈模型,而多层MLP是一种相对简单的前馈模型,所以往往对前馈模型的研究都先在MLP上玩一玩,而对前馈模型的解释,也喜欢把MLP作为例子推出来说一说。
多层MLP就是层层套娃的前馈模型,与三层MLP一样可以用于拟合任意关系,但它更多时候是充当多层前馈模型的经典模型,用于研究、讨论。
评论