机器学习之卷积神经网络--CNN介绍

举报
南蓬幽 发表于 2022/06/28 15:16:55 2022/06/28
【摘要】 卷积神经网络–CNN 1. 卷积神经网络介绍卷积神经网络(Convolutional Neural Networks,CNN)是一种包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。常见的CNN网络有LeNet-5、VGGNet、GoogleNet、ResNet、DenseNet、MobileNet等。CNN主要应用场景: 图像分类、图像分割 、 目标检测 、 自然语言处...

卷积神经网络–CNN

1. 卷积神经网络介绍

卷积神经网络(Convolutional Neural Networks,CNN)是一种包
含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。
常见的CNN网络有LeNet-5、VGGNet、GoogleNet、ResNet、
DenseNet、MobileNet等。
CNN主要应用场景: 图像分类、图像分割 、 目标检测 、 自然语言处
理等领域。

2. 卷积神经网络基本结构及原理

卷积神经网络基本结构

在这里插入图片描述

CNN基本结构:INPUT -> 卷积->激活 -> 池化 -> 全连接 ->OUTPUT

卷积层

对输入的图像数据与卷积核做卷积运算提取图像的高阶特征
卷积过程的几个参数
1、深度(depth):卷积核个数,也称神经元个数,决定输出的特征图的数量。
在这里插入图片描述

2、步长(stride):卷积核滑动一次的大小,决定滑动多少步可以到达边缘。
在这里插入图片描述
在这里插入图片描述

3、填充值(padding):在外围边缘补充0的层数。

卷积过程

在这里插入图片描述

卷积网络最主要的两个特征
1、局部感知
2、权值共享
激活层、Relu函数

池化层

下采样(downsamples),对输入的特征图进行压缩;
一方面使特征图变小,简化网络计算复杂度,有效控制过拟合;
另一方面进行特征压缩,提取主要特征。
池化,规模一般为 2*2,操作一般有2种:

  • 最大池化(Max Pooling)。取4个点的最大值。这是最常用的池化方法。
  • 均值池化(Mean Pooling)。取4个点的均值。
  • 在这里插入图片描述

全连接层

连接所有的特征,将输出值送给分类器,实现分类。
在这里插入图片描述

3. pytorch中卷积的实现

卷积层

torch.nn.Conv2d()
参数说明
in_channels:输入通道数(深度)
out_channels:输出通道数(深度)
kernel_size:滤波器(卷积核)大小
stride:表示滤波器滑动的步长
padding:是否进行零填充
bias:默认为 True,表示使用偏置
groups:控制分组卷积,默认不分组,为1组。
dilation:卷积对输入的空间间隔,默认为 True

激活层

torch.nn.ReLU()
参数说明
inplace:是否在原数据进行操作,默认是False

池化层

torch.nn.MaxPool2d()
torch.nn.AvgPool2d()
参数说明
kernel_size :表示做最大池化的窗口大小
stride:步长
padding:是否进行零填充
dilation:卷积对输入的空间间隔,默认为 True

全连接层

torch.nn.Linear()
参数说明
in_features :输入特征数;
out_features:输出特征数;
bias:默认为 True,表示使用偏置

4. 经典卷积神经网络介绍

Lenet-5

LeNet5卷积神经网络源于Yann LeCun在1998年发表的论文:Gradient-
based Learning Applied to Document Recognition,是一种用于手写数字识别的
卷积神经网络。
LeNet-5是CNN网络架构中最知名的网络模型,是卷积神经网络的开山之
作。

AlexNet

2012 年, AlexNet 横空出世。AlexNet 使⽤卷积神经⽹络,并以很⼤的优
势赢得了ImageNet 2012 图像识别挑战赛冠军。
Alexnet模型由5个卷积层和3个池化Pooling 层 ,其中还有3个全连接层构
成。AlexNet 跟 LeNet 结构类似,但使⽤了更多的卷积层和更⼤的参数空间来拟
合⼤规模数据集 ImageNet。它是浅层神经⽹络和深度神经⽹络的分界线。

cifar10数据介绍

CIFAR-10 是由 Hinton 的学生 Alex Krizhevsky 和 Ilya Sutskever 整理的一
个用于识别普适物体的小型数据集。一共包含 10 个类别的 RGB 彩色图 片:飞
机( a叩lane )、汽车( automobile )、鸟类( bird )、猫( cat )、鹿
( deer )、狗( dog )、蛙类( frog )、马( horse )、船( ship )和卡车
( truck )。图片的尺寸为 32×32 ,数据集中一共有 50000 张训练圄片和
10000 张测试图片在这里插入图片描述

VGGNet

VGGNet 是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提
出的一种深层卷积网络结构,他们以 7.32% 的错误率赢得了 2014 年 ILSVRC 分
类任务的亚军。
VGGNet探索了卷积神经网络的深度与其性能之间的关系,成功地构筑了
16~19层深的卷积神经网络,证明了增加网络的深度能够在一定程度上影响网络
最终的性能,使错误率大幅下降,同时拓展性又很强,迁移到其它图片数据上的
泛化性也非常好。到目前为止,VGG仍然被用来提取图像特征。
VGG可以看成是加深版本的AlexNet。都是conv layer + FC layer

GoogleNet

GoogleNet是2014年Google团队提出的一种全新的深度学习结构,赢得了
2014 年 ILSVRC 分类任务的冠军。
GoogLeNet是第一个使用并行网络结构的经典模型,这在深度学习的发展
历程中是具有开创性意义的。
GoogLeNet最基本的网络块是Inception,它是一个并联网络块,经过不断
的迭代优化,发展出了Inception-v1、Inception-v2、Inception-v3、Inception-v4、
Inception-ResNet共5个版本。
Inception家族的迭代逻辑是通过结构优化来提升模型泛化能力、降低模型
参数。

ResNet

ResNet(残差网络) 网络是在 2015年 由微软实验室中的何凯明等几位大神
提出,斩获当年ImageNet竞赛中分类任务第一名,目标检测第一名。获得COCO
数据集中目标检测第一名,图像分割第一名。
它使用了一种连接方式叫做“shortcut connection”,顾名思义,shortcut就
是“抄近道”的意思。在这里插入图片描述
ResNet block有两种,一种两层结构,一种三层结构在这里插入图片描述

MobileNet

MobileNet是谷歌在2017年提出,专注于移动端或者嵌入式设备中的轻量
级CNN网络。
MobileNet的基本单元是深度可分离卷积,其可以分解为两个更小的操作:
depthwise convolution和pointwise convolution。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。