CNN的底层架构-(一)Padding

笔记主要知识点:

(1)两个卷积公式(普通的卷积、加Padding的卷积)

(2)普通卷积的缺点以及padding是如何解决的

(3)padding的两种类型-valid、same

(4)如何确定p、以及f一般取奇数的原因

Padding

在一般的卷积中,

例如用(3×3)的filter卷积一个(6×6)的图片,那么输出结果将是(4×4)。

公式:

(n\times n)*(f\times f) = (n-f+1)\times (n-f+1)

但普通卷积的缺点有二:

(1)每次卷积后图像都会缩小(shrinking output)

(2)图片中间部分会被许多filter重叠,但角落or边际上的像素只会在输出中被使用一次。

即会丢失许多图片靠近边界的信息。

此时,我们的解决方案就是Pad the image。

比如在(6×6)的图片边缘都加一个像素变成(8×8)的图片,那么根据以上公式

(8×8)*(3×3) = (6×6)

此时p=1,即padding=1,填充数量为1。此时以上两个缺点都被解决。

我们得到padding新公式

(n\times n)*(f\times f) =(n+2p-f+1)\times (n+2p-f+1)

Padding的两种类型:

(1)valid卷积,即p=0,no padding;

(2)same卷积,即使输出大小等于输入大小(通过解数学式计算p,如下图所示)

 

值得一提的是计算机视觉使用的过滤器f一般使用奇数,很少取偶数。

原因有二:

(1)如果f取偶数需要一些不对称的填充。只有当f为奇数时这种same卷积才会产生在四周有相同维度的一个自然的填充区域,而不是在左边多填充在右边少填充或者别的不对称的填充。

(2)f取奇数的话过滤器可以有一个中心位置,在CV领域有一个特殊点是很好的,你可以称之为中心像素,这样你就可以描述你过滤器的位置。

也许这些都不是为什么f基本上永远使用奇数的很好的理由,但如果去阅读一些文献,你会发现(3×3)的过滤器非常常见(或5×5、7×7)。

即使只是约定俗称,我也依旧建议你使用奇数大小的过滤器,就算你使用f为偶数的过滤器你也可以取得一个不错的结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值