3
通过最大池层反向传播?
这是一个概念上的小问题,困扰了我一段时间:我们如何通过神经网络中的最大池层反向传播? 在本教程中使用Torch 7的nn库时,我遇到了最大池化层。该库为深度网络的每一层抽象了梯度计算和前向传递。我不明白最大池层的梯度计算是如何完成的。 我知道,如果您有一个输入进入第层的神经元,则(定义为的计算公式为: zilzil{z_i}^liiilllδilδil{\delta_i}^lδil=∂E∂zilδil=∂E∂zil{\delta_i}^l = \frac{\partial E}{\partial {z_i}^l}δil=θ′(zil)∑jδjl+1wl,l+1i,jδil=θ′(zil)∑jδjl+1wi,jl,l+1 {\delta_i}^l = \theta^{'}({z_i}^l) \sum_{j} {\delta_j}^{l+1} w_{i,j}^{l,l+1} 因此,最大池化层将接收下一层的;但是由于最大池神经元的激活函数接受了一个值(在其上最大)的向量作为输入,因此不再是单个数字,而是一个向量(必须替换为)。此外,作为最大函数的就其输入而言是不可区分的。δjl+1δjl+1{\delta_j}^{l+1}δilδil{\delta_i}^{l}θ′(zjl)θ′(zjl)\theta^{'}({z_j}^l)∇θ({zjl})∇θ({zjl})\nabla \theta(\left\{{z_j}^l\right\})θθ\theta 所以....应该如何精确计算呢?