美文网首页计算机视觉笔记深度学习
『Benchmark Analysis of Represent

『Benchmark Analysis of Represent

作者: ktulu7 | 来源:发表于2018-11-11 10:50 被阅读0次

    一 为什么读这篇

    蛙神推荐的,对截止2018年10月出现的各种经典CNN网络的一个测评,算是比较新的一篇综述,通过阅读这篇,搞清楚CNN最新的发展脉络。

    二 截止阅读时这篇论文的引用次数

    0次。毕竟10月才出的。。

    三 相关背景介绍

    来自意大利和法国的学者,arXiv上的时间为2018年10月

    四 论文的主要贡献

    1 分析对比了40多种网络在普通平台和嵌入式平台上的识别准确率,模型复杂度,计算复杂度,内存使用,预测时间

    2 让研究者知道目前网络已发展到什么程度,有哪些方向值得继续探索

    3 让实践者知道如何在资源限制下选择最好的网络

    五 详细解读

    1 介绍

    其他文章都是分析网络层的组成和识别性能,对计算代价方面(内存使用,预测时间)及其对识别效果的影响的分析较少。Canziani等人在2016年年中的时候对嵌入式系统上的网络做过一些分析,不过比较的网络个数较少。Huang等人在2017年的cvpr上分析过一批SOTA的目标检测网络的速度与准确率之间的权衡。本文的目的是进行更全面的比较,同时也在两种平台上进行比较。

    几个重要发现

    1. 识别准确率并不随着运算的增加而增加
    2. 模型复杂度和准确率之前并不是线性关系
    3. 期望的吞吐量是可达准确率的上界???
    4. 不是所有的网络都有效的使用了它们的参数
    5. 几乎所有网络在高配GPU上实时性能都不错,但只有少数在嵌入式上表现过关
    6. 即使网络的模型复杂度很低也得占至少0.6GB的显存

    2 benchmark

    软件环境:PyTorch,cuDNN-v5.1,CUDA-v9.0

    硬件环境-工作站:Titan X,3840 CUDA cores

    硬件环境-嵌入式:Jetson TX1 board,Maxwell 256 CUDA cores

    3 网络架构

    AlexNet 2012-NIPS

    VGG家族:VGG-11, VGG-13, VGG-16, VGG-19,分别使用和不使用BN的版本 2014

    BN-Inception 2015-ICML

    GoogLeNet 2015-CVPR

    SqueezeNet-v1.0, SqueezeNet-v1.1 2016

    ResNet-18, ResNet-34, ResNet-50, ResNet-101, ResNet-152 2016-CVPR

    Inception-v3 2016-CVPR, Inception-v4, Inception-ResNet-v2 2016-ICLR

    DenseNet-121, DenseNet-169, DenseNet-201, growth rate=32 2017-CVPR

    DenseNet-161 growth rate=48 2017-CVPR

    ResNeXt-101(32x4d), ResNeXt-101(64x4d) 2017-CVPR

    Xception 2017-CVPR

    DualPathNet-68, DualPathNet-98, DualPathNet-131 2017-NIPS

    SE-ResNet-50, SENet-154, SE-ResNet-101, SE-ResNet-152, SE-ResNeXt-50(32x4d), SE-ResNeXt-101(32x4d) 2018-CVPR

    NASNet-A-Large, NASNet-A-Mobile 2018-CVPR

    MobileNet-v1 2017, MobileNet-v2 2018-CVPR

    ShuffleNet 2018

    4 性能指标

    NASNet-A-Large的图像大小为331x331

    InceptionResNet-v2,Inception-v3,Inception-v4,Xception的图像大小为229x229

    其余为224x224

    A 准确率

    ImageNet-1k验证集上的TOP1和TOP5准确率

    B 模型复杂度

    需要学习的总参数量

    C 内存使用

    为网络分配的内存和不同batch下处理需要的内存(batch1,2,4,8,16,32,64)

    D 计算复杂度

    floating-point operations(FLOPs)

    乘法和加法的浮点运算。乘法和加法被记为两次浮点运算,因为许多最近的模型卷积都没有bias。

    E 预测时间

    5 评测结果

    A 准确率 VS 计算复杂度 VS 模型复杂度

    准确率VS模型复杂度VS计算复杂度.png

    横轴表示计算复杂度,纵轴表示准确率,球的大小表示模型复杂度

    NASNet-A-Large有最高的准确率,同时计算复杂度也最高

    在低计算复杂度下,SE-ResNeXt-50(32x4d)有最高的准确率同时模型复杂度也不高(2.76M个参数)

    计算复杂度和准确率之间没直接关系(SENet-154 VS SE-ResNeXt-101(32x4d))。模型复杂度和准确率之间也没直接关系(VGG-13 VS ResNet-18)

    B 准确率 VS 学习能力

    准确率VS学习能力.png

    网络并未充分利用其所有的参数,所以有许多方法研究怎么压缩模型还能保持原模型的准确率。用TOP1准确率密度来衡量模型利用其参数的效率(TOP1准确率除其所有参数)

    这点很明显,专门针对移动端研发的网络参数利用率更高,比如SqueezeNets,ShuffleNet,MobileNets和NASNet-A-Mobile

    NASNet-A-Mobile和MobileNet-v2在准确率方面胜出

    除此之外,Inception-v4和SE-ResNeXt-101胜出

    C 预测时间

    预测时间.png

    绿色越重性能越好,红色越重性能越差

    D 准确率 VS 预测时间

    准确率VS预测时间.png

    E 内存使用

    内存使用.png

    当batch为1时,绝大部分模型需要的显存小于1GB

    绿色越重需要的内存越少

    从这个图可以看出,绝大多数网络batch不超过64显存也没占多少,为啥batch到128就不行了呢

    F 内存使用 VS 模型复杂度

    两者呈线性关系

    G 限制下的最佳网络

    有问题查这个表就行了

    内存使用:高(<=1.4GB)中(<=1GB)低(<=0.7G)

    计算时间:半实时(15FPS),实时(30FPS),超实时(60FPS)

    限制下的最佳网络.png

    6 结论

    把Introduction提到的几个重要发现复述了一遍

    六 读后感

    根据这篇文章的结论,感觉综合下来用SE-ResNeXt-50或101(32x4d)就行了。另外,对于网络的评估指标有了更进一步的认识。不是所有网络都充分利用了它们的参数,模型的准确率并不直接与其复杂度相关。

    七 补充

    关于复杂度分析可以看下这两篇

    以VGG为例,分析深度网络的计算量和参数量

    卷积神经网络的复杂度分析

    相关文章

      网友评论

        本文标题:『Benchmark Analysis of Represent

        本文链接:https://www.haomeiwen.com/subject/qkdxfqtx.html