0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习中低精度计算产生高准确度结果的解决方案

zhKF_jqr_AI 2018-03-29 16:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

有人认为,用低精度训练机器学习模型会限制训练的精度,事实真的如此吗?本文中,斯坦福大学的DAWN人工智能研究院介绍了一种名为bit recentering的技术,它可以用低精度的计算实现高准确度的解决方案。以下是论智对原文的编译,文末附原论文地址。

低精度计算在机器学习中已经吸引了大量关注。一些公司甚至已经开始研发能够原生支持并加速低精度操作的硬件了,比如微软的脑波计划(Project Brainwave)和谷歌的TPU。虽然使用低精度计算对系统来说有很多好处,但是低精度方法仍然主要用于推理,而非训练。此前,低精度训练算法面临着一个基本困境(fundamental tradeoff):当使用较少的位进行计算时,舍弃误差就会增加,这就限制了训练的准确度。根据传统观点,这种制约限制了研究人员在系统中部署低精度训练算法的能力,但是这种限制能否改变?是否有可能设计一种使用低精度却不会限制准确度的算法呢?

答案是肯定的。在某些情况下我们可以从低精度训练中获得高准确度的解决方案,在这里我们使用了一种新的随机梯度下降方法,称为高准确度低精度(HALP)法。HALP比之前的算法表现更好,因为它减少了两个限制低精度随机梯度下降准确度的噪声源:梯度方差和舍弃误差。

为了减少梯度方差带来的噪音,HALP使用常见的SVRG(stochastic variance-reduced gradient)技术。SVRG能定期使用完全梯度来减少随机梯度下降中使用的梯度样本的方差。

为了降低量化数字带来的噪声,HALP使用了名为“bit centering”的新技术,它背后的原理是,当我们接近最优点时,梯度渐变的幅度变小。也就是说携带的信息变少,于是我们能对其进行压缩。通过动态地重新调整低精度数字,我们可以在算法收敛时降低量化噪声。

将这两种技术结合,HALP能够以和全精度SVRG同样的线性收敛率生成任意准确地解决方案,同时在低精度迭代时使用的是固定位数。这个结果颠覆了有关低精度训练算法的传统观点。

为什么低精度的随机梯度下降有所限制?

首先先交代一下背景:我们想要解决以下这个训练问题:

这是用来训练许多机器学习模型(包括深度神经网络)的经典实证问题:让风险最小化。解决这个问题的标准方法之一是随机梯度下降,它是一种通过运行接近最佳值的迭代算法。

在每次迭代时,it是从{1,..., N}中随机挑选的一个指数,我们虽然想运行这样的算法,但是要保证迭代wt是低精度的。也就是说,我们希望它们使用较少位的定点运算(通常为8位或16位)。但是,当直接对随机梯度下降更新规则而进行这项操作时,我们遇到了问题:问题的解决方案w可能无法再选中的定点表示中显示出来。例如,如果一个8位的定点表示,可以储存{-128,-127,…,127}之间的整数,正确的解决方法是w*=100.5,那么我们与解决方案的距离不可能小于0.5,因为我们不能表示非整数。除此之外,将梯度转换为定点导致的舍弃误差可能会减慢收敛速度,这也影响了低精度SGD的准确性。

Bit Centering

当我们运行随机梯度下降时,在某种意义上,我们世纪正对一堆梯度样本进行平均(或总结)。Bit Centering背后的关键思想是随着梯度渐变逐渐变小,我们可以用同样的位数、以较小的误差对它们求平均值。想要知道为什么,想像一下,你想对[-100, 100]之间的数字求平均值,然后和[-1, 1]的平均值作比较。在前一个集合中,我们需要选择一个定点表示,它可以覆盖整个集合(例如{-128,-127,…,127})。而在第二个集合中,我们选择的定点要覆盖[-1, 1],例如{-128/127,-127/127,..., 126/127,127/127}。这就意味着在固定位数情况下,第二种情况中的相邻可表示数字之间的差值比第一种情况更小,因此舍弃误差也更低。

这个关键的想法让我们得到了启发。为了在[-1, 1]中求出比[-100, 100]中更少误差的平均数,我们需要用一个不同的定点表示,即我们应该不断更新低精度表示:随着梯度渐变得越小,我们应该用位数更小的定点数字,覆盖更小的范围。

但是我们该如何更新表示呢?我们要覆盖的范围到底多大?如果目标是带有参数μ的强凸,那么不管我们何时在某一点w采取完整的梯度渐变是,都可以用以下公式限制最佳位置

这种不等式为最终的解决方案提供了一系列可能的定位,所以无论何时计算完整梯度,我们都可以重新居中并缩放低精度表示以覆盖此范围。下图说明了这一过程。

低精度计算产生高准确度结果的解决方案

HALP

HALP是运行SVRG并在每个时期都使用具有完全梯度的bit centering更新低精度表示的算法。原论文有对这一方法的具体描述,在这里我们只简单做些介绍。首先,我们证明了,对于强凸的Lipschitz光滑函数,只要我们使用的位数b满足

其中κ是该问题的条件数字,那么为了适当设置尺寸和时间长度,HALP将以线性速度收敛到任意准确度的解。更显然的是,0<γ<1,

其中wk+1表示第K次迭代后的值。下表表现了这一变化过程

低精度计算产生高准确度结果的解决方案

图表通过对具有100个特征和1000个样本的合成数据集进行线性回归,来评估HALP。将它与全精度梯度下降、SVRG、低精度的梯度下降和低精度的SVRG进行比较。需要注意的是,尽管只有8位(受到浮点错误的限制),HALP仍能收敛到精度非常高的结果上。在这种情况下,HALP可以比全精度SVRG收敛到更高精度的结果中,因为HALP较少使用浮点运算,因此对浮点的非准确性不敏感。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136236

原文标题:斯坦福DAWN实验室实现用低精度计算产生高准确度结果

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电流不平衡测量精度受谐波影响吗?

    影响最终测量精度。以下是具体影响机制、实例及解决方案: 一、谐波影响测量精度的核心机制 电流不平衡的本质是 “三相电流的正负序分量比例”,而谐波(尤其是含负序、零序特性的谐波)会直接
    的头像 发表于 11-05 16:08 956次阅读

    电能质量在线监测装置的谐波测量准确度受哪些因素影响?

    电能质量在线监测装置的谐波测量准确度,是硬件性能、算法设计、外部环境、运维管理等多因素共同作用的结果,任何一个环节的偏差都可能导致测量误差。以下从 硬件核心组件、算法处理逻辑、外部干扰环境、运维管理
    的头像 发表于 10-15 16:55 422次阅读

    电磁干扰对电能质量在线监测装置的精度等级和准确度有哪些具体影响?

     电磁干扰(EMI)是影响电能质量在线监测装置 精度等级稳定性 和 测量准确度 的核心环境因素之一,其影响通过干扰装置内部硬件电路、信号传输链路及数据处理过程实现,最终直接反映在关键测量参数的偏差上
    的头像 发表于 09-18 10:29 755次阅读
    电磁干扰对电能质量在线监测装置的<b class='flag-5'>精度</b>等级和<b class='flag-5'>准确度</b>有哪些具体影响?

    温度对电能质量在线监测装置的精度等级和准确度有哪些具体影响?

     温度对电能质量在线监测装置的 精度等级 (出厂规定的误差范围)和 准确度 (实际测量值与真值的偏差)的影响,主要通过改变装置核心部件的参数特性实现,最终可能导致实际测量误差超出精度等级规定的范围
    的头像 发表于 09-18 10:27 511次阅读
    温度对电能质量在线监测装置的<b class='flag-5'>精度</b>等级和<b class='flag-5'>准确度</b>有哪些具体影响?

    电能质量在线监测装置的精度等级和准确度的关系是否受测量参数的影响?

    ,导致同一装置对不同参数的 “精度等级标称” 与 “实际准确度表现” 的匹配关系完全不同 —— 部分参数的准确度易符合其精度等级,部分参数则可能因测量难度
    的头像 发表于 09-12 10:02 485次阅读
    电能质量在线监测装置的<b class='flag-5'>精度</b>等级和<b class='flag-5'>准确度</b>的关系是否受测量参数的影响?

    环境因素对电能质量在线监测装置的精度等级和准确度的影响程度有多大?

    环境因素对电能质量在线监测装置的影响程度,核心体现为准确度偏离标称精度等级的 “量化幅度”—— 在标准规定的环境范围内(如 IEC 61000-4-30、GB/T 19862-2016),影响通常
    的头像 发表于 09-11 18:01 635次阅读
    环境因素对电能质量在线监测装置的<b class='flag-5'>精度</b>等级和<b class='flag-5'>准确度</b>的影响程度有多大?

    如何查询电能质量在线监测装置的精度等级和准确度的关系受哪些环境因素影响?

    要查询电能质量在线监测装置的精度等级和准确度的关系受哪些环境因素影响,可通过以下系统化方法实现: 一、查阅国际与国家标准中的环境要求 IEC 61000 系列标准 IEC 61000-4-30
    的头像 发表于 09-11 17:54 624次阅读
    如何查询电能质量在线监测装置的<b class='flag-5'>精度</b>等级和<b class='flag-5'>准确度</b>的关系受哪些环境因素影响?

    电能质量在线监测装置的精度等级和准确度的关系是否受环境因素影响?

    电能质量在线监测装置的精度等级和准确度的关系 会受环境因素显著影响 ,核心原因在于:环境因素虽不改变精度等级本身(固定的出厂标称),但会直接改变准确度(实际测量偏差),进而打破 “
    的头像 发表于 09-11 17:34 623次阅读
    电能质量在线监测装置的<b class='flag-5'>精度</b>等级和<b class='flag-5'>准确度</b>的关系是否受环境因素影响?

    电能质量在线监测装置的精度等级与准确度的关系

    要理解电能质量在线监测装置(以下简称 “监测装置”)的 精度等级 与 准确度 的关系,需先明确两者的核心定义,再从 “设计目标 - 实际表现”“条件性 - 验证性” 两个维度拆解其关联与差异,最终
    的头像 发表于 09-11 17:29 971次阅读
    电能质量在线监测装置的<b class='flag-5'>精度</b>等级与<b class='flag-5'>准确度</b>的关系

    关于CAPSENSE™每个 Vref 电压的准确度的疑问求解

    我认为CAPSENSE™在感应电容时使用 Vref 电压值。 根据组件数据表,Vref 电压值根据 VDDA 设置而变化。 PSoC™ 4 电容式感应 ( CAPSENSE™ ) 您能否告诉我们每个 Vref 电压(从 1.2V 到 2.743V)的准确度
    发表于 07-15 07:35

    电工仪表准确度等级详解

    一、准确度等级的定义 以下是“JJF1001-2011通用计量术语”对准确度准确度等级的相关定义: 1、测量准确度 measurement accuracy,sccuracy
    的头像 发表于 05-19 10:20 3953次阅读
    电工仪表<b class='flag-5'>准确度</b>等级详解

    直线测量仪的精度如何评估?

    进行测试,通过测量结果与标准值的对比,评估测量仪的精度。这种方法直接且有效,但需要高精度的标准件作为参考。 2.与其他高精度仪器对比:将直线
    发表于 04-21 16:26

    利用隔离式精密信号链保持数据采集的准确度

    数字时代改变了解决问题的范式,将智能引入边缘可以应对全新的复杂挑战。数据采集(DAQ)系统成为了边缘智能的核心。在数据采集领域,准确度和可靠性至关重要。为确保达到准确度和完整性,隔离式精密信号链的重要性不容忽视。
    的头像 发表于 03-17 14:43 1150次阅读

    直线测量仪如何测量钛合金钢管的全长直线

    注意测量环境、测量精度、操作规范以及数据处理等方面的问题,以确保测量结果准确性和可靠性。 网站名称:保定市蓝鹏测控科技有限公司 可根据客户需求提供解决方案,定制产品。 可以给我在线留
    发表于 03-10 14:52

    浅谈晶振的频率准确度和频率稳定

    在选购或者使用晶振时,我们经常会听到频率准确度和频率稳定这两个概念。虽然两者都与晶振的频率变化相关,但它们的关注重点不同。
    的头像 发表于 02-25 18:07 1752次阅读
    浅谈晶振的频率<b class='flag-5'>准确度</b>和频率稳定<b class='flag-5'>度</b>