填充(Padding)是卷积神经网络(CNN)中一种技术,填充的主要目的是

填充(Padding)是卷积神经网络(CNN)中一种技术,通过在输入特征图的边缘添加像素,以控制输出特征图的空间维度。填充的主要目的是:

  1. 控制输出大小:通过填充可以在一定程度上保留输入特征图的边缘信息,从而控制输出特征图的空间维度。
  2. 保留边界信息:在没有填充的情况下,卷积操作会导致输出特征图的尺寸逐渐减小,导致边界信息丢失。填充有助于缓解这个问题。
  3. 保持输入输出尺寸一致:有时希望卷积后的特征图与输入特征图保持相同的尺寸,填充可以帮助实现这一目的。

填充的类型

  1. 有效填充(Valid Padding)

    • 也称为"不填充"(No Padding)。
    • 卷积操作不会在输入特征图的边缘添加任何额外的像素。
    • 输出特征图的尺寸会随着卷积操作逐渐减小。
  2. 相同填充(Same Padding)

    • 也称为"填充"(Padding)。
    • 在输入特征图的边缘添加适当数量的像素,使得输出特征图的尺寸与输入特征图相同。
    • 填充的大小由卷积核的尺寸和步长决定。

填充大小的计算

假设输入特征图的尺寸为 H in × W in H_{\text{in}} \times W_{\text{in}} Hin×Win,卷积核的大小为 k H × k W k_H \times k_W kH×kW,步长为 s H × s W s_H \times s_W sH×sW,输出特征图的尺寸为 H out × W out H_{\text{out}} \times W_{\text{out}} Hout×Wout,填充的大小为 p H × p W p_H \times p_W pH×pW。计算填充大小的一般公式如下:

对于高度方向的填充:
p H = ⌊ ( H out − 1 ) × s H + k H − H in 2 ⌋ p_H = \left\lfloor \frac{(H_{\text{out}} - 1) \times s_H + k_H - H_{\text{in}}}{2} \right\rfloor pH=2(Hout1)×sH+kHHin

对于宽度方向的填充:
p W = ⌊ ( W out − 1 ) × s W + k W − W in 2 ⌋ p_W = \left\lfloor \frac{(W_{\text{out}} - 1) \times s_W + k_W - W_{\text{in}}}{2} \right\rfloor pW=2(Wout1)×sW+kWWin

在实际应用中,常用以下公式简化填充计算:

p H = ⌊ k H − 1 2 ⌋ p_H = \left\lfloor \frac{k_H - 1}{2} \right\rfloor pH=2kH1

p W = ⌊ k W − 1 2 ⌋ p_W = \left\lfloor \frac{k_W - 1}{2} \right\rfloor pW=2kW1

例子

假设输入特征图尺寸为 28 × 28 28 \times 28 28×28,卷积核大小为 3 × 3 3 \times 3 3×3,步长为 1 × 1 1 \times 1 1×1,使用相同填充。根据公式计算填充大小:

p H = p W = ⌊ 3 − 1 2 ⌋ = 1 p_H = p_W = \left\lfloor \frac{3 - 1}{2} \right\rfloor = 1 pH=pW=231=1

因此,在输入特征图的四边各添加一列像素,填充后的输入特征图尺寸变为 30 × 30 30 \times 30 30×30,经过卷积操作后,输出特征图的尺寸仍然为 28 × 28 28 \times 28 28×28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值