全连接网络(FC)、前馈神经网络(BP)、多层感知机(MLP)

全连接网络(FC)、前馈神经网络(BP)、多层感知机(MLP)三种称呼实质是一样的。以全连接网络为例讲解训练过程。

全连接网络实际上可以看作由多个隐藏层(dense)组成的网络模型,隐藏层的每个节点都与上一层所有节点相连,所以叫全连接,如图4.2所示,为最简单的全连接网络结构,只含有一个隐藏层,该网络实现了将二维输入经过一层隐藏层的加权计算后转换为二维输出。其中输入层和输出层都为一层但神经元可以有多个,隐藏层可以有多层,层数越多,模型越复杂,计算量越大,所以在实际问题中要选择合适的隐藏层层数进行训练。

全连接网络(FC)、前馈神经网络(BP)、多层感知机(MLP)_第1张图片

                                                              图4.2 全连接网络结构

训练全连接网络的关键是确定网络的权重值,每一层的权重W决定着如何将线性不可分的数据空间转换到线性可分的数据空间,这一步通常要依靠激活函数f来实现,常用激活函数有sigmoid、tanh、relu、softmax等,最终得到训练好的神经网络所有层的权重矩阵。每一层的输入向量即为上一层的输出向量,如输入层的输出向量作为隐藏层的输入,隐藏层的输出向量作为输出层的输入向量,每一层的输出向量通过如下式子进行计算:

其中,x为输入向量,在上图中即为x1 、x2,u2(1) 表示第二层第一个节点的输入,y 为输出向量,即上图中的y2(1)、y3(1)等,分别表示第2层的第1个神经元节点输出和第3层的第1个节点输出,W 为权重矩阵,每个节点与上一层节点相连的权重可能不一样,用Wl(ji) 表示为上一层(第l-1 层)的第i个节点到第l 层的第j个节点的权重,b 为偏置,即上图中b2 、b3 分别表示第二、三层的偏置量,每层不同节点偏置量也可能不一样,b2(1)  表示第二层第一个节点的偏置,以此类推。f 为激活函数。根据上述定义,可以得到第二层第一个神经元y2(1) 的输出为:

通过前向传播算法,从输入层开始,一层层向后计算,利用若干个权重矩阵W 和偏置量b 对输入向量x 进行一系列线性运算和激活运算,一直运算到输出层,得到输出结果为止。输出结果即为样本的预测值,而神经网络又是一个不断更新权重W 和偏置量b 的过程,因此这就需要用到反向传播算法,不断地反向去更新每一层的权重,让预测值尽可能的接近真实值使得损失最小。回归任务中常用的损失函数有均方误差,定义如下:

其中,tj 表示第j 个节点的真实值,yk(j) 为第k 层第j 个节点的预测值。

使用梯度下降(Gradient descent)法,也叫复合函数求导的链式法则,不断求取损失函数E 对每个节点的权重W和偏置量b 的偏导数∂E∂wlji∂E∂bl(j) 。通过迭代计算得到更新后的权重Wl', bl' 为:

        

全连接网络(FC)、前馈神经网络(BP)、多层感知机(MLP)_第2张图片

其中η 为学习速率,指的是参数以多大幅度进行梯度更新,即它控制着反向移动的幅度。

以上更新网络权重W 和偏置量b 过程如图4.3所示。

 

全连接网络(FC)、前馈神经网络(BP)、多层感知机(MLP)_第3张图片

                                                                            图4.3 全连接网络训练过程

从输入层开始,正向传递至输出层后计算损失,利用反向传播算法将该损失从输出层向输入层反向传播,求取损失对每层的权重W 和偏置b的梯度,利用梯度和学习速率之积不断更新每层权重和偏置,到输入层为止,以上是一轮更新过程。参数更新后,继续从输入层开始,利用新的参数正向传递计算损失,如此循环往复,直到找出损失最小值,此时的权重W 和偏置b 即为最佳参数。

你可能感兴趣的:(全连接网络(FC),前馈神经网络(BP),多层感知机(MLP)