美文网首页
Caffe详解(十)反向传播

Caffe详解(十)反向传播

作者: AI异构 | 来源:发表于2020-05-06 10:24 被阅读0次
    Caffe详解

    从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识!

    前向传播与反向传播

    • 反向传播(back-propagation)是计算深度学习模型参数梯度的方法。总的来说,反向传播中会依据微积分中的链式法则,按照输出层、靠近输出层的隐含层、靠近输入层的隐含层和输入层的次序,依次计算并存储模型损失函数有关模型各层的中间变量和参数的梯度。反向传播回传误差(只在训练过程中实现)
    • 反向传播对于各层中变量和参数的梯度计算可能会依赖各层变量和参数的当前值。对深度学习模型按照输入层、靠近输入层的隐含层、靠近输出层的隐含层和输出层的次序,依次计算并存储模型的中间变量叫做正向传播(forward-propagation)。前向传播求损失(训练与测试均需要)

    反向传播公式推导

    在这里,我们先按照周志华《机器学习》的反向传播理解思路进行公式推导,对后面深入理解深度神经网络中的反向传播预热!


    image
    image

    深入理解反向传播

    计算图

    计算图的三要素:节点,连接线,操作

    • 节点:用于表示变量,变量可以是标量,矢量,向量,矩阵等
    • 连接线:用于连通节点
    • 操作:一个或多个变量的简单函数

    举例说明计算图的表示方式


    image

    链式法则与雅可比矩阵

    • 单项链式法则


      image
    • 多项链式法则


      image
    • 雅可比矩阵


      image
    • 高维链式法则表示


      image

    反向传播的优点

    我们通过计算图结合链式法则举例说明反向传播在计算上的优势:


    image
    image
    image
    image
    image

    反向传播与梯度下降的关系

    有很多人会将反向传播与梯度下降算法混为一谈,但其实两者是可以分离的,我们独立出两个概念来讨论问题会使得学习的重点更加清晰!

    • 反向传播仅仅是计算梯度的算法
    • 梯度下降是使用该梯度进行学习的算法

    总结

    反向传播与梯度下降总结图示:


    image

    参考

    李宏毅机器学习课程
    Deep Learning Book
    Principles of training multi-layer neural network using backpropagation

    相关文章

      网友评论

          本文标题:Caffe详解(十)反向传播

          本文链接:https://www.haomeiwen.com/subject/ucsightx.html