![神经网络设计与实现](https://wfqqreader-1252317822.image.myqcloud.com/cover/765/38894765/b_38894765.jpg)
2.3.1 反向传播介绍
在了解数学原理之前,先对训练过程进行直观了解会很有用。回顾学过的感知器类,我们只是利用实际输出与预测之间的差来测量误差。如果要预测连续输出而不是二元输出,因为正误差和负误差可能会相互抵消,所以必须使用不同的方法来测量。
避免此类问题的常见方法是通过使用均方根误差(RMSE)来测量误差,其定义如下:
E=(t-y)2
如果让我们的预测发生变化并绘制平方误差,将获得抛物线曲线(见图2-7)。
![](https://epubservercos.yuewen.com/96A46E/20422784308285606/epubprivate/OEBPS/Images/2-7.jpg?sign=1738842565-eQU8vNWRrHOLR8T9XLmi2dkUt23DkAfi-0-850886aff01c3a5fb496a3a34bb3d67c)
图2-7 单个神经元的误差曲线
实际上,我们的预测结果受到权重和偏置项控制,我们通过更改它们来减少误差。通过改变权重和偏置项,可以获得更复杂的曲线,其复杂性将取决于我们的权重和偏置项数量。对于权重个数为n的通用神经元,我们将具有n+1维度的椭圆抛物面(见图2-8),因为我们也需要改变偏置项。
曲线的最低点被称为全局最小值,也就是损失最小的地方,这意味着我们的误差不会低于这个数。在这种简单情况下,全局最小值也是仅有的最小值,但是在复杂函数中,还会有一些局部最小值。局部最小值定义为周围任意的小间隔内的最低点,因此不一定是全局的最低点。
![](https://epubservercos.yuewen.com/96A46E/20422784308285606/epubprivate/OEBPS/Images/2-8.jpg?sign=1738842565-bsTlngj1JLEi4jOEwyOy7qd37K0TIBkF-0-b4f604607e3a57f3135a5b6099c786d1)
图2-8 线性感知器的误差曲面
这样,我们可以将训练过程视为一个优化问题,即以有效的方式寻找曲线的最低点。探索误差曲面的便捷方法是使用梯度下降法。梯度下降法使用平方误差函数相对于网络权重的导数,并且遵循向下方向。方向由梯度给出。为方便起见,在查看函数的导数时,我们将考虑与之前看到的方法相比略有不同的测量平方误差的方法:
![](https://epubservercos.yuewen.com/96A46E/20422784308285606/epubprivate/OEBPS/Images/032-2-i.jpg?sign=1738842565-4ytp4CxrDJopOs2lu2nI2waaAbEynjvB-0-3cff1b507b93f73c63c9806bdd098bb1)
为了消除求导将要添加的系数,我们决定将平方误差除以2。这不会影响我们的误差曲面,甚至会让误差曲面变得更大,因为稍后,我们会将误差函数乘以另一个称为学习率的系数。
网络的训练通常使用反向传播进行,反向传播用于计算最陡的下降方向。如果单独看每个神经元,可以看到与感知器相同的公式。唯一的区别是,现在,一个神经元的输入是另一神经元的输出。让我们以神经元j为例,它会运行其激活函数以及之前所有网络的结果:
![](https://epubservercos.yuewen.com/96A46E/20422784308285606/epubprivate/OEBPS/Images/032-3-i.jpg?sign=1738842565-jMoHQbMx3tUOHm4z06Ydi0ZGpb5n4k1P-0-a89b315c5dfa4e646751d717593ad89f)
如果神经元在输入层之后的第一层中,那么输入层就是网络的输入。n表示神经元j的输入单位数,wkj表示神经元k的输出和神经元j之间的权重。
我们希望其激活函数是非线性且可微的,用希腊字母φ表示。因为如果它是线性的,则一系列线性神经元的组合仍将是线性的。并且我们希望它是可微的,因为我们要计算梯度。
逻辑函数是一种非常常见的激活函数,也称为sigmoid函数,由以下公式定义:
![](https://epubservercos.yuewen.com/96A46E/20422784308285606/epubprivate/OEBPS/Images/033-i.jpg?sign=1738842565-rFjMPQSohytdL5YZyO1st8DgM2rTyJAS-0-0af2f41d5a637d6743a2a8ad8d04f4a9)
它的导数形式如下:
![](https://epubservercos.yuewen.com/96A46E/20422784308285606/epubprivate/OEBPS/Images/033-2-i.jpg?sign=1738842565-a60Bl0J9pOy1TRHXp9kBGSuHuvF3nu5z-0-81bfe9c60196174cb5e52cca99f33119)
反向传播的特殊之处在于,不仅输入会到达输出以调整权重,而且输出也会返回到输入,如图2-9所示。
![](https://epubservercos.yuewen.com/96A46E/20422784308285606/epubprivate/OEBPS/Images/2-9.jpg?sign=1738842565-KVkWOtWNtWDyxxhkjf0dLGNrfSvB8H4n-0-23c14448642e8d17e43b9c48a4737876)
图2-9 一个简单的二元分类FFNN示意图