Padding

来源:Coursera吴恩达深度学习课程

为了构建深度神经网络,需要学会使用的一个基本的卷积操作就是padding,下面来看看它是如何工作的。

如果用一个3×3的过滤器卷积一个6×6的图像,最后会得到一个4×4的输出,也就是一个4×4矩阵。这背后的数学解释是,如果我们有一个n×n的图像,用f×f的过滤器做卷积,那么输出的维度就是(n - f + 1) × (n - f + 1)。在这个例子里就是6-3+1 = 4。

这样的话会有两个缺点,①第一个缺点是每次做卷积操作,你的图像就会缩小。②第二个缺点是那些在角落或者边缘区域的像素点在输出中采用较少,意味着你丢掉了图像边缘位置的许多信息。为了解决这两个问题,一是输出缩小,二是图像边缘的大部分信息都丢失了,你可以选择在卷积操作之前填充这幅图像。在这个案例中,你可以沿着图像边缘再填充一层像素(如上图的蓝线)。这样操作之后,那么6×6的图像就被填充成了一个8×8的图像。然后你用3×3的图像对这个8×8的图像卷积,得到的输出就不是4×4的,而是6×6的图像,就得到了一个尺寸和原始图像6×6的图像。习惯上,你可以用0填充,一般用p表示填充的数量,在这个例子中,p=1,因为在周围都填充了一个像素点。输出变成了6×6(6+2*1-3+14 =  6)的图像。一般的计算公式为:

这样一来,丢失信息或者更准确来说角落或图像边缘的信息发挥的作用较小的这一缺点就被削弱了。

如果你想的话,也可以填充两个像素点。至于选择填充多少像素,通常有两个选择,分别叫做Valid卷积Same卷积

Valid卷积意味着不填充。另一个经常被用到的填充方法叫做Same卷积,Same卷积意味填充之后,输出大小和输入大小是一样的。利用n+2p-f+1 = n求解p的大小,使得输出和输入大小相等,那么p = (f - 1)/2

习惯上,计算机视觉中,f通常是奇数,甚至可能都是这样。你很少看到一个偶数的过滤器在计算机视觉里使用,Andrew认为有两个原因。

①其中一个可能是,如果f是一个偶数,那么只能使用一些不对称填充(asymmetric padding)。只有是奇数的情况下,Same卷积才会有自然的填充,我们可以用同样的数量填充四周,而不是左边填充多一点,右边填充少一点,这样不对称的填充。

②第二个原因是如果有一个奇数维过滤器(odd dimension filter),比如3×3或者5×5的,它就有一个中心点(central position)。有时在计算机视觉里,如果有一个中心像素点(central pixel)会更方便,便于指出过滤器的位置。

也许这些都不是为什么f通常是奇数的充分原因,但如果查阅卷积的文献,你经常会看到3×3的过滤器,你也可能会看到一些5×5,7×7的过滤器,也会看到1×1的过滤器以及什么时候它是有意义的。习惯上,Andrew推荐你只使用奇数的过滤器。

总之,以上内容是关于padding卷积的,一般用0填充,可以指定卷积操作中的padding类型,也可以指定p的值。如果使用Valid卷积,也就是p=0。也可使用Same卷积填充像素,使你的输出和输入大小相同。

说明:记录学习笔记,如果错误欢迎指正!转载请联系我。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值