当前位置:   article > 正文

Pytorch深度学习—— 卷积神经网络基础篇(B站刘二大人P10学习笔记)_stride=2

stride=2

目录

1 概述

2  卷积(Convolution)

2.1  单通道的卷积

2.2  三通道的卷积

2.2.1  1 Output Channel

 2.2.2  M Output Channels

3  卷积层常见参数

3.1  padding

3.2  stride

3.3  Subsampling——MaxPooling Layer


1 概述

       之前我们学习的网络全是由线性层串行连接起来的,这种网络被称为全连接网络,全连接网络在数值计算的时候,会丧失掉图片特征中的一些空间的信息。而卷积神经网络可以很好的保留图像的空间特征。如图所示,是卷积神经网络的基本工作方式:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_20,color_FFFFFF,t_70,g_se,x_16

       首先经过特征提取层,进行特征提取,经过特征提取之后,图片信息变成了一个向量;而后将向量接入一个全连接网络进行分类处理。


2  卷积(Convolution)

2.1  单通道的卷积

如图所示,选择 1 x 5 x 5 的单通道图像,3 x 3 的卷积核,进行卷积运算:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_18,color_FFFFFF,t_70,g_se,x_16

       步骤:先在Input图像中,画出一个卷积核大小的(3x3)的窗口,而后将该窗口与卷积核做数乘+求和(对应元素相乘);然后将该窗口向左、向下做遍历,每一次都进行数乘求和运算,最终由这些数乘求和数值组成的矩阵,就是卷积后的结果。

2.2  三通道的卷积

2.2.1  1 Output Channel

        如图所示,是三通道的卷积基本原理:每个通道搭配一个卷积核,而后每个通道根据上面讲的单通道的计算方式计算,得到一个矩阵,一共可以得到三个矩阵,将这三个矩阵求和,最终得到的结果就是三通道卷积的结果。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_17,color_FFFFFF,t_70,g_se,x_16

注:卷积核的数量一定和图像的通道数是一致的

如下图所示,是将图像的三通道和三个卷积核以立体的形式显示:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

 2.2.2  M Output Channels

        如果想要输出的通道数不止一个,可以增加m个同种类型的卷积核的个数,依次进行卷积运算,将得到的m个单层通道的卷积结果罗列起来,就得到了m个通道的输出,更加形象的过程如图所示:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

 注:

  1. 每一个卷积核的通道数与输入通道数是一致的;
  2. 卷积核的总数和输出通道数是一致的

卷积层常见参数

3.1  padding

       当想要改变输出的大小是,有时候需要padding,如下图所示,输出原大小为一个 3 x 3 的矩阵,如果想要将其一个 5 x 5 的矩阵时,padding操作就是在输入图像周围进行填充,一般情况下填充数值为0。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

3.2  stride

       stride就是卷积核窗口在遍历图像时,每走一步的步长。如下图所示,是stride=2时的卷积步骤:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_19,color_FFFFFF,t_70,g_se,x_16

3.3  Subsampling——MaxPooling Layer

       如下图所示,是一个2x2的MaxPooling的工作原理,他的stride默认为2,将图像分成很多个2x2大小方格,取2x2小方格中的最大值,组成一个2x2的新的输出。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5LmgQ1bnmoTnoJTkuIDlsI_nmb0=,size_14,color_FFFFFF,t_70,g_se,x_16

 代码设置:

maxpooling_layer=torch.nn.MaxPool2d(Kernel_size=2)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/816606
推荐阅读
相关标签
  

闽ICP备14008679号