零填充(Zero-padding)

零填充(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要根据实际情况决定!

原文地址:https://www.cnblogs.com/scarecrow-blog/p/11005633.html