打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CNN卷积神经网络中的stride、padding、channel以及特征图尺寸的计算
  • 1. stride步幅

  • 2. padding填充

  • 3. channel通道

  • 4. 计算及例子


1. stride步幅

stride:卷积时的采样间隔

设置步幅的目的是希望减小输入参数的数目,减少计算量。stride参数的值就是缩小的倍数,比如步幅为2,就对输入的特征图做2倍下采样,注意步幅并不代表输出是输入的 1 s t r i d e \frac{1}{stride} stride1

2. padding填充

padding:在输入特征图的每一边添加一定数目的行列,使得输出和输入的特征图的尺寸相同。

为什么要设置padding:

  1. 如果没有padding,每次进行卷积后,原始图像的尺寸就会越来越小,所以没有办法设计层数足够多的深度神经网络。

  2. 希望每个输入特征图的每一块都能作为卷积窗口的中心,防止丢失图像边缘信息。

在tensorflow中:
padding = 'same'表示进行填充,填充的值由算法内部根据卷积核大小计算,目的是让输出尺寸和输入相等。
padding = 'valid'表示不进行填充,即是 padding=0,只使用有效的窗口位置,这是默认的选项。

p a d d i n g = s i z e _ f i l t e r − 1 2 padding = \frac{size\_filter - 1}{2} padding=2size_filter−1

这就是为什么卷积核尺寸通常选择奇数的原因

还要注意padding='same'目的是让输出尺寸和输入尺寸相等,但前提是步幅=1,步幅若不是1,那么输出尺寸跟输入尺寸肯定是不一样

3. channel通道

在只有一个通道的情况下,“卷积核”就相当于“filter”,这两个概念是可以互换的。但在一般情况下,它们是两个完全不同的概念。每个“filter”实际上恰好是“卷积核”的一个集合,在当前层,每个通道都对应一个卷积核,且这个卷积核是独一无二的。

卷积过程中,输入层有多少个通道,filter就有多少个通道。

即:某一层filter的通道数 = 上一层特征图的通道数。

一般的图像都是三通道的,所以卷积核也应该为三个通道。比如对于32x32x3的图像,使用一个5x5x3的卷积核,最终会得到一个28x28x1的特征图。

但是filter的数量任意的,filter的数量决定了卷积后特征图的数量。

即:某一层输出特征图的通道数 = 当前层filter的个数

4. 计算及例子

例:一个尺寸 a*a 的特征图,经过 b*b 的卷积层,步幅(stride)=c,填充(padding)=d,请计算出输出的特征图尺寸?

输出特征图尺寸 = a − b + 2 d c + 1 =\frac{a - b + 2d}{c} + 1 =ca−b+2d+1

只要记住这个公式,就可以计算所有输出特征图的尺寸了。

例:输入4*4,卷积核3*3,stride = 1,padding = 0
              
              输出尺寸 = (4-3+0)/1 + 1 = 2

例:输入5*5,卷积核3*3,stride = 1,padding = 1
              
              输出尺寸 = (5-3+2)/1 + 1 = 5

例:输入5*5,卷积核3*3,stride = 2,padding = 0
              
              输出尺寸 = (5-3+0)/2 + 1 = 2

例:输入6*6,卷积核3*3,stride = 2,padding = 1
              
              输出尺寸 = int(6-3+2)/2 + 1 = 3
注意:这里的padding有一列是没有参与卷积的,因为stride为2没有办法采样到这一列

总结:
卷积过程中,有时需要通过padding来避免信息损失,有时也要通过设置stride来压缩一部分信息,或者使输出的尺寸小于输入的尺寸。

本文参考以下文章整理而来:
CNN中stride(步幅)和padding(填充)的详细理解
卷积神经网络中的stride、padding和channel概念
CNN基础知识——卷积(Convolution)、填充(Padding)、步长(Stride)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
卷积特征关系 卷积运算 输入输出特征之间的关系
入门 | 一文概览深度学习中的卷积结构
手写数字识别:卷积神经网络CNN原理详解
创建网络模型,灵活运用(卷积层、池化层、全连接层)时的参数
机器不学习:卷积神经网络笔记,你想要的最基础的卷积神经网络
CNN中常用的四种卷积详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服