IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications--Andrew -> 正文阅读

[人工智能]MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications--Andrew

MobileNet使用深度可分离卷积搭建而成,通过在分类、目标检测、人脸识别等任务上实验MobileNet都具有很好的表现,可以作为各种图像任务的Backbone。

并且作者设计两个参数控制MobileNet的宽度(通道数)和分辨率,从而可以根据任务改造MobileNet。

0、摘要

提出一种高效的模型称为MobileNet,用户移动和嵌入式设备。

主要使用深度可分离卷积来构建轻量级深度神经网络。

引入两个简单的超参数,可以有效权衡延迟和准确性(通过这两个参数使用者可以控制网络的宽度和深度来适应自己的新任务)

1、引入

设计轻量级模型有两个方向:压缩和直接训练小网络。压缩方法有量化、哈希、剪枝等;另一种训练小网络的方法是蒸馏;直接设计小网络的有Xception、SqueezeNet等

MobileNet主要集中在优化时延(参数量少≠时延低,当然会带来低参数量)

2、先前工作

3、MobileNet结构

3.1 Depthwise Separable Convolution(深度可分离卷积)

MobileNet的成功主要就是靠深度可分离卷积,整个MobileNet除了第一层是普通卷积,其余全是深度可分离卷积。

至于什么是深度可分离卷积以及好处在哪里?可以看:深度可分离卷积(DepthwiseSeparableConvolution):Depthwise卷积与Pointwise卷积,这里不再赘述

3.2 网络结构和训练

MobileNet是建立在深度可分离卷积上的(除了第一个是普通卷积)。
在这里插入图片描述
从表1可以看到,第一个卷积是普通的3x3卷积,然后就是深度可分离卷积的堆叠(3x3的Conv dw+1x1的Conv为一个深度可分离卷积)。从分辨率和通道数可以看到经深度可分离卷积运算后有三种结果:

激活函数:所有层后面都有BN层和ReLU激活函数(除了最后一个是softmax),下图是深度可分离卷积内部结构,也是每层跟了BN+ReLU
在这里插入图片描述

3.3 Width Multiplier: Thinner Models

为了具体场景具体优化MobileNet模型,作者设计通过一个系数α来控制网络的宽度,称之为Width Multiplier,作用是统一让网络中的每一层都更瘦

比如针对某一层网络和α,输入通道从M变成αM,输出通道从N变成αN,则该层计算代价变成了:
在这里插入图片描述
(不是很懂这里的计算代价是指什么,感觉也不是MAdds)
α的典型值是1、0.75、0.5和0.25,当α=1时就是标准MobileNet,总之计算量降低了约 α 2 α^2 α2,可以根据任务来调节α平衡时延、准确率和模型大小

3.4 Resolution Multiplier: Reduced Representation

通道可以减少,那么分辨率也可以减少,这个控制参数叫 ρ,如果修改某层的分辨率 D F D_F DF? ρ D F ρD_F ρDF?,则该层计算代价表示为:
在这里插入图片描述
ρ 2 ρ^2 ρ2的速率减少计算代价,通过改变ρ值输入的分辨率可取224、192、160或128。

下表展示了普通卷积、深度可分离卷积、DSC+α、DSC+α+ρ的计算量和参数量对比
在这里插入图片描述

4、实验

4.1 对比深度可分离卷积和普通卷积的效果

表4展示使用普通卷积和深度可分离卷积网络的效果对比
可以看到使用深度可分离卷积的MobileNet的MAdds和参数量都急剧降低了,但是精度只降低了1.1%
在这里插入图片描述

4.2 计算量恒定,是选择MobileNet更瘦还是更浅的网络?

表5展示了更窄和更浅网络的对比

  • 0.75 MobileNet是指α=0.75,通道数更少了
  • Shallow MobileNet是指将表1中5个重复的14x14x512的层去掉

可以看到MAdds和参数像相似,但是窄的比短的好,使MobileNet变薄比变浅要好(个人认为因为更深的网络会提取更抽象的特征,帮助更好的分类)
在这里插入图片描述

4.3 不同宽度的MobileNet效果对比

表6展示不同宽度的对比
可以看到当α=0.25时才有显著下降
在这里插入图片描述

4.4 不同分别率的MobileNet效果对比

表7展示不同分辨率的对比
可以看到准确率没有出现显著下降,始终平滑下降
在这里插入图片描述

4.5 精度和MAdds、参数量的关系

图4展示MAdds和精度的关系
作者通过宽度α∈{1,0.75,0.5,0.25}和分辨率{224,192,160,128}组成了16个模型,通过收集16个模型的MAdds和精度绘出了下图关系

在这里插入图片描述

同理,图5展示了精度和参数量的关系
在这里插入图片描述

4.6 与其他流行网络的对比

表8比较了MobileNet与GoogleNet和VGG16的效果(大网络)
可以看到精度可观,而且参数量和MAdds显著更低,实现了轻量模型且保持了精度
在这里插入图片描述
表9使用更小MobileNet(0.5宽度和160分辨率)和其他流行模型比较
在这里插入图片描述

4.7 细粒度识别

在在Stanford Dogs数据集上训练MobileNet
可以看到效果也是非常不错
在这里插入图片描述

4.x 更多实验

当然后面还有Large Scale Geolocalizaton、 Face Attributes、 Object Detection、Face Embeddings等实验,总之就是效果都很不错,所以可以作为众多图像任务的BackBone

5、总结

基于深度可分离卷积构建了轻量级的MobileNet,并且通过实验其在大幅度降低MAdds和参数量时,没有出现精度显著下降。

并且通过两个系数控制宽度和分辨率,可以根据任务改造MobileNet。

在实验部分展示了在分类、检测、人脸识别等各种图像任务上的效果,都很不错,可以作为各种任务的Backbone。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:12:01  更:2022-09-04 01:12:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:54:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码