零填充(Zero-padding):有时,在输入矩阵的边缘使用零值进行填充,这样我们就可以对输入图像矩阵的边缘进行滤波。零填充的一大好处是可以让我们控制特征图的大小。使用零填充的也叫做泛卷积,不适用零填充的叫做严格卷积。这个概念在下面的参考文献Understanding Convolutional Neural Networks for NLP中介绍的非常详细。
一直以为所谓的全0填充就只是在外侧多加一行和一列0
直到今天,我看到这段话
# 声明第一层卷积层的变量并实现前向传播过程。这个过程通过使用不同命名空间来隔离不 # 同层的变量,这可以让每一层中的变量命名只需要考虑在当前层的作用,而不需要担心重 # 名的问题。和标准LeNet-5模型不大一样,这里定义的卷积层输入为28×28×1的原始MNIST # 图片像素。因为卷积层中使用了全0填充,所以输出为28×28×32的矩阵
我怎么也想不通,28×28×1,经过5×5的卷积计算之后,输出怎么还是28。
…仔细翻了翻书本…
当padding='SAME’时
输出层矩阵的长度,等于,输入层矩阵长度除以长度方向上的步长,也就是说28/1向上取整=28…
当padding='VALID’时
全0填充的含义,不是在右(下)多加一行(列)0。
具体加多少0要根据实际情况决定!