A Quantization-Friendly Separable Convolution for MobileNets

论文:《A Quantization-Friendly Separable Convolution for MobileNets》

论文地址:https://arxiv.org/pdf/1803.08607.pdf

这篇是高通在 2018 年发表的一篇论文,主要是针对在量化方面效果很差的 MobileNetV1 网络进行研究,探索其量化掉点很严重的原因(从浮点模型的 70.5%到量化模型的 1.8%),发现根因主要是来自可分离卷积,尽管它使得 MobileNetV1 大大减少了参数量和存储量,但副作用就是导致量化效果很差,因此作者提出了3 种改进来解决这个问题,提升了 MobileNetV1 的量化效果:

  1. 去掉可分离卷积中的 BN 和 ReLU6 ;

  2. 在其它网络层中使用 ReLU 替代 ReLU6;

  3. 可分离卷积层中使用 L2 正则化

上述的操作最终是提升了量化效果,从只有 1.8% 提升到 68.03%,大大减少了量化掉点的问题。

联系方式:

Github:https://github.com/ccc013/AI_algorithm_notes

知乎专栏:机器学习与计算机视觉AI 论文笔记

微信公众号:AI 算法笔记


1. 简介

量化对于在手机、IoT 平台上运行深度学习的推理操作是非常关键的,主要是这些平台在功耗和存储使用方面有比较大的限制,而这些平台其实非常依赖如同数字信号处理器 (DSP)这样的定点计算硬件模块来实现比 GPU 更高效的表现。而在这样的平台上,常用的深度网络结构,比如 VGG,GoogleNet,ResNet 等都因为其参数量、计算量过大,很难部署在手机平台上,而一些轻量网络,则可以通过将标准卷积替换为深度可分离卷积的方法来取得准确率和效率之间的平衡,如下图 a 和 b 所示,比如谷歌提出的 MobileNetV1,大大降低了参数量和存储量,因此是常用的部署到手机上的网络结构。不过副作用就是使用的分离卷积层造成了巨大的量化损失,从而使得其量化效果非常差。

为了上述说的量化问题,作者使用 TensorFlow 框架来实现了 MobileNetV1 和 InceptionV3,并对比浮点模型和量化后顶点模型的准确率,如下图所示,可以看到 InceptionV3 的准确率在量化后并没有下降太多,反倒是 MobileNetV1 量化后的准确率大幅度下降,作者也给出对两个网络的评价,前者是只有标准卷积,而后者主要用了可分离卷积。

有几种方法是有可能解决这个量化掉点严重的问题:

  1. 最直接的方法就是使用更多bits 的量化,比如从 8bit 提升到 16bit 是可以提升准确率的,但是也会提升模型的参数量和计算量,这个受到目标平台的容量限制;

  2. 第二种方法就是可以重新训练一个专门用于定点推理的量化模型;

对于第二个方法,谷歌在论文《Quantization and Training of Neural Net works for Efficient Integer-Arithmetic-Only Inference》中提出了一个量化训练的框架,它可以在前向训练中模拟量化效果,而在反向传播中保持原来的浮点训练的操作。这个框架是通过了额外的训练能减少量化损失,不过对于多个不同的平台需要维护多个模型。

而在本文中,作者是对可分离卷积层使用了新的结构设计从而构建了一个轻量级的量化友好的网络。新的结构只需要单次浮点训

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spearhead_cai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值