移动和嵌入式设备视觉应用的高效卷积神经网络模型:MobileNets
论文地址:arxiv.org/abs/1704.04…

文章作者情况

摘要
本文针对移动和嵌入式视觉设备提出一类被称作MobileNets的高效模型。MobileNets是一个使用深度可分解卷积(depthwise separable convolutions)来构建轻量级深度神经网络的精简结构(streamlined architecture,流线型结构 or 精简结构,倾向于后者)。本文引入了两个 简单的全局超参来有效权衡延迟(latency)和准确度(accuracy)。这些超参允许模型构建者根据具体问题的限制为他们的应用选择规模合适的模型。在资源和准确度的权衡条件下进行广泛的实验,与ImageNet分类任务的其它主流模型相比较,本文的模型显示出很好的性能。然后 ,本文在一系列的应用和用例下验证了其有效性,包括:目标检测、细粒度分类、人脸属性提取和 大规模地理定位。

1.引言

自从AlexNet在ILSVRC2012利用深度卷积神经网络赢得ImageNet挑战赛以来,卷积神经网络(CNN)在计算机视觉领域被广泛使用。这方面的应用主流趋势是采用更深、更复杂的网络实现更高的精度。但是,考虑到模型大小和速度。精度的提升并不一定使网络更加高效。在很多实际的应用场景,如机器人、自动驾驶和 增强现实,这些识别任务需要在计算资源限制的平台实时地运行。
本文提出了一个高效的网络结构和一组两个超参,用以构建较小的、低延迟模型,从而能比较好的满足移动和 嵌入式视觉应用的设计要求。

MobileNet可用于各种识别 任务,并部署在智能设备上高效执行

2.背景介绍
在最近的文献中,关于建立小型高效的神经网络的研究日益增加。一般说来,这些方法可以归为两类,压缩预训练模型和直接训练小网络模型。本文提出了一类允许模型开发人员选择与其应用程序的资源限制(延迟,大小)相匹配的小型网络架构。MobileNets主要侧重于优化延迟,但也能够产生小型网络。很多关于小型网络的论文只关注大小,却不考虑速度问题。
记录:需要注意的是目前在应用于移动和嵌入式设备的深度学习 网络研究主要有两个方向:
1)直接设计较小且高效的网络,并训练。本文属于这方面,另外比较经典的如GoogleNet提出Inception思想,采用小卷积。Network in Network 改进传统CNN,使用1x1卷积,提出MLP CONV层Deep Fried Convents采用Adaptive Fast-food transform重新 参数化全连接层的向量矩阵。SqueezeNet设计目标主要是为了简化CNN的模型参数数量,主要采用了替换卷积核3x3为1x1,使用了deep compression技术对网络进行了压缩 。Flattened networks针对快速前馈执行设计的扁平神经网络。
2)对预训练模型进行压缩小、分解或者压缩。采用hashing trick进行压缩;采用huffman编码;用大网络来教小网络;训练低精度乘法器;采用二进制输入二进制权值等等。

3.MobileNet 架构
首先描述了使用深度可分解滤波(depth wise separable filters)建立的MobileNets核心层;然后介绍了MobileNet的网络结构,并且总结了两个模型收缩超参:宽度乘法器和分辨率乘法器(width multiplier和resolution multiplier)。
3.1.深度可分解卷积(Depthwise Separable Convolution)
MobileNet模型机遇深度可分解卷积,其可以将标准卷积分解成 一个深度卷积和一个1x1的点卷积。
3.2. 网络结构和训练
3.3.宽度乘法器(Width Multiplier)
3.4. 分辨率乘法器(Resolution Multiplier)

此部分待更新

4.实验
本节首先调查了深度卷积( depthwise convolution)的影响,以及通过减小网络宽度 而不是减少层数来选择压缩的 模型。然后基于两个超参:宽度乘法器和分辨率乘法器(width multiplier和resolution multiplier)进行网络收缩,并把其和现阶段主流的模型进行比较。研究结果表明MobileNet可以应用于许多不同的任务。
4.1模型选择

首先比较了深度可分解卷积的MobileNet和全卷积的模型,如表4所示 ,使用深度可分解 卷积和全卷积相比,在ImageNet的精确度只下降了1%,但是Mult-Adds和参数大大节省。
表5显示,在计算和参数数量相似时,更浅的模型比更小的模型精度低3%。

4.2.模型超参收缩

表6显示宽度乘法器(width multiplier)超参α减小时,模型准确率随模型的变小而下降。

表7 显示分辨率乘法器(resolution multiplier)超参ρ 减小时,模型准确率随模型的分辨率变小而降低。

88.png

表8中将MobileNet和GoogleNet、VGG16进行了比较。
表9比较了两个超参的变化
4.3.细粒度识别任务
本文在Stanford Dogs数据集上训练了MobileNet以应对细粒度识别任务。本文扩展了指定对比方法[19]并且收集了一个更大且包含更多噪声的数据集超过了指定方法[18]的规模。采用了网络噪声数据去预训练细粒度分类狗的 识别模型,然后在Stanford Dogs训练集上进行微调。结果如表10。MobileNet能够在极大的较少计算和尺寸的情况下获得接近于[18]的结果。
4.4.大规模地理定位
PlaNet的任务是用于确定在一张照片在哪个地理位置进行拍摄的分类问题。该方法将地球划分进一个个网格单元集合到目标类别,用数百万计的有地理位置标记的图片训练卷积 神经网络。PlaNet已经能够成功对各种各样的照片进行地理位置标记,并且处理相同任务性能超过了Im2GPS。
在相同的数据上采用MobileNet架构重新训练PlaNet,其结果如表11所示,MobileNet版本和PlaNet相比,规模小了 很多,性能只降低了很少,据此来说,其仍然超过了Im2GPS
4.5.人脸属性提取

MobileNet的另一个应用场景是压缩具有未知且复杂训练程序的大型系统。在人脸属性分类任务中,我们证明了MobileNet和distillation间的协同关系,一种针对深度网络的知识迁移技术。我们试图去简化一个具有7500万参数和16亿Mult-Adds大型人脸属性分类器。该分类器在一个类似于YFCC100M的多属性数据集上进行训练。
采用MobileNet架构去提取一个人脸属性分类器。distillation是通过训练分类器模型一个更大的模型输出,而不是采用人工标注,因而能够从大型(无限大潜在可能)未标注数据集训练。结合distillation的可扩展性和MobileNet的简洁参数化,终端系统不仅不要求正则化,而去反而表现出更好的性能。如表12。
4.6.目标检测
MobileNet也能够作为一个高效的基网络被部署到现代目标检测系统。基于最近2016 COCO挑战赛的获胜者的工作,我们应对目标检测任务在COCO数据集上训练了MobileNet,并进行了比较。表13列出了在Faster RCNN和SDD框架下,MobileNet、VGG以及Inception V2的比较。实验中,SSD以300的输入分辨率于分别是300和600输入分辨率的 Faster RCNN进行比较,在两个框架下,Mobile Net性能不低于其它两个网络结果,且计算复杂性和模型都相对更小。

记录:此处感觉采用VOT Challenge 的数据集能够更有效客观的进行目标检测的结果评测,不知道为什么采用了COCO。

4.7.Face Embeddings
FaceNet是目前state-of-art的人脸识别模型,它基于triplet loss建立face Embedding。为了建立移动FaceNet模型,我们采用distillation通过最小化FaceNet和MobileNet在训练数据上的平方差(squared differences )来训练。表15可以看到非常小的MobileNet模型结果。

5.总结
本文提出了一个基于深度可分解卷积(depthwise separable convolutions)的新模型架构MobileNets。分析了 决定高效模型的重要设计思路。然后,本文讲解了如何使用宽度乘法器(width multiplier)和分辨率乘法器(resolution multiplier),通过权衡较为可靠的精确度来减小尺寸大小和延迟时间,来构建更小更快的MobileNets。将不同的MobileNets和主流的模型进行比较,展现了 MobileNets在大小、速度和精确度这些特性都具有明显优势。最后,我们通过一系列任务的应用,验证了MobileNets的广泛适用性。下一步,本文的计划是在TensorFlow发布他们的模型。

记录:MobileNet应该是目前在设计小网络方向性能比较比较比较好的论文,论文中并看不出其具体的fps的数据,也是论文的缺憾,不过预计应该会有不错的性能。其也是深度学习网络应用到嵌入式和移动设备的一个比较好的参照。

MobileNets论文阅读笔记相关推荐

  1. 全卷积(FCN)论文阅读笔记:Fully Convolutional Networks for Semantic Segmentation

    论文阅读笔记:Fully Convolutional Networks forSemantic Segmentation 这是CVPR 2015拿到best paper候选的论文. 论文下载地址:Fu ...

  2. DnCNN论文阅读笔记【MATLAB】

    DnCNN论文阅读笔记 论文信息: 论文代码:https://github.com/cszn/DnCNN Abstract 提出网络:DnCNNs 关键技术: Residual learning an ...

  3. Learning Multiview 3D point Cloud Registration论文阅读笔记

    Learning multiview 3D point cloud registration Abstract 提出了一种全新的,端到端的,可学习的多视角三维点云配准算法. 多视角配准往往需要两个阶段 ...

  4. FCGF论文阅读笔记

    FCGF论文阅读笔记 0. Abstract 从三维点云或者扫描帧中提取出几何特征是许多任务例如配准,场景重建等的第一步.现有的领先的方法都是将low-level的特征作为输入,或者在有限的感受野上提 ...

  5. PointConv论文阅读笔记

    PointConv论文阅读笔记 Abstract 本文发表于CVPR. 其主要内容正如标题,是提出了一个对点云进行卷积的Module,称为PointConv.由于点云的无序性和不规则性,因此应用卷积比 ...

  6. DCP(Deep Closest Point)论文阅读笔记以及详析

    DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...

  7. 2019 sample-free(样本不平衡)目标检测论文阅读笔记

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者同意转载,请勿二次转载 (原文地址:https://zhuanlan.zhihu.com/p/100052168) 背景 < ...

  8. keras cnn注意力机制_2019 SSA-CNN(自注意力机制)目标检测算法论文阅读笔记

    背景 <SSA-CNN Semantic Self-Attention CNN for Pedestrian Detection>是2019 的工作,其作者来自于南洋理工.这篇文章主要是做 ...

  9. ResNet 论文阅读笔记

    ResNet 论文阅读笔记 #机器学习/深度学习 文章介绍 论文地址:https://arxiv.org/pdf/1512.03385.pdf 原文题目:Deep Residual Learning ...

最新文章

  1. Opencv 找轮廓并画出相应的矩形
  2. JS node 后端签名前端文件直传ali-oss解决方案
  3. 每天一个linux命令(55)--at命令
  4. updateStateByKey算子入门案例之wordCount
  5. codeforces Roud499Div2 B和C
  6. win10自带c语言编程猫,编程猫教程:编程猫如何做游戏?
  7. 华为人均工资高达70万,但先看看华为员工的16项标准
  8. 两种方法模仿支付宝进入到后台界面模糊
  9. ZOJ2965 Accurately Say CocaCola! java
  10. 大言不惭 swank? talk about sth or speak too confidently
  11. 谷歌智能眼镜再掀数码浪潮
  12. 笔记本电脑f11功能键_笔记本电脑按键功能详细图解_笔记本电脑键盘功能详细介绍是什么-win7之家...
  13. 运维派网站数据迁移过程踩到的坑和教训
  14. 这可能是全网最详细的计算机网络面经(笔记二)
  15. Hexo的Next主题增加畅言评论
  16. Tableau 安装失败
  17. WPF基础笔记(2)样式与模板
  18. 用Python (Anconda)下载欧洲中心 ECMWF 数据
  19. 全国计算机等级考试桑葚,营养师资格证考试饮食营养功效:桑葚干
  20. Windows Dll注入与API HOOK

热门文章

  1. 设计模式之间可以相互功能替换吗?
  2. 从MSSQL添加对Oracle的链接服务器的存储过程
  3. 基于JavaWeb实现ATM机系统
  4. spark-submit提交python脚本过程记录
  5. POCO:InvalidOperationError:Mapping and metadata information could not be found for Entity Type
  6. 一文读懂Asp.net core 依赖注入(Dependency injection)
  7. 红帽RHEL6.8离线环境下升级到RHEL7.3
  8. 「BZOJ 2342」「SHOI 2011」双倍回文「Manacher」
  9. 简练软考知识点整理-控制干系人参与
  10. IO流(六)之CharArrayReader类与CharArrayWriter类