栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 概述

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

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


2  卷积(Convolution) 2.1  单通道的卷积

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

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

2.2  三通道的卷积 2.2.1  1 Output Channel

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

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

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

 2.2.2  M Output Channels

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

 注:

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

3  卷积层常见参数 3.1  padding

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

3.2  stride

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

3.3  Subsampling——MaxPooling Layer

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

 代码设置:

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

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/724921.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号