上一篇博客介绍了深度学习的历史和思想,本篇博客将介绍在神经网络计算中常用的反向传播算法。


目录


复习

Gradient Descent

在学习反向传播算法之前重新回归一下梯度下降算法,在神经网络求解最优化Loss function所使用的方法就是梯度下降算法,反向传播算法能够在神经网络计算中更高效地计算。
7、【李宏毅机器学习(2017)】Backpropagation(反向传播算法)

链式求导法则

在神经网络中,因为有着多个隐藏层,所以在计算偏导数的过程中要使用到链式求导法则。

7、【李宏毅机器学习(2017)】Backpropagation(反向传播算法)

Backpropagation

反向传播算法介绍

Backpropagation的目的是极小化Loss functionL(θ) ,即是每一笔data的loss functionC(θ)之和,因此计算L(θ)的偏微分等价于计算每一笔C(θ)的偏微分,再将之加总。现在对一个观测拿出红色三角区域部分进行分析。
7、【李宏毅机器学习(2017)】Backpropagation(反向传播算法)

根据链式求导法则Cw=Czzw,其中z=x1w1+x2w2+b,因此zw可以很轻松计求解。
7、【李宏毅机器学习(2017)】Backpropagation(反向传播算法)

接下来我们开始计算Cz部分,如下图所示,Cz=azCa=σ(z)(zaCz+zaCz)=σ(z)[w3Cz+w4Cz]
7、【李宏毅机器学习(2017)】Backpropagation(反向传播算法)

现在开始计算CzCz——

  • 如果z,z是最后一个神经元的input
    Cz=y1zCy1,Cz=y2zCy2

    7、【李宏毅机器学习(2017)】Backpropagation(反向传播算法)
  • 如果z,z不是最后一个神经元的input
    7、【李宏毅机器学习(2017)】Backpropagation(反向传播算法)

从后面逆向算,先算Cz5,Cz6,此时Cz3=σ(z3)[w5Cz5+w5Cz6],依此类推可以一直算到第一层。
7、【李宏毅机器学习(2017)】Backpropagation(反向传播算法)

前向传播算法和反响传播算法

7、【李宏毅机器学习(2017)】Backpropagation(反向传播算法)

相关文章:

  • 2021-09-12
  • 2021-11-10
  • 2021-09-08
  • 2021-10-11
  • 2021-07-25
  • 2021-08-21
  • 2021-05-14
  • 2021-09-23
猜你喜欢
  • 2021-07-09
  • 2021-08-19
  • 2021-06-01
  • 2021-07-21
  • 2021-09-18
  • 2022-01-10
  • 2021-05-23
相关资源
相似解决方案