请选择 进入手机版 | 继续访问电脑版
查看: 791|回复: 0

AI视觉组仙人一步之模型发展与基础网络块介绍

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32003
    最后登录
    2024-4-9
    发表于 2022-2-11 16:44:05 | 显示全部楼层 |阅读模式




    相信看过前篇AI视觉组仙人一步之模型调优的小伙伴,对于模型和网络块已经有了初步的了解,应该已经开心的玩起自建模型了。


    小编这次就为大家介绍一下一些经典模型的发展史,以及一些新奇的、能够提升模型质量的网络块。
    本篇文章的主要目的,是让大家对于网络模型发展的历史有进一步的了解,学习模型设计策略方法,可以更加灵活的设计自己的网络。
    话不多说,开整——


    网络模型发展史


    首先,第一个LeNet,始创于1998年,如果放在现在来看,LeNet绝对是一个实打实的小网络,也没啥让人眼前一亮的技术点。但是,不可否认的是,LeNet是CNN网络结构的开山鼻祖,是祖师爷般的存在,是他,第一次定义了CNN的网络结构。可以说,之后的网络模型,无论多么复杂,都或多或少的借鉴了LeNet的结构特点和设计思想。
    LeNet的特点如下:
            a.定义了CNN网络的基本框架:卷积层+池化层+全连接层
            b.定义了卷积层,在LeNet网络出现之前,模型往往都是基于全连接层的,相较于此,卷积层有两个不同之处,其一是局部连接,即我们常说的感受野的概念,其二是权值共享以其减少参数数量。
            c.引入池化层进行下采样,减少计算量。
            d.用Tanh作为非线性激活函数,这里大家可能有点疑问,难道不是ReLU吗,没错,我们现在所看到的LeNet模型是改进过的,激活函数已经由Tanh改进为ReLU了。而在LeNet之前,激活函数一般选用的是sigmoid,而Tanh由于是以原点对称的,收敛速度较之sigmoid会快。


    在LeNet诞生约14年后,2012年一个叫做AlexNet的模型横空出世,并在当年的ILSVRC大赛中夺得冠军,引起诸多学者对深度学习的研究,算是深度学习热潮的起始标志。可以说,从现在开始,深度学习才真正被大家所熟知、认可。AlexNet的特点如下:
           1.双GPU结构,以支撑更大,更深的网络。
           2.采用ReLU代替Tanh。没错,是AlexNet首先提出了ReLU的概念,以缓解Tanh作为激活函数带来的梯度消散问题。
           3.提出局部归一化操作。
           4.提出Overlapping Pooling,即使得相邻的池化区域存在重叠部分。
           5.对数据集进行随机裁剪,在测试时,分别从图像的四个角以及中心进行裁剪,并进行镜像翻转,随后,对所有图的测试结果进行平均,得到最终结果。可以大大提高结果精度。
           6.引入DropOut层,避免网络过拟合。


    紧接着,在2014年,出现了一个类似于ALexNet的模型,VGG,采用的核心设计思想


    是创造更加深的网络,此时的网络已经达到了19层,同时VGG不采用感受野大的卷积核,如:7 x 7, 5 x 5,反而采用感受野小的卷积核,例如3 x 3,关于这样做的好处,作者指出两点:减少网络参数量,同时由于参数量小了,可以用多个感受野小的卷积层替换掉之前感受野大的卷积层,从而在一定程度上提高网络的非线性表达能力。
    同年,Google提出了Inception网络结构,作者在论文中提到,提高模型表达能力的最直接的方法,就是增加模型的大小,而这会导致两个问题:模型越大,网络参数越多,容易产生过拟合现象,这就需要更大的数据集,而大型数据集往往构建成本是很高的;二者,模型越大,对于计算资源的需求也就越大,在现实任务中是难以接受的。这样一来,作者设计了一种叫做Inception Module的网络,在兼顾网络深度的同时,精简网络参数,在下一节网络块的介绍中会详细说明。
    在这之后,2015年,ResNet模型面世,解决了神经网络的退化问题,即相较于浅层的神经网络,深层神经网络的深度到达一定深度后,拟合能力反而更差,训练/测试误差更高。简单来说,模型提出了残差结构,利用shortcut进行Identity Mapping,这样也就解决了梯度消散问题。
    2016年,DenseNet在当年引起热议,与ResNet和Inception Net不同,DenseNet既没从网络深度入手,也没从网络宽度入手,而是对FeatureMap进行特征复用,一次缓解梯度消失问题,加强网络中特征的传递,有效对特征进行复用,提高网络表现效果的同时减少了网络参数量,而这也要归功于其中所包含的一种特殊的网络结构Dense Block。
    时间来到2017年,神经网络的轻量化逐渐引起人们的关注,此时,Google提出了一个轻量化的模型,MobileNet,其核心思想是将标准卷积层拆分成两个部分,Depthwise卷积以及Pointwise卷积,又称作深度可分离卷积。其最显著的特点是,Depthwise卷积的输出通道数和其输入通道数保持一致。
    随后,2018年,Google吸取了ResNet的思想,将shortcut的概念引入Mobilenet网络,提出了Inverted Residuals and LinearBottlenecks结构的MobileNetV2网络。相较于ResNet中的结构,现在的Inverted Residual Block是先升Channel再降Channel。
    在接下来的几年,又出现了很多新奇的模型,例如ShuffleNet,MobileFaceNet等,小编就不一一介绍了。
    下面,小编对上述提到的网络模型的核心部件,也就是所采用的经典网络块进行详细说明。因为,在实际应用中,我们一般不会直接拿过来完整的模型来用,而是要根据实际情况,来自定义模型。而在这之中,网络块的重要性就不言而喻了。我们所要做的就是,熟练应用这些经典网络块,将其嵌入到我们的模型中。


    经典网络块说明


    网络块,可以说是模型的灵魂,网络块的堆叠成就了功能强大的网络模型。一个好的网络块是成功的基石。纵观模型网络发展史,也正是网络块的进化史。我们着重说明两个网络块,残差块和Inception块。


    首先介绍的是残差连接结构,它大概长这样:
    15.png
    最大的特点是,在层与层之间,增加了一条高速公路,也叫做shortcut,使得前面的输出,可以跨过一些层,直接加到后面的层上。这样做的目的也很明显,为了解决梯度问题。梯度消散问题往往是由于网络过深,梯度在反向传播的过程中消失,而高速公路的存在,可以保证梯度可以残存一个副本到前一层,不会很快消失。
    Incepthion块共有4代版本:
    a.InceptionV1, 是Inception家族的老大哥, 是初代结构。作者受到Network In Network以及HeHebbian Principle的启发,通过增加网络的宽度,从而提高网络的表达能力,并尝试找到卷积神经网络中的最优局部系数结构,即Inception Modeule。其做法是,打破常规的卷积串联的设计思路,选择将卷积核大小为1x1,33x3, 5x5的卷积层和池化核大小为3x3的池化层进行并联,并将最终的特征图进行Concatenate操作合并在一起,作为后续的输入。


    b.InceptionV2,在一代的基础上,最大的改动是,将5x5的卷积层用两个相连的卷积核大小为3x3的卷积层进行替换。


    c.InceptionV3,主要设计思想是对大的卷积核再进行精简,其做法是利用连续的来给两层非对称的卷积核(卷积核大小为nx1和1xn)代替原有卷积层(卷积核大小为nxn),以减少参数量以及计算量。


    d.InceptionV4,将Inception和ResNet进行结合所实现,可以说兼顾了模型参数和过深的网络对于梯度消散的影响。

    至此,相信大家对于网络模型的发展以及其中所涉及的经典网络块已经有了一定的了解了。
    正所谓,读史可以明鉴,知道了模型的发展史,以及各个模型的特点,我们可以从中学到专家们的设计之禅,就可以借此设计自己的模型。知道了一些经典的网络块,我们如同站在了巨人的肩膀上。
    通俗点讲,有了这些经典网络块,搭建模型更像是搭积木,基础件就放在那了,是搭成摩天大楼还是迪士尼乐园,请Follow your heart。

    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-19 10:34 , Processed in 0.130345 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表