CNN 中池化层(子采样层)的反向传播
Posted
技术标签:
【中文标题】CNN 中池化层(子采样层)的反向传播【英文标题】:Backpropagation in Pooling Layer (Subsamplig layer) in CNN 【发布时间】:2017-04-04 08:49:26 【问题描述】:我的疑问是如何在 Pooling 层反向传播误差,因为当我计算导数时,只有 4 的 1 个元素(例如,当使用 2x2 池化内核时)会影响前馈的结果。
【问题讨论】:
我投票结束这个问题,因为datascience.stackexchange.com 我怎样才能把这个帖子移到datascience.stackexchange.com? 别担心 - 社区将决定是否应该这样做。如果有 5 个人(和一个版主?)这么认为,那么它会自动移动,你会收到通知。 @Martin Thomas:不确定这是题外话,毕竟 SO 上有一个反向传播标签,问题涉及它的实现。无论如何,我没有足够的声誉在这方面有发言权:) 【参考方案1】:假设你有一个由四个元素组成的矩阵M
a b
c d
和 maxpool(M) 返回 d。那么,maxpool 函数实际上只依赖于d。所以maxpool相对于d的导数为1,相对于a,b,c的导数为零。所以你将 1 反向传播到对应于 d 的单元,而你对其他单元反向传播 0。
【讨论】:
以上是关于CNN 中池化层(子采样层)的反向传播的主要内容,如果未能解决你的问题,请参考以下文章