卷积神经网络:填充、步幅

卷积神经网络:二维卷积层中说到,如果输入 X X X的形状为 ( h x , w x ) (h_x,w_x) (hx,wx),卷积核 K K K的形状为 ( h k , w k ) (h_k,w_k) (hk,wk),那么输出 Y Y Y(特征图feature map)的形状为:
{ h y = h x − h k + 1 w y = w x − w k + 1 \begin{cases} h_y=h_x-h_k+1 \\ w_y=w_x-w_k+1 \end{cases} {hy=hxhk+1wy=wxwk+1

即卷积层的输出形状由输入形状卷积核窗口形状决定。这篇文章将记录学习卷积层的两个超参数(即需要自己调整的参数):填充、步幅。它们可以对于给定形状的输入和卷积核改变输出形状。

一、填充(padding)

填充是指在输入的高、宽两侧填充元素(通常为0),如下图:
在这里插入图片描述

虚线框部分即为填充的0。增加了 p a d d i n g padding padding的输入,卷积层输出的形状也会相应的改变。假设在高的两侧共填充 h p h_p hp行,宽的两侧共填充 w p w_p wp列,那么相应的输出形状变为:
{ h y = h x + h p − h k + 1 w y = w x + w p − w k + 1 \begin{cases} h_y=h_x+h_p-h_k+1 \\ w_y=w_x+w_p-w_k+1 \end{cases} {hy=hx+hphk+1wy=wx+wpwk+1

由这个公式,可以得出:

  • 我们可以设置 p a d d i n g padding padding的形状为 ( h k − 1 , w k − 1 ) (h_k-1,w_k-1) (hk1,wk1),使得输出形状与输入性状相同。这也是经常的做法
  • 在上述做法中,如果 h k h_k hk为奇数,则上下两端的 p a d d i n g padding padding高度相同;如果 h k h_k hk为偶数,则上下两端的 p a d d i n g padding padding高度不同。对于宽度也是如此。所以一般来说,卷积核的高宽均为奇数

二、步幅(stride)

卷积神经网络:二维卷积层中说到,卷积核窗口会在输入上滑动。每次滑动的行数、列数称之为步幅。下图中,高上步幅为3,宽上步幅为2。
在这里插入图片描述

加入了步幅之后,输出的形状又会变化。假设高上步幅为 h s h_s hs,宽上步幅为 w s w_s ws,则输出形状为:
{ h y = h x + h p − h k h s + 1 w y = w x + w p − w k w s + 1 \begin{cases} h_y=\frac {h_x+h_p-h_k}{h_s} + 1\\ w_y=\frac {w_x+w_p-w_k}{w_s} + 1 \end{cases} {hy=hshx+hphk+1wy=wswx+wpwk+1

h p = h k − 1 , w p = w k − 1 h_p=h_k-1,w_p=w_k-1 hp=hk1,wp=wk1时(即输入和输出形状相同),我们再设置步幅 s t r i d e stride stride时,输出的形状会缩小 s t r i d e . s h a p e stride.shape stride.shape倍(高、宽均缩小)。

三、小结

  1. p a d d i n g padding padding可以增加输出的高、宽,通常用来使:输入和输出形状相同
  2. s t r i d e stride stride可以减小输出的高、宽
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卷积神经网络的参数设置包括卷积核大小、卷积层数、每层map个数、步幅填充等。这些参数的确定通常需要根据具体的任务和数据集进行调整和优化。 1. 卷积核大小:卷积核是卷积神经网络中的一个重要组成部分,它用于提取输入数据的特征。卷积核的大小决定了在输入数据上进行卷积操作时的感受野大小。通常情况下,较小的卷积核可以捕捉到更细节的特征,而较大的卷积核可以捕捉到更宏观的特征。 2. 卷积层数:卷积神经网络的深度由卷积层数决定。增加卷积层数可以增加网络的表达能力,从而提高网络对复杂特征的提取能力。然而,过深的网络可能会导致梯度消失或梯度爆炸的问题,因此需要合理选择卷积层数。 3. 每层map个数:每层map个数指的是每个卷积层输出的特征的数量。增加每层map个数可以增加网络的表达能力,从而提高网络对不同特征的提取能力。然而,较大的map个数会增加网络的计算复杂度和参数量,可能导致过拟合问题。 4. 步幅填充步幅填充是卷积操作中的两个重要参数。步幅决定了卷积核在输入数据上滑动的步长,而填充则是在输入数据的边缘周围添加额外的像素。调整步幅填充可以改变输出特征的大小和感受野大小,而影响网络的感知能力和输出大小。 总之,卷积神经网络的参数设置需要根据具体任务和数据集进行调整和优化,以提高网络的性能和效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值