[發明專利]一種用于分布式深度學習的壓縮梯度的方法在審
| 申請號: | 201811216896.1 | 申請日: | 2018-10-18 |
| 公開(公告)號: | CN109409505A | 公開(公告)日: | 2019-03-01 |
| 發明(設計)人: | 匡迪;吳維剛 | 申請(專利權)人: | 中山大學 |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/08 |
| 代理公司: | 北京慕達星云知識產權代理事務所(特殊普通合伙) 11465 | 代理人: | 李冉 |
| 地址: | 510000 *** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 壓縮 人工經驗 梯度矩陣 準確率 發送 學習 保證 | ||
1.一種用于分布式深度學習的壓縮梯度的方法,其特征在于,包括如下具體步驟:
步驟1:工作節點讀入本地的一批訓練數據到內存中;
步驟2:判斷是否是第一次迭代訓練,如果是第一次迭代訓練則初始化模型參數,同時初始化梯度殘差G執行步驟3;如果不是第一次迭代訓練則執行步驟3;
步驟3:工作節點利用讀入的樣本數據及對應的期望輸出,進行前向傳播;在前向傳播的過程中,深度神經網絡的每一層接受上層的輸入x,通過線性變換輸出y、非線性變換輸出z,作為下一層的輸入,最后一層的輸出作為深度神經網絡的輸出;
步驟4:工作節點根據前向傳播的最后一層的輸出與樣本數據的期望輸出的誤差得到損失值Loss;根據損失值Loss進行反向傳播,逐層計算參數梯度u;
步驟5:工作節點在每一層計算出梯度u之后,對計算出的梯度u進行壓縮梯度的處理;
其中,所述壓縮梯度的具體步驟如下:
步驟51:初始化層數l為1,并且判斷層數l是否小于或等于所述深度學習模型的層數L,若小于或等于則執行步驟52,若大于則讀取數據進行下一次迭代的訓練執行步驟1;
步驟52:對于工作節點訓練第l層神經網絡計算出的梯度u(l),將梯度平均分成m個區間;假設每個梯度區間中包含j個梯度,對每個區間的梯度計算平均值根據平均值h(i)計算出每個區間的梯度占這一層總梯度的概率值
步驟53:根據每個區間占這一層總梯度的概率值P(i),利用熵的計算公式計算出每一層的梯度的熵值
步驟54:每一層的梯度的熵的取值范圍是0≤Hl≤log|m|;利用計算出的熵值Hl以及熵的最大值log|m|,計算出這一層所要發送梯度的百分比
步驟55:利用所述百分比K,對這一層的梯度進行降序排序,對排序后的梯度選擇前百分之K的梯度發送給其他的工作節點;
步驟56:在選擇發送前百分之K的梯度后,將之前初始化的每個梯度的梯度殘差G進行更新;
步驟57:更新完每個梯度的梯度殘差G之后,將層數l加1,然后判斷層數l是否小于或等于L,若小于或等于則執行步驟52,若大于則讀取數據進行下一次迭代的訓練執行步驟1。
步驟58:判斷是否本地還存在沒有訓練的數據分片,如果存在則進行下一次迭代訓練執行步驟1,如果沒有則表示訓練完成。
2.根據權利要求1所述的一種用于分布式深度學習的壓縮梯度的方法,其特征在于,所述步驟56中更新梯度殘差分兩種情況:
(1)若梯度已經發送給其他工作節點,則該梯度的梯度殘差G=0;
(2)若梯度未發送給其他工作節點,則該梯度的梯度殘差G=G+u。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811216896.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據處理方法、裝置、計算機及存儲介質
- 下一篇:神經網絡數據結構





