[發(fā)明專利]一種用于分布式深度學(xué)習(xí)的壓縮梯度的方法在審
| 申請?zhí)枺?/td> | 201811216896.1 | 申請日: | 2018-10-18 |
| 公開(公告)號: | CN109409505A | 公開(公告)日: | 2019-03-01 |
| 發(fā)明(設(shè)計)人: | 匡迪;吳維剛 | 申請(專利權(quán))人: | 中山大學(xué) |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/08 |
| 代理公司: | 北京慕達星云知識產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 11465 | 代理人: | 李冉 |
| 地址: | 510000 *** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 壓縮 人工經(jīng)驗 梯度矩陣 準確率 發(fā)送 學(xué)習(xí) 保證 | ||
本發(fā)明公開了一種用于分布式深度學(xué)習(xí)的壓縮梯度的方法,利用每一層計算出的梯度矩陣的熵來判斷這一層梯度中所包含信息的多少,以此來判斷每一層梯度的重要性。之后,利用熵來計算出每一層需要發(fā)送多少百分比的梯度,這樣既可以減少人工經(jīng)驗的影響,又可以在保證不降低準確率的情況下有效的對梯度進行壓縮。
技術(shù)領(lǐng)域
本發(fā)明涉及分布式訓(xùn)練和深度學(xué)習(xí),更具體的說是涉及一種用于分布式深度學(xué)習(xí)的壓縮梯度的方法。
背景技術(shù)
隨著大數(shù)據(jù)和高效計算資源的出現(xiàn),深度學(xué)習(xí)在人工智能的很多領(lǐng)域都取得了重大突破。然而,面對越來越復(fù)雜的任務(wù),數(shù)據(jù)和深度學(xué)習(xí)模型的規(guī)模都變得日益龐大。為了提高深度學(xué)習(xí)模型的訓(xùn)練效率,減少訓(xùn)練時間,采用了分布式技術(shù)來執(zhí)行訓(xùn)練任務(wù)。通過增加訓(xùn)練節(jié)點的數(shù)量和利用數(shù)據(jù)并行的優(yōu)勢,可以極大減少在同等規(guī)模訓(xùn)練數(shù)據(jù)上的前向反向的總計算時間。然而,在反向計算出每一層的梯度之后,梯度交換的成本很高,工作節(jié)點之間需要頻繁地進行梯度通信,而且由于反向計算出的梯度大部分會趨近于0,而這樣的梯度對之后的訓(xùn)練是沒有幫助的。所以由并行訓(xùn)練帶來的計算時間上的節(jié)省,可能將不足以補償通信時間上代價的增長。因此,網(wǎng)絡(luò)帶寬成為分布式訓(xùn)練規(guī)模化的最大瓶頸。
對于這樣的瓶頸,目前主要有兩種解決方法,梯度量化和梯度稀疏化。
梯度量化主要是將梯度量化到低精度值以減少通信帶寬,主要的方法是1bit量化。
梯度稀疏化又叫做閾值量化,在現(xiàn)有的技術(shù)中,梯度稀疏化的方法主要依靠人工定義的恒定的閾值或固定的比例來確定需要發(fā)送的梯度。
因此,如何提供一種減少人工經(jīng)驗對于訓(xùn)練效果的影響,且不降低準確率的用于分布式深度學(xué)習(xí)的壓縮梯度的方法是本領(lǐng)域技術(shù)人員亟需解決的問題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種用于分布式深度學(xué)習(xí)的壓縮梯度的方法,利用每一層計算出的梯度矩陣的熵來判斷這一層梯度中所包含信息的多少,以此來判斷每一層梯度的重要性。之后,利用熵來計算出每一層需要發(fā)送多少百分比的梯度,這樣既可以減少人工經(jīng)驗的影響,又可以在保證不降低準確率的情況下有效的對梯度進行壓縮。
為了實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種用于分布式深度學(xué)習(xí)的壓縮梯度的方法,包括如下具體步驟:
步驟1:工作節(jié)點讀入本地的一批訓(xùn)練數(shù)據(jù)到內(nèi)存中;
步驟2:判斷是否是第一次迭代訓(xùn)練,如果是第一次迭代訓(xùn)練則初始化模型參數(shù),同時初始化梯度殘差G執(zhí)行步驟3;如果不是第一次迭代訓(xùn)練則執(zhí)行步驟3;
步驟3:工作節(jié)點利用讀入的樣本數(shù)據(jù)及對應(yīng)的期望輸出,進行前向傳播;在前向傳播的過程中,深度神經(jīng)網(wǎng)絡(luò)的每一層接受上層的輸入x,通過線性變換輸出y、非線性變換輸出z,作為下一層的輸入,最后一層的輸出作為深度神經(jīng)網(wǎng)絡(luò)的輸出;
步驟4:工作節(jié)點根據(jù)前向傳播的最后一層的輸出與樣本數(shù)據(jù)的期望輸出的誤差得到損失值Loss;根據(jù)損失值Loss進行反向傳播,逐層計算參數(shù)梯度u;
步驟5:工作節(jié)點在每一層計算出梯度u之后,對計算出的梯度u進行壓縮梯度的處理;
其中,所述壓縮梯度的具體步驟如下:
步驟51:初始化層數(shù)l為1,并且判斷層數(shù)l是否小于或等于所述深度學(xué)習(xí)模型的層數(shù)L,若小于或等于則執(zhí)行步驟52,若大于則讀取數(shù)據(jù)進行下一次迭代的訓(xùn)練執(zhí)行步驟1;
步驟52:對于工作節(jié)點訓(xùn)練第l層神經(jīng)網(wǎng)絡(luò)計算出的梯度u(l),將梯度平均分成m個區(qū)間;假設(shè)每個梯度區(qū)間中包含j個梯度,對每個區(qū)間的梯度計算平均值根據(jù)平均值h(i)計算出每個區(qū)間的梯度占這一層總梯度的概率值
步驟53:根據(jù)每個區(qū)間占這一層總梯度的概率值P(i),利用熵的計算公式計算出每一層的梯度的熵值
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中山大學(xué),未經(jīng)中山大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811216896.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 硬盤監(jiān)控方法和系統(tǒng)
- 基于經(jīng)驗特征與卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)流異常檢測系統(tǒng)
- 題目讀取方法、裝置、題目錄入裝置和計算機存儲介質(zhì)
- 一種監(jiān)控信息專家經(jīng)驗庫的生成方法及系統(tǒng)
- 一種保障自動駕駛安全的人工智能檢測方法、裝置、設(shè)備或存儲介質(zhì)
- 一種基于人工經(jīng)驗及聲音識別的機器設(shè)備故障診斷方法
- 基于人工智能的內(nèi)嵌PID模塊參數(shù)調(diào)節(jié)方法、系統(tǒng)及裝置
- 一種基于深度學(xué)習(xí)的煙支吸阻智能控制系統(tǒng)及其控制方法
- 一種結(jié)合人工規(guī)則與機器學(xué)習(xí)的電力負荷識別方法
- 融合人工經(jīng)驗和集成學(xué)習(xí)策略的機器學(xué)習(xí)方法及裝置





