3x3的卷积核在矩阵中心没问题,那如果是边缘呢?对于矩阵的第一个元素,左方和上方没有临近元素怎么办?我们可以使用zero-padding。所有(其实并不存在)掉在矩阵之外的元素都用0填充。这样就可以对输入矩阵的所有元素使用卷积核,得到更大或同样大小的输出。zero-padding也叫宽卷积,如果不用zero-padding就是窄卷积。
宽卷积对于sentence中所有的词一视同仁,每个词都计算相同的次数,而不像窄卷积边缘的词只卷积一次,这也就需要在sentence的左右两边都padding上一定数量的0,当然这些0对于反向传播的计算是没有贡献的。
1D的例子如下图:
窄卷积 VS 宽卷积如果你有一个挺大的卷积核(相对于输入尺寸而言),那宽卷积还是很有效、甚至必要的。在上图中,窄卷积输出尺寸是
(7 - 5) + 1 = 3,而宽卷积输出的是(7 + 2 * 4 - 5) + 1 = 11。输出尺寸的一般计算公式是:
卷积输出尺寸计算公式参考:
网友评论