caffe详解之反向传播


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

 

前向传播与反向传播

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

反向传播公式推导

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

 

 

深入理解反向传播

计算图

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

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

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

 

链式法则与雅可比矩阵

  • 单项链式法则
  • 多项链式法则
  • 雅可比矩阵
  • 高维链式法则表示

反向传播的优点

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

 

 

 

 

 

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

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

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

总结

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

 

参考

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


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值