论文阅读笔记(三)——An Enhanced Hybrid MobileNet

论文阅读笔记(三)——An Enhanced Hybrid MobileNet

前言

可能有hxd想问,为啥上一篇还是阅读笔记一,为啥这就是八了,因为其实前面已经看了七篇,但是还没有整理出来,但是这边打算先看着走了,然后后面慢慢更新了,hhhh,冲冲冲
在这里插入图片描述

1 论文简介

1.1 关于文章

论文名称:An Enhanced Hybrid MobileNet
翻译过来就是一种混合增强型的mobilenet

链接:原文链接
百度网盘:原文链接
提取码:bapm
Cite as: arXiv:1712.04698 [cs.CV]

1.2 关于模型

MobileNet后面也会更新相关的文章,有兴趣的同学可以看看,这里就不再过多介绍,关于混合增强型MoibileNet,发表与2017年12月

2 文章正文

2.1 摘要

复杂而深入的神经网络模型可以实现高精度的图像识别。然而,它们需要大量的计算量和模型参数,不适合移动和嵌入式设备。因此,提出了MobileNet,它可以大大减少参数数目和计算量。MobileNet的主要思想是使用深度可分离卷积。两个超参数,一个宽度乘数和一个分辨率乘数被用来在精度和延迟之间进行权衡。本文提出了一种改进MobileNet的新体系结构。我们不使用分辨率倍增resolution multiplier,而是使用深度倍增depth multiplier,并结合使用分数阶最大值池化Fractional Max Pooling或最大池化max Pooling。在CIFAR数据库上的实验结果表明,该结构在降低计算量的同时提高了计算精度

2.2 Motivation&Contributions

PS: 这一段主要是方便我们以后写Introduction与Related Work

2.2.1 Motivation

自从AlexNet获得了ImageNet的冠军以来,深度学习的总趋势是制造更复杂、更深的网络以获得更高的精准度。然而,复杂的网络需要耗费大量的资源,不适合移动和嵌入式设备。为了解决这些问题,参数较少的模型越来越受到重视。
PS:这段话我都快背下来了
MobileNet也是其中之一,它为移动和嵌入式设备提供了解决方案。
MobileNet没有使用标准卷积,而是使用了深度可分离卷积。深度可分卷积相比于普通卷积,计算量约占1/8,但是精度下降很小。为了权衡计算成本、模型参数大小和精度,MobileNet还提供了两个超参数。它们是 α α α,称为宽度乘数,和 ρ ρ ρ,称为分辨率乘数。两个超参数都控制在 ( 0 , 1 ] (0,1] (0,1]区间,一个用来控制通道数,一个用来控制输入图像的分辨率。

2.2.2 Contributions

文章提出了一种新的模型结构来解决这一问题。文章对于深度可分离卷积这个方法表示认可,但是认为两个超参数对精度有所影响,并对此进行了改进。文章不使用分辨率倍增resolution multiplier,而是使用深度倍增depth multiplier,并结合使用分数阶最大值池化Fractional Max Pooling或最大池化max Pooling。该结构在提高计算精度的同时降低了计算量。

2.2.3 相关工作 Related Work

文章主要介绍了MobileNet的相关方法,这里不再赘述,后面会详细提及的

2.3 文章方法

文章不同于MobileNet提出 α α α ρ ρ ρ超参数,提出了一个新的超参数 δ δ δ,称为深度乘数。文章的主要思想来自于一个输入通道经过深度卷积后可以产生多个特征。因此引入了一个超参数 δ δ δ,称为深度乘子,以改变每个输入通道对应的Feature Maps数量。参数 δ δ δ是一个整数,通常值为1、2、4。当 δ = 2 δ=2 δ=2时,意味着在深度卷积之后,每个输入通道获得两个Feature Maps,对于具有3个输入通道的图像,则Feature Maps的数目变为 3 δ 3δ 3δ δ = 1 δ=1 δ=1是MobileNet的基线,如果 δ > 1 δ>1 δ>1,则计算量和模型参数都要增加。

为了减少总体计算量和参数大小,我们需要使用与标准MobileNet相同的宽度乘数 α α α(总得来说就是将分辨率超参数替换为深度超参数)。适当调整 δ δ δ α α α的值,降低MobileNet总体计算量与参数大小。

文章还认为池化层能够保留更多的特征,所以,作者在架构师添加了几个核为3x3,步长为2的最大池化max Pooling来代替深度可分离卷积

由于分数阶最大值池化Fractional Max Pooling或可以保持比一般池化层更大的Feature Maps,因此文章也尝试了也尝试使用它。我们删除了深度方向可分离卷积中的所有步长,并将分数阶最大值池化Fractional Max Pooling添加到建议的体系结构中。

2.4 开销计算

D k × D k D_k\times D_k Dk×Dk为卷积核的大小, M M M为输入通道数, N N N为输出通道数。我们可以计算出改进深度卷积的参数为
D k × D k × ( α × M × δ ) D_k\times D_k\times (α\times M\times δ) Dk×Dk×(α×M×δ)
Pointwise卷积(逐点卷积)的参数个数为;
( α × M × δ ) α N (α\times M\times δ)αN (α×M×δ)αN
我们可以计算改进的深度可分卷积与原深度可分卷积的参数个数和计算量之比,即 α = 1 α=1 α=1 δ = 1 δ=1 δ=1
参数的比值由下式给出:
D k × D k × ( α × M × δ ) + ( α × M × δ ) α N D k × D k × M + M × N \frac{D_k\times D_k\times (α\times M\times δ)+(α\times M\times δ)αN}{D_k\times D_k\times M+M\times N} Dk×Dk×M+M×NDk×Dk×(α×M×δ)+(α×M×δ)αN

2.5 网络结构

标准的增强混合MobileNet的网络结构

使用最大池化层的网络结构

使用分数阶最大值池化Fractional Max Pooling的网络结构

2.6 实验

文章是用keras与tensorflow进行训练,使用了Adam的optimizer,全连接层中有10% dropout。实验数据集是CIFAR-10与CIFAR-100.CIFAR-10,CIFAR-100的训练集和测试集分别包含50000和10000图像。实验主要是进行了三组实验。A组是采用最基础的带有超参数 δ δ δ α α α的模型。B组是在此基础上添加了最大池化层,C组是添加了分数阶最大值池化Fractional Max Pooling的模型。

A组

文章使用了不同的 δ δ δ α α α来构建网络,然后当 δ = 4 δ=4 δ=4 α = 0.5 α=0.5 α=0.5时,CIFAR-10和CIFAR-100的精度分别提高了1.9%和4.4%。在该设置下,CIFAR-10和CIFAR-100的计算量分别只增加了2.1%和1.4%,而参数个数分别只减少了1.5%和0%

B组

本组结合了最大池化层,所提出的体系结构可以提高精度,同时降低计算成本和参数。例如,使用 δ = 2 δ=2 δ=2 α = 0.5 α=0.5 α=0.5的设置,CIFAR-10的精度将提高0.6%,同时,计算量减少47%,参数减少49%。对于CIFAR-100,使用相同的设置可将精确度提高1.9%,并将计算成本和参数降低48%和49%。

C组

该组MobileNet使用了分数阶最大值池化Fractional Max Pooling,与基线相比,使用分数最大池步长为1.4的拟议架构可以提高精度,但大大减少了参数。例如,设置 δ = 2 δ=2 δ=2 α = 0.25 α=0.25 α=0.25,我们可以将CIFAR-10和CIFAR-100的精确度分别提高5.4%和11.7%。同时,对于CIFAR-10和CIFAR-100,计算量和参数分别降低了18%和87%。

2.7 总结

文章提出了一种新的模型架构来改进MobileNet。文章引入了一个新的深度超参数 δ δ δ来增加与输入图像通道相对应的Feature Maps的数量。同时,我们使用宽度超参数 α α α来平衡精度和计算量。然后,我们演示了如何使用最大池化Max Pooling或分数阶最大值池化Fractional Max Pooling修改体系结构。与原MobileNet相比,改进后的结构不仅提高了计算精度,而且降低了计算量和参数。

3 收获

这篇文章比想象的要短很多,实验其实做的也不是很充分,改动其实并不多,只是在MobileNet基础上替换了一个超参数 δ δ δ,然后尝试加入了池化层。其实与其说是一篇论文,不如更像是一个小trick,不过在轻量化网络中加入最大池化Max Pooling或分数阶最大值池化Fractional Max Pooling,在降低参数量时,可以作为提高精度的一个方法,这点可以借鉴。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值