深度学习 – 反向传播例子

为加深对反向传播算法的理解,本章将演示一个实际的权重计算例子。

考虑下面的神经网络:

神经网络例子

上图中的神经网络包括以下部分:

  • 2个输入
  • 2个隐藏的神经元
  • 2个输出神经元
  • 2个偏置

下面是反向传播涉及的步骤:

  • 步骤1: 前向传播
  • 步骤2: 反向传播
  • 步骤3: 权重值更新

步骤1: 前向传播

我们从前向传播开始。

图

我们将对输出层神经元重复这个过程,使用隐藏层神经元的输出作为输入。

图

现在,让我们看看最后的误差值是多少:

图

步骤2: 反向传播

现在,我们反向传播,计算出梯度。这样我们就可以通过权重值的调整来减少误差。

考虑W5,计算w5的梯度,调整w5的值。

图

因为我们是反向传播的,所以第一件事,是计算总误差对o1输出的变化率(导数)。

图

现在,我们将进一步向后传播,计算o1输出对o1总净输入的变化率(导数)。

图

现在让我们看看O1的总净输入对W5的变化率(导数)

图

步骤3: 权重值更新

现在,让我们把所有的值放在一起:

图

我们来计算W5的更新值:

图

  • 同样,我们也可以计算其他权重值。
  • 之后,我们将再次前向传播并计算输出、计算误差。
  • 如果误差已经降到最小,我们将停止,否则我们将再次反向传播,并更新权重值。
  • 这个过程将不断重复,直到误差降到最小。


浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载