CNN池化层反向传播推导

昨天晚上推CNN反向,池化层这块没推明白,不懂为什么meanpool偏导为1/(k*k),但是上采样却变成了另一种看起来比较简单的方法。

一、明确反向传播的是什么
cost函数对某一参数的偏导,即某一参数发生变化,会对cost产生什么影响。
在已l层变化对cost的影响,我们可以进一步根据链式法则得到l-1层参数对cost的影响。
二、在池化层中
目前,我们已知的是池化后的z(l)变化对cost的影响,想要知道的是池化前的z(l-1)对cost的影响。
z(l-1)通过激活函数,变为a(l-1),再经过池化变为z(l)。
那我们按照原来的思路,首先要做的就是将z(l)对a(l-1)求偏导,看看a(l-1)的改变会导致z(l)如何变化——
换句话说,就是求为了减小cost分到z(l)上应该改变的部分,再分到a(l-1)上应该减少多少。(这个思想比较重要,因为你会发现z(l)好像不是那么容易对a(l-1)求偏导,因为维度不太一样【我也不知道能不能,应该是不能叭,至少不像之前见过的那么简单】)**因此这个求偏导的过程,也就是向前一层分需要减少cost值的过程,要保证前一层能够负起责任,将减少cost的任务完整地从z(l)层接过来。在这里面我们就让z(l)层的一个元素的梯度传递k*k个元素就好了,保证总的梯度不变。具体,不同的池化方法,分配方式不同,但是都不难理解。
三、问题来了,那么之前求偏导的过程也是保证每层传递的梯度不变吗࿱

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值