BP的流程:
CNN
前向:
反向:
问题一:池化层误差的传播
如果是max池化,则按照前向传播记录的最大值位置,还原此前大小的矩阵,如下图所示:
第一个是误差传播到池化层的误差矩阵
第二个矩阵将误差矩阵的尺寸还原到未池化之前的矩阵大小
第三个矩阵按照max池化,传播梯度
第四个矩阵是按照average池化,传播梯度
最终得到,未池化前的误差梯度。
公式可以写成:
问题二:卷积层的误差传播
卷积层误差的传播包括两个部分:误差传播到上一层,以及推导本层的权重W和b的梯度
-
传播到上一层
第一项是当前层的误差矩阵,它与前一层的尺寸一般是不一样的,在计算时可以用0填充使得与l层权重W进行卷积后尺寸与l-1层一样,l层的权重矩阵需要旋转180度。 -
推导当前层的W和b
矩阵形式: