0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

卷积神经网络的发展及各模型的优缺点

新机器视觉 来源:新机器视觉 2023-01-29 15:15 次阅读

前言

在CV领域,我们需要熟练掌握最基本的知识就是各种卷积神经网络CNN的模型架构,不管我们在图像分类或者分割,目标检测,NLP等,我们都会用到基本的CNN网络架构。

CNN从最初的2012年AlexNet横空出世到2014年VGG席卷世界以及2015年ResNet奠定了该领域的霸主地位,网络模型变得越变越深,而且也得到证明,越深的网络拟合效果越好,但网络相应的参数量计算量都极速增加,不利于技术的推广和应用。

因此,一些轻量级的网络结构也慢慢随之出现,比如MobileNet系列,ShuffleNet系列,以及ResNext、DenseNet、EfficenceNet等模型,他们都互相吸取彼此的优点,不但降低了参数量或者计算量,同时分类精度更高,因而受到了更多的关注。接下来我们就对CNN的各种网络结构以及他们的优缺点进行一次详细的解读!

AlexNet(2012)

fed675f6-9903-11ed-bfe3-dac502259ad0.png

1、增加了relu非线性激活函数,增强了模型的非线性表达能力。成为以后卷积层的标配。

2、dropout层防止过拟合,成为以后fc层的标配。

3、通过数据增强,来减少过拟合。

4、引入标准化层(Local Response Normalization):通过放大那些对分类贡献较大的神经元,抑制那些对分类贡献较小的神经元,通过局部归一的手段,来达到作用。

VGG(2014)

fedd38c8-9903-11ed-bfe3-dac502259ad0.png

论文的主要创新点在于:

1、用3x3小卷积核代替了5x5或者7x7的卷积核 2、基于ALexnet加深了网络深度,证明了更深的网络,能更好的提取特征。

GoogleNet(2014)

fee6791a-9903-11ed-bfe3-dac502259ad0.png

在设计网络结构时,不仅仅考虑网络的深度,也会考虑网络的宽度,并将这种结构定义为Inception结构。

feef7b46-9903-11ed-bfe3-dac502259ad0.png

1、引入1x1卷积的主要目的是为了减少维度,还用于修正线性激活(ReLU)

2、网络最后采用了average pooling(平均池化)来代替全连接层

后面的Inception v2/v3都是基于v1的这种方法在扩展,主要目标有:

1、参数量降低,计算量减少。

2、网络变深,网络非线性表达能力更强

ResNet(2015)

问题:

1、增加深度带来的首个问题就是梯度爆炸/消散的问题,这是由于随着层数的增多,在网络中反向传播的梯度会随着连乘变得不稳定,变得特别大或者特别小。这其中经常出现的是梯度消散的问题。

2、为了克服梯度消散也想出了许多的解决办法,如使用BatchNorm,将激活函数换为ReLu,使用Xaiver初始化等,可以说梯度消散已经得到了很好的解决

fef80afe-9903-11ed-bfe3-dac502259ad0.png

已知有网络degradation的情况下,不求加深度能提高准确性,能不能至少让深度网络实现和浅层网络一样的性能,即让深度网络后面的层至少实现恒等映射的作用,根据这个想法,作者提出了residual模块来帮助网络实现恒等映射。

ff011b12-9903-11ed-bfe3-dac502259ad0.png

ResNet的设计特点:

1、核心单元模块化,可进行简单堆叠。 2、Shortcut方式解决网络梯度消失问题。 3、Average Pooling层代替fc层。 4、引入BN层加快网络训练速度和收敛时的稳定性。 5、加大网络深度,提高模型的特征抽取能力。

MobileNet v1

谷歌在2017年提出专注于移动端或者嵌入式设备中的轻量级CNN网络:MobileNet。最大的创新点是深度可分离卷积。

通过将标准卷积分解为深度卷积核逐点卷积,能够显著的降低参数量和计算量。引入Relu6激活函数。

ff0beaba-9903-11ed-bfe3-dac502259ad0.png

参数量计算量的计算:

ff15a23a-9903-11ed-bfe3-dac502259ad0.png

网络结构如下:

ff20e8c0-9903-11ed-bfe3-dac502259ad0.png

MobileNet v2

改进点主要有以下几个方面:

1、引入残差结构,先升维再降维,增强梯度的传播,显著减少推理期间所需的内存占用

Inverted Residuals:

残差模块:输入首先经过1x1的卷积进行压缩,然后使用3x3的卷积进行特征提取,最后在用1x1的卷积把通道数变换回去。整个过程是“压缩-卷积-扩张”。这样做的目的是减少3x3模块的计算量,提高残差模块的计算效率。

ff2e1018-9903-11ed-bfe3-dac502259ad0.png

倒残差模块:输入首先经过1x1的卷积进行通道扩张,然后使用3x3的depthwise卷积,最后使用1x1的pointwise卷积将通道数压缩回去。整个过程是“扩张-卷积-压缩”。

对低维度做ReLU运算,很容易造成信息的丢失。而在高维度进行ReLU运算的话,信息的丢失则会很少。

ff384ccc-9903-11ed-bfe3-dac502259ad0.png

Linear Bottleneck:

这个模块是为了解决一开始提出的那个低维-高维-低维的问题,即将最后一层的ReLU6替换成线性激活函数,而其他层的激活函数依然是ReLU6。

MobileNet v3

V3结合了V1的深度可分离卷积,V2的Inverted Residuals 和 Linear Bottleneck,以及加入SE模块、利用NAS(神经结构的搜索)来搜索网络参数。

ff3f3d34-9903-11ed-bfe3-dac502259ad0.png

互补搜索技术 —— NAS & NetAdapt

h-swish激活函数

out = F.relu6(x + 3., self.inplace) / 6. return out * x

改进一:下图是MobileNet-v2的整理模型架构,可以看到,网络的最后部分首先通过1x1卷积映射到高维,然后通过GAP收集特征,最后使用1x1卷积划分到K类。所以其中起抽取特征作用的是在7x7分辨率上做1x1卷积的那一层。

而V3是先进行池化然后再进行1x1卷积提取特征,V2是先1X1卷积提取特征再池化。

ff4b71c6-9903-11ed-bfe3-dac502259ad0.png

ShuffleNet

组卷积

Group convolution是将输入层的不同特征图进行分组,然后采用不同的卷积核再对各个组进行卷积,这样会降低卷积的计算量。

因为一般的卷积都是在所有的输入特征图上做卷积,可以说是全通道卷积,这是一种通道密集连接方式(channel dense connection),而group convolution相比则是一种通道稀疏连接方式(channel sparse connection)。

depthwise convolution,这是一种比较特殊的group convolution,此时分组数恰好等于通道数,意味着每个组只有一个特征图。

分组卷积的会带来一个矛盾就是特征通信。group convolution层另一个问题是不同组之间的特征图需要通信。所以MobileNet等网络采用密集的1x1 pointwise convolution,因为要保证group convolution之后不同组的特征图之间的信息交流。

为达到特征通信目的,我们不采用dense pointwise convolution,考虑其他的思路:channel shuffle

ff5788b2-9903-11ed-bfe3-dac502259ad0.png

ShuffleNet的核心是采用了两种操作:pointwise group convolution和channel shuffle,这在保持精度的同时大大降低了模型的计算量。其基本单元则是在一个残差单元的基础上改进而成。

ff5f7b80-9903-11ed-bfe3-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cnn
    cnn
    +关注

    关注

    3

    文章

    327

    浏览量

    21304
  • 卷积神经网络

    关注

    4

    文章

    284

    浏览量

    11716
  • resnet
    +关注

    关注

    0

    文章

    12

    浏览量

    3113

原文标题:卷积神经网络的发展及各模型的优缺点

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    卷积神经网络模型优缺点

    卷积神经网络模型优缺点  卷积神经网络(Convolutional Neural Networ
    的头像 发表于 08-21 17:15 2386次阅读

    卷积神经网络一共有几层 卷积神经网络模型三层

    卷积神经网络一共有几层 卷积神经网络模型三层  卷积神经网络
    的头像 发表于 08-21 17:11 4529次阅读

    卷积神经网络模型搭建

    卷积神经网络模型搭建 卷积神经网络模型是一种深度学习算法。它已经成为了计算机视觉和自然语言处理等
    的头像 发表于 08-21 17:11 624次阅读

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积
    的头像 发表于 08-21 17:11 814次阅读

    常见的卷积神经网络模型 典型的卷积神经网络模型

    常见的卷积神经网络模型 典型的卷积神经网络模型 卷积
    的头像 发表于 08-21 17:11 1933次阅读

    卷积神经网络和深度神经网络优缺点 卷积神经网络和深度神经网络的区别

    深度神经网络是一种基于神经网络的机器学习算法,其主要特点是由多层神经元构成,可以根据数据自动调整神经元之间的权重,从而实现对大规模数据进行预测和分类。
    发表于 08-21 17:07 2354次阅读

    卷积神经网络算法流程 卷积神经网络模型工作流程

    卷积神经网络算法流程 卷积神经网络模型工作流程  卷积神经网
    的头像 发表于 08-21 16:50 1609次阅读

    卷积神经网络算法的优缺点

    卷积神经网络算法的优缺点 卷积神经网络是一种广泛应用于图像、语音等领域的深度学习算法。在过去几年里,CNN的研究和应用有了飞速的
    的头像 发表于 08-21 16:50 6509次阅读

    卷积神经网络的介绍 什么是卷积神经网络算法

    的深度学习算法。CNN模型最早被提出是为了处理图像,其模型结构中包含卷积层、池化层和全连接层等关键技术,经过多个卷积层和池化层的处理,CNN可以提取出图像中的特征信息,从而对图像进行分
    的头像 发表于 08-21 16:49 1436次阅读

    卷积神经网络层级结构 卷积神经网络卷积层讲解

    卷积神经网络层级结构 卷积神经网络卷积层讲解 卷积神经网络
    的头像 发表于 08-21 16:49 4531次阅读

    卷积神经网络的基本原理 卷积神经网络发展 卷积神经网络三大特点

    卷积神经网络的基本原理 卷积神经网络发展历程 卷积神经网络
    的头像 发表于 08-21 16:49 1458次阅读

    卷积神经网络模型原理 卷积神经网络模型结构

    卷积神经网络模型原理 卷积神经网络模型结构  卷积
    的头像 发表于 08-21 16:41 671次阅读

    卷积神经网络模型有哪些?卷积神经网络包括哪几层内容?

    卷积神经网络模型有哪些?卷积神经网络包括哪几层内容? 卷积
    的头像 发表于 08-21 16:41 1520次阅读

    卷积神经网络的应用 卷积神经网络通常用来处理什么

    卷积神经网络的应用 卷积神经网络通常用来处理什么 卷积神经网络(Convolutional Ne
    的头像 发表于 08-21 16:41 4035次阅读

    卷积神经网络原理:卷积神经网络模型卷积神经网络算法

    一。其主要应用领域在计算机视觉和自然语言处理中,最初是由Yann LeCun等人在20世纪80年代末和90年代初提出的。随着近年来计算机硬件性能的提升和深度学习技术的发展,CNN在很多领域取得了重大的进展和应用。 一、卷积神经网络
    的头像 发表于 08-17 16:30 931次阅读