Lenet、Alexnet 、VGG、 GoogleNet、ResNet模型

来源:互联网 发布:万网域名cname解析 编辑:程序博客网 时间:2024/05/21 17:26

各个模型的对比


LeNet:

       该模型主要是用于识别10个手写数字的。

AlexNet:

        


     换个视角:

该模型的贡献有:

      1.使用RELU作为激活单元。

      2.使用Dropout选择性忽略单个神经元,避免过拟合。

      3.选择最大池化,避免平均池化的平均化效果。

网络整体上包含三个结构模块:

  image


VGG:

       该模型在2014年提出的,整个模型在卷积层采用3*3滤波器,步长为2,在池化层采用2*2池化窗口,步长为2。D(VGG16)和E(VGG19)的性能比较好。
   
      E(VGG19)模型:
 
       

VGG是把网络分为5组(模仿AlexNet的五层),然而它使用了3*3的滤波器,并把它们组合起来作为一个卷积序列进行处理。特征:

1.网络更深DCNN,channel数目更大。

2.采用多个3*3的卷积,模仿出更大的感受野的效果。这些思想也被用在了后续的网络架构中,如 Inception 与 ResNet。

GoogLeNet:

                   这里写图片描述

        该模型的创新在于Inception,这是一种网中网的结构,即原来的结点也是一个网络。Inception一直在不断发展,目前已经V2、V3、V4了,感兴趣的同学可以查阅相关资料。Inception的结构如图所示,其中1*1卷积主要用来降维,用了Inception之后整个网络结构的宽度和深度都可扩大,能够带来2-3倍的性能提升。

                      

                                                                        Inception结构图

      对Inception的结构做以下说明: 

       1. 采用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合; 

       2. 之所以卷积核大小采用1、3和5,主要是为了方便对齐。设定卷积步长stride=1后,只要分别设定pad=0、1、2,那么卷积后便可以得到相同维度的特征,然后这些特征就可以直接拼接在一起了; 

       3 . 文章说很多地方都表明pooling挺有效,所以Inception里面也嵌入了;

       4 . 网络越到后面,特征越抽象,而且每个特征所涉及的感受野也更大了,因此随着层数的增加,3x3和5x5卷积的比例也要增加。

       5. 使用5x5的卷积核仍然会带来巨大的计算量。 为此,文章借鉴NIN2,采用1x1卷积核来进行降维。 例如:假定上一层的输出为100x100x128,经过具有256个5x5卷积核的卷积层处理之后(stride=1,pad=2),输出数据为100x100x256,其中,卷积层的参数为128x5x5x256。假如上一层输出先经过具有32个1x1卷积核的卷积层,再经过具有256个5x5卷积核的卷积层,那么最终的输出数据仍为为100x100x256,但卷积层参数量已经减少为128x1x1x32 + 32x5x5x256,大约减少了4倍。

       此外,该模型最后采用了average pooling来代替全连接层。但是,实际在最后还是加了一个全连接层,主要是为了方便以后大家finetune。

ResNet:

      ResNet:没有最深,只有更深(152层),听说目前层数已突破一千。该模型要学习的是残差函数:F(x)=H(x)-x残差块的结构如图所示:

                                     20160907100309_40

     实际中,考虑计算的成本,对残差块做了计算优化:将两个3x3的卷积层替换为1x1 + 3x3 + 1x1, 如下图所示:

                                                          20160907100309_801











0 0
原创粉丝点击