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

目录

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  卷积层常见参数

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)

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习CV的研一小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值