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