感知器可以相互连接在一起构成多层感知器(Multi-Layer Perception,简称MLP)。多层感知器一般有很多个层次,可以看成是神经网络的基本形式。
单个感知器具有一定的拟合能力,因而,多层感知器有更为强大的拟合能力,可以用来解决更为复杂的问题。
下图为一个多层感知器的示意图,它具有输入层,输出层以及三个隐藏层次。
多层感知器的输入也是一个向量,即( 1,x1,…xn ),这跟单个感知器的输入是一样的。
在隐藏层,每一个节点都相当于一个感知器。因为每一个感知器都有一些参数,所以整个多层感知器的参数数量是比较多的,相当于感知器的很多倍。
输出层的节点也可以是感知器,还可以根据实际的应用做出调整。比如在分类任务中,多层感知器的输出层经常是一个softmax函数。
多层感知器的隐藏层节点的连接经常是“全连接”的,即把上一层节点的输出全部连接在一起,作为下一层节点的输入部分。“全连接”虽然比较简单,但是在神经网络中经常用到这个感念,因此还需要注意。
当然多层感知器的结构也可以不是全连接的形式,可以去掉一些节点和连接,如下图所示:
下图为输出层接softmax的多层感知器,它的输入为一个长度为784的向量,另外还有一个偏置项。+1代表偏置参数的系数为1,每一层都带有一个偏置项。
我们来看一下它的数学表达式:
第一个隐藏层:
H1=ϕ(W1X+b1),
其中ϕ代表激活函数,常见的有sigmoid、tanh或ReLU等函数;
第二个隐藏层:
H2=ϕ(W2H1+b2);
最后,再经过输出层,得到:
Y=softmax(W3H2+b3),
即为最后的分类结果向量。
激活函数常见的有sigmoid、tanh或ReLU等,如下图所示:
Softmax函数,如下图所示:
谢谢阅读,欢迎交流讨论。
领取专属 10元无门槛券
私享最新 技术干货