大家好,欢迎来到专栏《AutoML》,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在模型量化中的应用。

作者&编辑 | 言有三

上一期给大家介绍了AutoML技术在模型剪枝中的应用,而量化作为模型压缩的另外一个技术,是学术界和工业界的重点研究方向,今天给大家介绍AutoML在模型量化中的应用思路。

1 HAQ(混合精度量化学习)

HAQ(Hardware-Aware Automated Quantization with Mixed Precision)是一个自动化的混合精度量化框架,使用增强学习让每一层都学习到了适合该层的量化位宽。

不同的网络层有不同的冗余性,因此对于精度的要求也不同,当前已经有许多的芯片开始支持混合精度。通常来说,浅层特征提取需要更高的精度,卷积层比全连接层需要更高的精度。如果手动的去搜索每一层的位宽肯定是不现实的,因此需要采用自动搜索策略。

另一方面,一般大家使用FLOPS,模型大小等指标来评估模型压缩的好坏,然后不同的平台表现出来的差异可能很大,因此HAQ使用了新的指标,即芯片的延迟和功耗

搜索的学习过程是代理Agent接收到层配置和统计信息作为观察,然后输出动作行为即权值和激活的位宽。其中一些概念如下:

(1) 观测值-状态空间,一个10维变量,如下:

(2) 动作空间,使用了连续函数来决定位宽,离散的位宽如下:

(3) 反馈,利用硬件加速器来获取延迟和能量作为反馈信号,以指导Agent满足资源约束。

(4) 量化,直接使用线性量化方法,其中s是缩放因子,clamp是截断函数。

(5) c的选择是计算原始分布和量化后分布的KL散度,这也是很多框架中的做法。

(5) 奖励函数,在所有层被量化过后,再进行1个epoch的微调,并将重训练后的验证精度作为奖励信号。

(6) 代理,使用了深度确定性策略梯度(DDPG)方法。

上图是在延迟约束下,MobileNet-V1/V2模型在边缘端和云端设备上的实验结果,与固定的8bit量化方法相比,分别取得了1.4倍到1.95倍的加速。

上图分别是边缘端和云端设备上MobileNet-V1各个网络层的量化特点,可以发现在边缘端设备上depthwise卷积有更少的bits,pointwise有更多,在云端则是完全相反。这是因为云设备具有更大的内存带宽和更高的并行性,而depthwise就是内存受限的操作,pointwise则是计算受限的操作,MobileNet-V2上能观察到同样的特点。

另外还有能量约束和模型大小约束的结果,读者可以读原始论文获取细节。

与HAQ类似的研究还有AutoDB[2]等,感兴趣同学可以延伸阅读。

2 关于模型优化

如果说要我在深度学习这么多方向里选择一个的话,我会毫不犹豫地选择模型优化,这也是我一直在做的事情。公众号写过很多的模型解读了,如下是一些文章总结和直播链接以及资源下载。

【完结】总结12大CNN主流模型架构设计思想

【知识星球】超3万字的网络结构解读,学习必备

【总结】言有三&阿里天池深度学习模型设计直播汇总,附赠超过200页直播PPT课件

知识星球也有一个模型结构1000变板块,比公众号的内容更深更广。其中的模型优化部分主要包括紧凑模型的设计,剪枝,量化以及知识蒸馏等内容的详细解读,感兴趣可以移步,添加有三微信Longlongtogo略有优惠。

[1] Wang K, Liu Z, Lin Y, et al. HAQ: Hardware-Aware Automated Quantization with Mixed Precision[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 8612-8620.

[2] Lou Q, Liu L, Kim M, et al. AutoQB: AutoML for Network Quantization and Binarization on Mobile Devices[J]. arXiv preprint arXiv:1902.05690, 2019.

总结

这次我们介绍了AutoML在模型量化中的一个经典案例,至此已经基本介绍完AutoML在模型优化参数搜索中的各个方向,详细深入各个方向就留待感兴趣的读者自己加油了。

下期预告:AutoML与模型结构搜索开篇。

知识星球推荐

有三AI知识星球由言有三维护,内设AI知识汇总,AI书籍,网络结构,看图猜技术,数据集,项目开发,Github推荐,AI1000问八大学习板块,详细了解可以阅读。

【杂谈】为什么邀请大家加入硬核知识星球有三AI

转载文章请后台联系

侵权必究

往期文章

  • 【AutoML】如何选择最合适的数据增强操作

  • 【AutoML】激活函数如何进行自动学习和配置

  • 【AutoML】归一化(Normalization)方法如何进行自动学习和配置

  • 【AutoML】优化方法可以进行自动搜索学习吗?

  • 【AutoML】损失函数也可以进行自动搜索学习吗?

  • 【AutoML】如何使用强化学习进行模型剪枝?

  • 【知识星球】分组卷积最新进展,全自动学习的分组有哪些经典模型?

  • 【知识星球】卷积核和感受野可动态分配的分组卷积

  • 【知识星球】有三AI 10月新主题,千奇百怪GAN上线!

  • 【知识星球】剪枝量化初完结,蒸馏学习又上线

  • 【知识星球】有没有网络模型是动态变化的,每次用的时候都不一样?

【AutoML】强化学习如何用于模型量化?相关推荐

  1. 【AutoML】强化学习如何用于模型蒸馏?

    大家好,欢迎来到专栏<AutoML>,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在知识蒸馏中的应用. 作者&编辑 | 言有三 上一期给大家介绍了AutoM ...

  2. 【AutoML】强化学习如何用于自动模型设计(NAS)与优化?

    大家好,欢迎来到专栏<AutoML>,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述强化学习用于模型设计和优化的核心技术. 作者&编辑 | 言有三 一直以来, ...

  3. 「AutoML」强化学习如何用于自动模型设计(NAS)与优化?

    作者&编辑 | 言有三 一直以来,网络结构的设计是一个非常需要经验且具有挑战性的工作,研究人员从设计功能更加强大和更加高效的模型两个方向进行研究,随着各类经典网络设计思想的完善,如今要手工设计 ...

  4. 乔治亚理工提出基于GAN的强化学习算法用于推荐系统

    Generative Adversarial User Model for Reinforcement Learning Based Recommendation System Xinshi Chen ...

  5. 初探强化学习(7)基于模型的强化学习的应用综述

    本文是直接翻译一篇文章的,我先把原文地址放在这里. 原文名字为:Survey of Model-Based Reinforcement Learning: Applications on Roboti ...

  6. [论文]基于强化学习的无模型水下机器人深度控制

    基于强化学习的无模型水下机器人深度控制 摘要 介绍 问题公式 A.水下机器人的坐标框架 B.深度控制问题 马尔科夫模型 A.马尔科夫决策 B.恒定深度控制MDP C.弯曲深度控制MDP D.海底追踪的 ...

  7. 初探强化学习(6)到底TMD什么是model-based和model-free(基于模型的强化学习和基于模型的强化学习 TMD的到底是什么)

    0 如何定义无模型和有模型 Model-based和Model-free方法对比 Model-based: 一旦model学好后,就是采用On-Policy的算法: 一旦model学好后,就不需要与真 ...

  8. 基于模型的强化学习比无模型的强化学习更好?错!

    作者 | Carles Gelada and Jacob Buckman 编辑 | DeepRL 来源 | 深度强化学习实验室(ID:Deep-RL) [导读]许多研究人员认为,基于模型的强化学习(M ...

  9. ICML 2018 | 从强化学习到生成模型:40篇值得一读的论文

    https://blog.csdn.net/y80gDg1/article/details/81463731 感谢阅读腾讯AI Lab微信号第34篇文章.当地时间 7 月 10-15 日,第 35 届 ...

最新文章

  1. 二、Silverlight中使用MVVM(二)——提高
  2. cin、cout的重载
  3. JAVA CGI 远程代码执行_Apache Tomcat CVE-2019-0232 远程代码执行漏洞
  4. [翻译]QUIC 与 HTTP/3:太过庞大而致失败?-- 论导致 QUIC 失败的因素
  5. 绝非玩笑!人工智能或开创黑客新时代
  6. python不支持prelu_MTCNN(九)更改python与c代码的PReLU为ReLU
  7. 4,表查询语法,表连接,子查询
  8. bulk of the 用法_高考英语|10大词类用法考点详解
  9. 表妹即将去读研,我送了她11个建议
  10. CSS动态样式---基础-控制是否添加CSS类
  11. hustoj 服务器配置
  12. 高数_第6章无穷级数__幂级数_收敛点收敛域收敛半径
  13. mbr引导的启动盘制作方法
  14. 结合黏菌觅食行为的改进多元宇宙算法
  15. 【Linux(一)】最新VMware虚拟机下载与安装
  16. RN入门基础3:JSX动态布局之自定义属性state
  17. 亿图图示---信息图和数据库模型图
  18. 正则表达式在shell中使用的方法与案例
  19. 强大的可配置业务化后台管理系统
  20. 缓冲区溢出的基本原理

热门文章

  1. 【Maven】maven 插件开发实战
  2. 听说用 Lombok 可以早点下班?
  3. hibernate教程--一级缓存
  4. 【深入Java虚拟机JVM 03】Java内存模型
  5. linux合并vi的两个文件,两个文件的对比查看及合并工具:vimdiff-文件合并
  6. Java设计模式——工厂模式
  7. javascript的常见对象总结
  8. 教你从0到1搭建秒杀系统-防超卖
  9. abb限位开关已打开drv1_施工升降机上有10个限位器,你都知道了吗?
  10. java 搜索文件 pdf_Java查找并高亮PDF文本过程解析