0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機器學習中低精度計算產(chǎn)生高準確度結(jié)果的解決方案

zhKF_jqr_AI ? 2018-03-29 16:16 ? 次閱讀

有人認為,用低精度訓練機器學習模型會限制訓練的精度,事實真的如此嗎?本文中,斯坦福大學的DAWN人工智能研究院介紹了一種名為bit recentering的技術(shù),它可以用低精度的計算實現(xiàn)高準確度的解決方案。以下是論智對原文的編譯,文末附原論文地址。

低精度計算在機器學習中已經(jīng)吸引了大量關(guān)注。一些公司甚至已經(jīng)開始研發(fā)能夠原生支持并加速低精度操作的硬件了,比如微軟的腦波計劃(Project Brainwave)和谷歌的TPU。雖然使用低精度計算對系統(tǒng)來說有很多好處,但是低精度方法仍然主要用于推理,而非訓練。此前,低精度訓練算法面臨著一個基本困境(fundamental tradeoff):當使用較少的位進行計算時,舍棄誤差就會增加,這就限制了訓練的準確度。根據(jù)傳統(tǒng)觀點,這種制約限制了研究人員在系統(tǒng)中部署低精度訓練算法的能力,但是這種限制能否改變?是否有可能設(shè)計一種使用低精度卻不會限制準確度的算法呢?

答案是肯定的。在某些情況下我們可以從低精度訓練中獲得高準確度的解決方案,在這里我們使用了一種新的隨機梯度下降方法,稱為高準確度低精度(HALP)法。HALP比之前的算法表現(xiàn)更好,因為它減少了兩個限制低精度隨機梯度下降準確度的噪聲源:梯度方差和舍棄誤差。

為了減少梯度方差帶來的噪音,HALP使用常見的SVRG(stochastic variance-reduced gradient)技術(shù)。SVRG能定期使用完全梯度來減少隨機梯度下降中使用的梯度樣本的方差。

為了降低量化數(shù)字帶來的噪聲,HALP使用了名為“bit centering”的新技術(shù),它背后的原理是,當我們接近最優(yōu)點時,梯度漸變的幅度變小。也就是說攜帶的信息變少,于是我們能對其進行壓縮。通過動態(tài)地重新調(diào)整低精度數(shù)字,我們可以在算法收斂時降低量化噪聲。

將這兩種技術(shù)結(jié)合,HALP能夠以和全精度SVRG同樣的線性收斂率生成任意準確地解決方案,同時在低精度迭代時使用的是固定位數(shù)。這個結(jié)果顛覆了有關(guān)低精度訓練算法的傳統(tǒng)觀點。

為什么低精度的隨機梯度下降有所限制?

首先先交代一下背景:我們想要解決以下這個訓練問題:

這是用來訓練許多機器學習模型(包括深度神經(jīng)網(wǎng)絡)的經(jīng)典實證問題:讓風險最小化。解決這個問題的標準方法之一是隨機梯度下降,它是一種通過運行接近最佳值的迭代算法。

在每次迭代時,it是從{1,..., N}中隨機挑選的一個指數(shù),我們雖然想運行這樣的算法,但是要保證迭代wt是低精度的。也就是說,我們希望它們使用較少位的定點運算(通常為8位或16位)。但是,當直接對隨機梯度下降更新規(guī)則而進行這項操作時,我們遇到了問題:問題的解決方案w可能無法再選中的定點表示中顯示出來。例如,如果一個8位的定點表示,可以儲存{-128,-127,…,127}之間的整數(shù),正確的解決方法是w*=100.5,那么我們與解決方案的距離不可能小于0.5,因為我們不能表示非整數(shù)。除此之外,將梯度轉(zhuǎn)換為定點導致的舍棄誤差可能會減慢收斂速度,這也影響了低精度SGD的準確性。

Bit Centering

當我們運行隨機梯度下降時,在某種意義上,我們世紀正對一堆梯度樣本進行平均(或總結(jié))。Bit Centering背后的關(guān)鍵思想是隨著梯度漸變逐漸變小,我們可以用同樣的位數(shù)、以較小的誤差對它們求平均值。想要知道為什么,想像一下,你想對[-100, 100]之間的數(shù)字求平均值,然后和[-1, 1]的平均值作比較。在前一個集合中,我們需要選擇一個定點表示,它可以覆蓋整個集合(例如{-128,-127,…,127})。而在第二個集合中,我們選擇的定點要覆蓋[-1, 1],例如{-128/127,-127/127,..., 126/127,127/127}。這就意味著在固定位數(shù)情況下,第二種情況中的相鄰可表示數(shù)字之間的差值比第一種情況更小,因此舍棄誤差也更低。

這個關(guān)鍵的想法讓我們得到了啟發(fā)。為了在[-1, 1]中求出比[-100, 100]中更少誤差的平均數(shù),我們需要用一個不同的定點表示,即我們應該不斷更新低精度表示:隨著梯度漸變得越小,我們應該用位數(shù)更小的定點數(shù)字,覆蓋更小的范圍。

但是我們該如何更新表示呢?我們要覆蓋的范圍到底多大?如果目標是帶有參數(shù)μ的強凸,那么不管我們何時在某一點w采取完整的梯度漸變是,都可以用以下公式限制最佳位置

這種不等式為最終的解決方案提供了一系列可能的定位,所以無論何時計算完整梯度,我們都可以重新居中并縮放低精度表示以覆蓋此范圍。下圖說明了這一過程。

低精度計算產(chǎn)生高準確度結(jié)果的解決方案

HALP

HALP是運行SVRG并在每個時期都使用具有完全梯度的bit centering更新低精度表示的算法。原論文有對這一方法的具體描述,在這里我們只簡單做些介紹。首先,我們證明了,對于強凸的Lipschitz光滑函數(shù),只要我們使用的位數(shù)b滿足

其中κ是該問題的條件數(shù)字,那么為了適當設(shè)置尺寸和時間長度,HALP將以線性速度收斂到任意準確度的解。更顯然的是,0<γ<1,

其中wk+1表示第K次迭代后的值。下表表現(xiàn)了這一變化過程

低精度計算產(chǎn)生高準確度結(jié)果的解決方案

圖表通過對具有100個特征和1000個樣本的合成數(shù)據(jù)集進行線性回歸,來評估HALP。將它與全精度梯度下降、SVRG、低精度的梯度下降和低精度的SVRG進行比較。需要注意的是,盡管只有8位(受到浮點錯誤的限制),HALP仍能收斂到精度非常高的結(jié)果上。在這種情況下,HALP可以比全精度SVRG收斂到更高精度的結(jié)果中,因為HALP較少使用浮點運算,因此對浮點的非準確性不敏感。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8321

    瀏覽量

    132165

原文標題:斯坦福DAWN實驗室實現(xiàn)用低精度計算產(chǎn)生高準確度結(jié)果

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    TLV320AIC3104內(nèi)置ADC實現(xiàn)MIC數(shù)據(jù)采集的準確度,為什么Codec測得的數(shù)據(jù)比原始信號要大那么多?

    第一個問題:用3104內(nèi)置ADC 實現(xiàn)MIC數(shù)據(jù)采集的準確度: 實測結(jié)果是:采集的數(shù)據(jù)與實現(xiàn)信號大了約170mVrms; 測量辦法:用示波器測量MIC1RP引腳的信號,用來與轉(zhuǎn)換的數(shù)據(jù)對比
    發(fā)表于 10-14 08:22

    光電軸角編碼器 準確度等級5級是多少

    光電軸角編碼器的準確度等級是衡量其測量精度的一個重要指標。對于準確度等級為5級的光電軸角編碼器,其相關(guān)的計量特性通常包括分度誤差、測角重復性和零位誤差等。 一、分度誤差 分度誤差是編碼器每兩個相鄰
    的頭像 發(fā)表于 10-12 09:50 ?97次閱讀

    深度剖析在線長度測量儀:機器視覺引領(lǐng)高精度測量新時代

    系統(tǒng)具備強大的計算能力,可以對原始數(shù)據(jù)進行預處理、計算和分析,并將計算結(jié)果以圖形、表格或數(shù)值等形式輸出給用戶。 二、主要特點 高精度:在線長度測量儀通常采用高
    發(fā)表于 10-10 16:51

    噪聲測量儀器精度應達到幾級以上

    精度依次降低。 0型聲級計的準確度是±0.4分貝,是實驗室標準聲級計。 1型聲級計的準確度是±0.7分貝,一般在實驗室或聲學條件可以嚴格控制的現(xiàn)場使用。 2型聲級計的準確度是±1分貝,
    的頭像 發(fā)表于 10-09 15:09 ?134次閱讀

    影響電源紋波測試準確性的因素

    出相應的解決方案。 測試設(shè)備的選擇 測試設(shè)備的選擇是影響電源紋波測試準確性的首要因素。測試設(shè)備的性能、精度、穩(wěn)定性等都會對測試結(jié)果產(chǎn)生影響。
    的頭像 發(fā)表于 08-02 09:42 ?328次閱讀

    影響氣密性測試結(jié)果的原因分析及解決方案分享

    結(jié)果會受到很多因素的影響,本文就來為大家逐一分析這些影響因素,并提供解決方案,以確保測試結(jié)果準確性。1.溫度變化對測試結(jié)果的影響我們都知
    的頭像 發(fā)表于 05-30 08:30 ?1365次閱讀
    影響氣密性測試<b class='flag-5'>結(jié)果</b>的原因分析及<b class='flag-5'>解決方案</b>分享

    如何用ADUC845產(chǎn)生準確度的脈沖?

    希望用aduc845產(chǎn)生如下占空比的精準脈沖: 希望200us周期和20us高電平時間非常準確。 現(xiàn)在用Time0 在6MHz產(chǎn)生時,20us脈沖的浮動比較大,有2~3us的變化;200us的周期
    發(fā)表于 01-11 08:18

    濕度傳感器的哪些特性影響測量準確度?

    濕度傳感器的哪些特性影響測量準確度? 濕度傳感器測量準確度受到許多特性的影響。下面將詳細介紹影響濕度傳感器測量準確度的一些重要特性。 1. 溫度 濕度傳感器的測量準確度受環(huán)境溫度的影響
    的頭像 發(fā)表于 12-25 14:28 ?851次閱讀

    請問要達到0.05%的測量精度,需要多少位分辨率和準確度的ADC?

    請問要達到0.05%的測量精度,需要多少位分辨率和準確度的ADC。 能不能推薦幾款,最好是能有2路同時輸入的高精度ADC.
    發(fā)表于 12-18 06:54

    AD7785溫控方案準確度超標怎么解決?

    測試值誤差都滿足要求。 2.焊掉差模電容,實測1142.45歐,誤差很小 目前比較迷惑的是,恒流源的輸出電壓超標到底對測試結(jié)果有沒有影響?此電路C116為何對測試結(jié)果有如此大的影響?
    發(fā)表于 12-06 08:25

    ADAS3022怎樣能提高ADC的測量準確度呢?

    在調(diào)試ADAS3022這顆ADC時每次測量會有30+mV的波動,信號源電壓波動不到0.1mV,怎樣能提高ADC的測量準確度呢?下圖為不同次測量的值(信號源1.1V),感覺誤差挺大:
    發(fā)表于 12-04 07:39

    淺析機器學習的基本步驟

    機器學習中,機器學習的效率在很大程度上取決于它所提供的數(shù)據(jù)集,數(shù)據(jù)集的大小和豐富程度也決定了最終預測的結(jié)果質(zhì)量。目前在算力方面,量子
    發(fā)表于 10-30 11:13 ?351次閱讀
    淺析<b class='flag-5'>機器</b><b class='flag-5'>學習</b>的基本步驟

    TDK機器學習解決方案促進邊緣人工智能前景大幅擴展

    物聯(lián)網(wǎng)技術(shù)的進步為大量設(shè)備帶來了互聯(lián)網(wǎng)連接能力。此外,邊緣計算的發(fā)展如今還為邊緣設(shè)備提供機器學習*1,將人工智能的版圖從云端擴展到外圍。本文將深入介紹一款突破性軟件解決方案,該
    的頭像 發(fā)表于 10-27 12:18 ?330次閱讀
    TDK<b class='flag-5'>機器</b><b class='flag-5'>學習</b><b class='flag-5'>解決方案</b>促進邊緣人工智能前景大幅擴展

    意法半導體推出高精度中壓運放,提高工業(yè)和汽車傳感器信號調(diào)理準確度

    2023 年 10 月 24 日,中國 – 意法半導體的 TSB182雙運算放大器為傳感器帶來準確度信號調(diào)理功能,主要產(chǎn)品亮點包括最大 20μV 輸入失調(diào)電壓、100nV/°C 溫漂和4V-36V
    發(fā)表于 10-26 16:03 ?738次閱讀
    意法半導體推出高<b class='flag-5'>精度</b>中壓運放,提高工業(yè)和汽車傳感器信號調(diào)理<b class='flag-5'>準確度</b>