前向传播和反向传播_手推DNN,CNN池化层,卷积层反向传播

反向传播算法是神经网络中用来学习的算法,从网络的输出一直往输出方向计算梯度来更新网络参数,达到学习的目的,而因为其传播方向与网络的推理方向相反,因此成为反向传播。神经网络有很多种,那么它们还有其中包含的一些结构,是如何计算出梯度来的呢,在这里为大家手动推导DNN,池化层,卷积层的求导过程。

DNN反向传播

dab9515fab8c29bceaee0c1d6ce0ba0c.png

DNN的反向传播推导相对来说比较简单,那么在卷积网络中如何反向传播呢,特别是在池化层和卷积层?

池化层反向传播

池化分为平均池化和最大池化,这两种池化在反向传播的时候会有不同。

  1. 平均池化。在反向传播的时候将某个元素平均分成n份分配给前一层,保证池化前后的梯度之和保持不变。
  2. 最大池化。前向传播的时候记录下最大值的位置,反向传播的时候把梯度传给这个位置,其他位置为0。

f10a45b1875ff45ece0a2f6ee4738813.png

卷积层反向传播

卷积层的反向传播计算有些复杂,具体看下面的图,其中rot180(W)表示把卷积核上下翻转一次,接着左右翻转一次。

10d9d0c288da25c4d3e0048d2ff66868.png

e46c7d421be00e58e8d233b5d18d2d61.png

b17fe158cbd83e003b1f812cc534bdc8.png

欢迎爱好人工智能的小伙伴关注公众号:机器工匠,不定时发布一些关于人工智能的技术、资讯文章,更有面向初学者的系列文章。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值