深度学习中的量化学习与量化训练
量化(quantized),即将神经网络前向过程中浮点数运算量化为整数运算,以达到计算加速的目的。通常是指将float32转化为int8进行运算,经实践部署dsp上能提升2.5~3倍左右的推理速度。我们知道对浮点数的量化操作是将其从一个高维度映射到低维度的转换过程。
参考文章见:
量化训练:Quantization Aware Training in Tensorflow(一)
量化训练:Quantization Aware Training (二)
大约就是下图这样,数据会集中到非常狭窄 (-127,127) 的范围
由公式可以看出量化中的精度损失不可避免的,当浮点数的分布均匀时,精度损失较小。但当浮点数分布不均匀时,按照最大最小值映射,则实际有效的int8动态范围就更小了,精度损失变大。也就是这种量化计算方式如果是遇到极端值的话,不可避免的会受导致量化后的数据范围整体在更狭小的范围;这个有点像路沿拟合时,尽量使用RANSAC算法来进行拟合,排除极端值点的影响。
这个问题自然也有大佬在进行优化:NVIDIA的PPT中提出通过寻找最优阈值进行非饱和截取的思路改善精度损失。
以前的同事给出了两张自己总结知识的截图,在此进行补充:
深度学习中的量化学习与量化训练相关推荐
- 『深度概念』度量学习中损失函数的学习与深入理解
『深度概念』度量学习中损失函数的学习与深入理解 0. 概念简介 度量学习(Metric Learning),也称距离度量学习(Distance Metric Learning,DML) 属于机器学习的 ...
- 深度学习中的表示学习_Representation Learning
一.深度学习网络的表达方式汇总及模型分类方法 人的大脑会对眼睛捕捉到的外界事物进行逐级抽象,逐渐提取出抽象的语义信息,以便为人脑所理解.深度学习从这一科学发现得到启发,通过网络的权值来捕捉外界输入模式 ...
- Nat. Mach. Intell. | 深度神经网络中的捷径学习
今天给大家介绍来自德国蒂宾根大学的Robert Geirhos和加拿大多伦多大学的Claudio Michaelis等人发表在Nature Machine Intelligence的文章"S ...
- 深度学习核心技术精讲100篇(八)-keras 实战系列之深度学习中的多任务学习(Multi-task learning)
多任务学习(Multi-task learning)简介 多任务学习(Multi-task learning)是迁移学习(Transfer Learning)的一种,而迁移学习指的是将从源领域的知识( ...
- 模型汇总-12 深度学习中的表示学习_Representation Learning
我们在前面的<模型汇总_9 深度学习网络的表达方式汇总及模型分类方法>这篇文章中,指出了深度学习中常用的三种表示数据的方式,即局部表达.稀疏表达和分布式表达.深度学习强大建模和知识抽取的能 ...
- 深度学习中的强化学习和对抗学习
在人工智能中,有两个十分重要的内容,第一就是机器学习,第二就是深度学习.正是由于机器学习与深度学习,人工智能才能够帮助我们做出更多的事情.其实,深度学习也是有分类的.深度学习可以分为两种,一种是强化学 ...
- 深度学习中的多任务学习(一)
任务学习-Multitask Learning概述 Reference https://blog.csdn.net/u010417185/article/details/83065506 1.单任务学 ...
- 蒙特卡洛树搜索算法实现_蒙特卡洛树搜索实现实时学习中的强化学习
蒙特卡洛树搜索算法实现 In the previous article, we covered the fundamental concepts of reinforcement learning a ...
- 深度学习中使用Screen 指令进行离线训练
问题说明 在深度学习的训练过程中,常需要远程连接服务器进行长达数小时甚至数日的训练,此时若出现网络波动或其他意外情况导致连接断开,往往会让本就不富裕的学习生活雪上加霜.... 故!需要一种方式提供离线 ...
- 深度学习中的算法学习与记忆,利用故事联想帮助大家记忆,每个人都会
大家好,我是微学AI,大家看过我的文章,想必是对深度学习有了一定的了解了,但是对于初学者来说,深度学习中有很多名词和数学知识.原理还是不太清楚,记忆的不牢固,用起来不熟练,今天就给大家讲一个故事,让大 ...
最新文章
- Android开发技术周报176学习记录
- oracle adf 使用,ORACLE ADF 问题总结
- android如何设置默认关闭虚拟按钮,android – Chrome自定义标签更改默认关闭按钮不起作用...
- python2 队列的使用_python双端队列原理、实现与使用方法分析
- 如何快速高效读懂1本书?|阅读
- mybatis数组和集合的长度判断及插入
- java.lang.OutOfMemoryError: Java heap space错误和方法(集、转)
- php+代码模板下载地址,简单而强大的PHP模板引擎
- JDBC.property 配置文件中链接数据库的配置
- 2.1 ListView 源码
- 【转】visio画UML用例图没有include关系的解决方法
- vs安装msdn安装文档
- Python字符串逆序输出
- “电脑开的热点手机连接不上”的问题寻解过程记录
- Red5 流媒体技术(初级了解)
- 做python的心得体会_实训python的心得体会
- 如何在小程序内实现界面快速置顶功能?
- iphone数据线连不上Mac
- 欧几里得距离、曼哈顿距离和切比雪夫距离
- 大学计算机课程ppt,以计算思维为导向的大学计算机基础课
热门文章
- 字符串向左旋转的解法(c语言)
- 2022-重温了一遍红宝书-总结JavaScript的知识点
- ARIS流程平台简介(二)
- 【课程更新】48V_BSG设计方案
- 手写文字识别软件哪个好?安利这三款
- power shell 批量修改文件名
- python 谷歌登录_使用Python登录Google帐户进入网站
- 手机键盘(DAY 73)
- 报错:SON parse error: Cannot deserialize value of type `java.lang.String` from Array value (token `Jso
- 钢结构工程专业承包资质标准