卷积与反卷积、步长(stride)与重叠(overlap)及 output 的大小

这里写图片描述

1. 卷积与反卷积

如上图演示了卷积核反卷积的过程,定义输入矩阵为 I I I 4 × 4 4\times 4 4×4),卷积核为 K K K 3 × 3 3\times 3 3×3),输出矩阵为 O O O 2 × 2 2\times 2 2×2):

  • 卷积的过程为: Conv ( I , W ) = O \text{Conv}(I, W)=O Conv(I,W)=O
  • 反卷积的过称为: Deconv ( W , O ) = I \text{Deconv}(W,O)=I Deconv(W,O)=I(需要对此时的 O O O 的边缘进行延拓 padding

2. 步长与重叠

卷积核移动的步长(stride)小于卷积核的边长(一般为正方行)时,变会出现卷积核与原始输入矩阵作用范围在区域上的重叠(overlap),卷积核移动的步长(stride)与卷积核的边长相一致时,不会出现重叠现象。

4 × 4 4\times 4 4×4 的输入矩阵 I I I 3 × 3 3\times 3 3×3 的卷积核 K K K

  • 在步长(stride)为 1 时,输出的大小为 ( 4 − 3 + 1 ) × ( 4 − 3 + 1 ) \left(4-3+1\right)\times \left(4-3+1\right) (43+1)×(43+1)

现考虑其逆问题,原始输入矩阵为多大时,其与 3 × 3 3\times 3 3×3 的卷积核 K K K 相卷积得到的输出矩阵的大小为 4 × 4 4\times 4 4×4

  • 步长(stride)为 1 时, ( x − 3 + 1 ) × ( x − 3 + 1 ) = 4 × 4 \left(x-3+1\right)\times \left(x-3+1\right)=4\times 4 (x3+1)×(x3+1)=4×4
    • x = 6 x=6 x=6

3. 定量化的计算公式

A Beginner’s Guide To Understanding Convolutional Neural Networks Part 2

  • 填充(padding,在原始input的周围进行填充),以保证卷积后的大小与原始 input shape 一致,

    在这里插入图片描述

    z e r o   p a d d i n g = K − 1 2 zero\, padding =\frac{K-1}2 zeropadding=2K1

    K K K 为卷积核的大小,这样如果原始 input 的大小为 w*w,填充后的大小为 (w+k-1)*(w+k-1)(两端都要填充)

  • 卷积后的大小:

    o = w − k + 2 p s + 1 o=\frac{w-k+2p}{s}+1 o=swk+2p+1

    • w w w:是 input 的 height/width, k k k:卷积核的 height/width
    • p p p:表示填充的大小; s s s:为 stride 步长;
  • 举例:

    • 7*7 的 input,3*3 的 kernel,无填充,步长为1,则 o = 7 − 3 1 + 1 = 5 o=\frac{7-3}{1}+1=5 o=173+1=5,也即 output size 为 5*5

    在这里插入图片描述

    • 7*7 的 input,3*3 的 kernel,无填充,步长为2,则 o = 7 − 3 2 + 1 = 3 o=\frac{7-3}{2}+1=3 o=273+1=3,也即 output size 为 3*3

    在这里插入图片描述

  • 9
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值