2021-07 李宏毅机器学习打卡Task04:深度学习简介和反向传播(下)

Task04 深度学习简介和反向传播(下)

学习地址

  • 李宏毅机器学习B站视频地址
  • 李宏毅机器学习开源笔记地址
  • 论坛版块

反向传播

背景

  • 梯度下降
    • 参数更新依旧使用梯度下降,只是计算梯度时使用更高效的方法即反向传播机制
      2021-07 李宏毅机器学习打卡Task04:深度学习简介和反向传播(下)_第1张图片
  • 链式求导法则
    • 反向传播的基础即链式法则,通过一层一层的误差导数向前传播完成所有梯度的计算
      2021-07 李宏毅机器学习打卡Task04:深度学习简介和反向传播(下)_第2张图片

反向传播具体机制

  • 主要分两个部分:Forward Pass 和 Backward Pass
  • 要计算 loss 对某个参数 w 的偏导,即 ∂ l ∂ w \frac{\partial{l}}{\partial{w}} wl,可以通过链式法则来求导,即 ∂ l ∂ w = ∂ z ∂ w ∂ l ∂ z \frac{\partial{l}}{\partial{w}}=\frac{\partial{z}}{\partial{w}}\frac{\partial{l}}{\partial{z}} wl=wzzl ,而 z 为对应神经元激活函数的输入
  • 目标转而计算 ∂ z ∂ w \frac{\partial z}{\partial w} wz (Forward pass的部分)和计算 ∂ l ∂ z \frac{\partial l}{\partial z} zl ( Backward pass的部分 )
    2021-07 李宏毅机器学习打卡Task04:深度学习简介和反向传播(下)_第3张图片
Forward Pass
  • 这一部分计算比较简单,直接通过前向计算即可,每个神经元对应的输入即为所求
    2021-07 李宏毅机器学习打卡Task04:深度学习简介和反向传播(下)_第4张图片
Backward Pass
  • 这一部分计算相对复杂,要计算某一层某个神经元输入 z 对应 loss 的偏导 ∂ l ∂ z \frac{\partial l}{\partial z} zl ,直接计算是比较困难的,但假如其后一层的所有神经元(下图以2个举例,更多的神经元与此类似)对应的此项偏导已经求出来的话,就可以间接计算出来了
  • 实际上,我们可以从输出层开始,通过反向的计算过程完成与第一部分前向计算类似的过程,把forward的过程逆向过来
    2021-07 李宏毅机器学习打卡Task04:深度学习简介和反向传播(下)_第5张图片
  • ps:具体详细过程可看文章开头部分视频链接,讲解更为清楚

另附Datawhale组队学习—李宏毅机器学习任务安排

任务安排

你可能感兴趣的:(DataWhale组队学习,机器学习,深度学习,神经网络,机器学习)