多层感知机的基本知识
我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。
隐藏层
下图展示了一个多层感知机的神经网络图,它含有一个隐藏层,该层中有5个隐藏单元。
Image Name
表达公式
设小批量样本,为批量大小,为1输入个数。假设多层感知机只有一个隐藏层,其中隐藏单元个数为。记隐藏层的输出(也称为隐藏层变量或隐藏变量)为,有。设隐藏层的权重参数和偏差参数分别为和 ,输出层的权重和偏差参数分别为和。
下面是单隐藏层的多层感知机的设计。其输出的计算为
将以上两个式子联立起来,得:
从联立后的式子可以看出,虽然神经网络引入了隐藏层,却依然等价于一个单层神经网络:其中输出层权重参数为,偏差参数为。所以即便再添加更多的隐藏层,依然只与仅含输出层的单层神经网络等价。
激活函数
以上问题在于全连接层只是对数据做仿射变换(affine transformation),而多个仿射变换的叠加仍然是一个仿射变换。所以需要一个非线性函数来进行变换,打破这种仿射变换,然后输出再作为下一个全连接层的输入。这个非线性函数被称为激活函数(activation function)。
下面我们介绍几个常用的激活函数:
ReLU函数
ReLU(rectified linear unit)函数提供了一个简单的非线性变换。给定元素,该函数定义为