二维卷积层参数对形状的影响

卷积核

假设原输入形状为 ( n h × n w ) (n_h \times n_w) (nh×nw),卷积核 kernel 大小为 ( k h × k w ) (k_h \times k_w) (kh×kw),则输出形状为 ( n h − k h + 1 ) × ( n w − k w + 1 ) (n_h - k_h + 1) \times (n_w - k_w + 1) (nhkh+1)×(nwkw+1)

填充

填充 padding 是指在输入高和宽两侧填充元素(通常是 0 元素),如果在高的两侧一共填充 ph 行,在宽的两侧一共填充 pw 列,则输出形状为 ( n h − k h + p h + 1 ) × ( n w − k w + p w + 1 ) (n_h - k_h + p_h + 1) \times (n_w - k_w + p_w + 1) (nhkh+ph+1)×(nwkw+pw+1)一般情况下会设置 p h = k h − 1 p_h = k_h - 1 ph=kh1 p w = k w − 1 p_w = k_w - 1 pw=kw1来输入和输出具有相同的高和宽。

假设这里 k h k_h kh 是奇数,我们会在高的两侧分别填充 p h 2 \frac{p_h}{2} 2ph 行;如果 k h k_h kh 是偶数,在输入的顶端填充 ⌈ p h 2 ⌉ \lceil\frac{p_h}{2}\rceil 2ph 行,在底端填充 ⌊ p h 2 ⌋ \lfloor\frac{p_h}{2}\rfloor 2ph。在宽的两侧同理。

步长

卷积核在输入中每次滑动的长度就是步长 stride

当高上步长为 s h s_h sh,宽上步长为 s w s_w sw 时,输出形状为 ⌊ ( n h − k h + p h + s h ) / s h ⌋ × ⌊ ( n w − k w + p w + s w ) / s w ⌋ \lfloor (n_h - k_h + p_h + s_h) / s_h\rfloor \times \lfloor(n_w - k_w + p_w + s_w) / s_w \rfloor (nhkh+ph+sh)/sh×(nwkw+pw+sw)/sw 如果设置 p h = k h − 1 p_h = k_h - 1 ph=kh1 p w = k w − 1 p_w = k_w - 1 pw=kw1,那么输出形状将简化为 ⌊ ( n h + s h − 1 ) / s h ⌋ × ⌊ ( n w + s w − 1 ) / s w ⌋ \lfloor (n_h + s_h - 1) / s_h\rfloor \times \lfloor(n_w + s_w - 1) / s_w \rfloor (nh+sh1)/sh×(nw+sw1)/sw更进一步,如果输入的高和宽都能被各自的步长整除,那么输出形状为 ( n h / s h ) × ( n w / s w ) (n_h / s_h) \times (n_w / s_w) (nh/sh)×(nw/sw)

转置卷积

如果步幅为 s ,填充为 s / 2 (假设 s / 2 是整数)且卷积核的高和宽为 2s ,转置卷积核会将输入的高和宽分别放大 s 倍。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一位卷积层通常指的是一维卷积层,它用于处理一维序列数据,比如文本数据或时间序列数据。而二维卷积层则用于处理二维图像数据。 举例来说,假设我们有一个输入数据 $x$,它是一个长度为 $n$ 的一维向量,我们想要用一位卷积层对它进行处理。我们可以构建一个一维卷积核 $w$,它的长度为 $k$,然后将卷积核 $w$ 按步长 $s$ 在输入数据 $x$ 上滑动,每个位置计算一次卷积运算,得到输出数据 $y$,输出数据的长度为 $\lfloor\frac{n-k}{s}\rfloor+1$。一位卷积层的计算公式如下: $$y_i = \sum_{j=0}^{k-1} w_j x_{i\cdot s + j}$$ 其中,$i$ 为输出数据的索引,$x_{i\cdot s + j}$ 表示输入数据 $x$ 的某个位置(在滑动窗口中的位置),$w_j$ 表示卷积核的权重。 而对于二维卷积层,它通常用于处理图像数据。假设我们有一个输入数据 $x$,它是一个 $h\times w$ 的二维矩阵(即图像),我们想要用一个二维卷积层对它进行处理。我们可以构建一个 $k_h\times k_w$ 的卷积核 $w$,然后将卷积核 $w$ 按步长 $s$ 在输入数据 $x$ 上滑动,每个位置计算一次卷积运算,得到输出数据 $y$,输出数据的大小为 $\lfloor\frac{h-k_h}{s}\rfloor+1\times\lfloor\frac{w-k_w}{s}\rfloor+1$。二维卷积层的计算公式如下: $$y_{i,j} = \sum_{u=0}^{k_h-1}\sum_{v=0}^{k_w-1} w_{u,v} x_{(i\cdot s+u),(j\cdot s+v)}$$ 其中,$i,j$ 为输出数据的行列索引,$x_{(i\cdot s+u),(j\cdot s+v)}$ 表示输入数据 $x$ 的某个位置(在滑动窗口中的位置),$w_{u,v}$ 表示卷积核的权重。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值