MobileNet轻量级网络
基于移动端(手机或者嵌入式平台)的深度卷积网络实现的研究是目前比较热的一个研究方向,也是很有意思的一件事;MobileNet网络是谷歌的研究团队有针对的开发的轻量级、小型化的深度网络;可以使用在IOS或Android平台;
苹果的机器学习框架集成了目前主流的大多深度学习的应用,其中就有MobileNet的实现
https://github.com//likedan/Awesome-CoreML-Models;在Android的实现由基于TensFlow架构的MobileNet实现;
本文的主要内容是对Paper:MobileNets Efficient Convolutional Neural Networks for Mobile Vision Applications的翻译,要想在移动端使用好这个工具,就要对其架构有一定的了解:文章的核心思想就是对标准卷积的运算进行了改进,分为两步运算
以下内容转自:http://blog.csdn.net/wfei101/article/details/78310226
论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
民间实现:caffe | Tensorflow
官方代码:tensorflow/models
有tensorflow的实现: https://github.com/tensorflow/models/blob/master/slim/nets/mobilenet_v1.md
caffe也有人实现: https://github.com/shicai/MobileNet-Caffe,
前言
这篇论文是Google针对手机等嵌入式设备提出的一种轻量级的深层神经网络,取名为MobileNets。个人感觉论文所做工作偏向于模型压缩方面,核心思想就是卷积核的巧妙分解,可以有效减少网络参数。可能由于刚发布,谷歌还没有放出官方代码(Tensorflow),谷歌官方已经开源了这部分代码(2017.6.15),具体参见文中地址。另外,在Github上搜索“MolileNets”,可发现一些个人实现的代码,部分会提供训练好的模型。博主跑过其中的caffe模型,发现inference速度并没有怎么提升,看网上讨论,应该是caffe框架的问题,要想大幅提升速度,应该只能依赖Tensorflow框架了。
摘要
引言和背景介绍
MobileNets模型结构
深度可分解卷积
接下来作者计算了这种分解可以多大程度上减少参数量。这里首先指出论文中存在的一处笔误,下图标注部分写错了,正确应为 DG×DG×N 。
现在将卷积核进行分解,那么按照上述计算公式,可得深度卷积的计算代价为 DK×DK×M×DF×DF ,点卷积的计算代价为 M×N×DF×DF 。
MobileNets使用了大量的3 × 3的卷积核,极大地减少了计算量(1/8到1/9之间),同时准确率下降的很少,相比其他的方法确有优势。
模型结构和训练
MobileNet将95%的计算时间用于有75%的参数的1×1卷积,作者采用tensorflow框架进行训练,因为过拟合不太容易,所以数据增强和规则化用的不多。
宽度乘数
其中, α 取值是0~1,应用宽度乘数可以进一步减少计算量,大约有 α2 的优化空间。
分辨率乘数
第二个超参数是分辨率乘数 ρ ,分辨率乘数用来改变输入数据层的分辨率,同样也能减少参数。在 α 和 ρ 共同作用下,MobileNets某一层的计算量为:
实验分析
模型选择
表4中,同样是MobileNets的架构,使用可分离卷积,精度值下降1%,而参数仅为1/7。
模型收缩超参数
表6中,α 超参数减小的时候,模型准确率随着模型的变瘦而下降。
表7中,ρ 超参数减小的时候,模型准确率随着模型的分辨率下降而下降。
表8中,在ImageNet数据集上,将MobileNets和VGG与GoogleNet做了对比。
目标检测
MobileNet轻量级网络相关推荐
- 轻量级网络——MobileNet系列学习(理论篇)
目录 一.MobileNetV1 1.1 Depthwise separable convolution(深度级可分离卷积) 参数对比 1.2 MobileNet网络结构 1.3 MobileNet网 ...
- 检测、分割用什么轻量级网络呢?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 由于深度学习的关系,计算机视觉领域发展迅速,各大榜单精度刷的很高, ...
- 14种轻量级网络综述 — 主干网络篇
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨VincentLee 来源丨晓飞的算法工程笔记 编辑丨极市平台 导读 早期的卷积神经很少考虑参数 ...
- MobileNetV1/V2/V3简述 | 轻量级网络
MobileNet系列很重要的轻量级网络家族,出自谷歌,MobileNetV1使用深度可分离卷积来构建轻量级网络,MobileNetV2提出创新的inverted residual with line ...
- 轻量级网络 - PVANet SuffleNet
一. PVANet 论文:PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection [点击下载] C ...
- 轻量级网络综述 — 主干网络篇
点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 轻量级网络的核心是在尽量保持精度的前提下,从体积和速度两方面对网络进行轻量化改造,本文对轻量级网络进 ...
- 轻量级网络--ShuffleNet论文解读
ShuffleNet ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices 原文地址: ...
- 『高性能模型』轻量级网络梳理
墙裂推荐:那些Network能work的本质究竟是啥? SqueezeNet 轻量化网络:SqueezeNet 2017年的文章,和后面的几篇文章一对比思路显得比较老套:大量的1*1的卷积和少量的3* ...
- 轻量级网络——ShuffleNetV1
文章目录 1.ShuffleNetV1的介绍 2.ShuffleNetV1的结构 1)Channel Shuffle操作 2)ShuffleNet基本单元 3.ShuffleNetV1的性能统计 4. ...
最新文章
- [学习]GridView 学习集合 -- GridView中使用超链接的技巧
- 机械键盘连击怎么处理_怎么选择机械键盘?各种平价机械键盘推荐
- isolate-user-vlan隔离用户vlan的配置
- android的listView组件
- Spring Boot spring mvc 拦截器
- 一起学nRF51xx 6 - uart
- 给你的站点全面提速——来自Yahoo UI的各种Bset Practices
- JavaWeb学习总结(二)——JSP中的九个内置对象
- 如何在 ASP.NET Core 中使用 URL Rewriting 中间件
- 【jQuery笔记Part1】03-jQuery加载模式对比JS
- 深度学习推荐模型-DeepCrossing
- WIN7安装VS2008的 Error1935 问题解决方案
- 探寻成功之路 企业共同关心
- 删除计算机用户时拒绝访问权限,c盘为什么拒绝访问 删除c盘文件需要管理员权限怎么办...
- ConcurrentHashMap源码深度解析(一)(java8)——不可不知的基本概念(助你拿下源码事半功倍)
- 基于openstack安装部署私有云详细图文教程
- n流水线m装配站调度问题
- 使用ESP8266与小爱同学通过Arduino控制舵机
- MAC下终端走代理的几种方法
- java 利用redis 记录文章的阅读量
热门文章
- ​​​​​​​简述STM32 CAN总线的设置
- AX200网卡优先级问题
- 2013年计算机控制A卷答案,计算机控制技术第二章习题标准答案整理及详解(2013.04.26修改版SK).doc...
- fp算法例题_FP Tree算法原理总结
- 两个下载 Google Books 图书的浏览器脚本和扩展
- springboot毕设项目大学生勤工俭学系统09i5r(java+VUE+Mybatis+Maven+Mysql)
- 【附源码】Java计算机毕业设计勤工俭学管理小程序(程序+LW+部署)
- 算法工程师是做什么的?超高薪资的背后,存在着什么样的原因?
- 开源飞控设备连接图介绍
- ble4.2扫描回复包详解(SCAN_RSP)