[發(fā)明專利]一種基于窗口梯度更新的神經(jīng)網(wǎng)絡訓練過程中間值存儲壓縮方法和裝置在審
| 申請?zhí)枺?/td> | 202010317078.1 | 申請日: | 2020-04-21 |
| 公開(公告)號: | CN111783976A | 公開(公告)日: | 2020-10-16 |
| 發(fā)明(設計)人: | 楊侃;袁之航;孫廣宇;汪小林;羅英偉 | 申請(專利權)人: | 北京大學;鵬城實驗室 |
| 主分類號: | G06N3/08 | 分類號: | G06N3/08;G06N3/04 |
| 代理公司: | 北京君尚知識產(chǎn)權代理有限公司 11200 | 代理人: | 邱曉鋒 |
| 地址: | 100871*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 窗口 梯度 更新 神經(jīng)網(wǎng)絡 訓練 過程 中間 存儲 壓縮 方法 裝置 | ||
本發(fā)明涉及一種基于窗口梯度更新的神經(jīng)網(wǎng)絡訓練過程中間值存儲壓縮方法和裝置。該方法在神經(jīng)網(wǎng)絡訓練的前向傳播過程中,選擇部分通道的輸入激活值保存在內存中;在神經(jīng)網(wǎng)絡訓練的反向傳播過程中,利用保存的部分通道的輸入激活值計算梯度,以更新神經(jīng)網(wǎng)絡的權重參數(shù)。通過窗口選擇所述部分通道,通過超參數(shù)網(wǎng)絡稠密度決定窗口大小,即窗口內包含的通道數(shù)占總通道數(shù)的比例。通過窗口選擇所述部分通道的步驟包括:確定窗口的起始位置;根據(jù)網(wǎng)絡稠密度確定窗口大小。本發(fā)明對神經(jīng)網(wǎng)絡訓練時需要保存的激活值進行存儲優(yōu)化,能夠大幅降低內存成本,提高訓練深度更深、規(guī)模更大的神經(jīng)網(wǎng)絡的能力,同時也可以在內存受限的設備上在線訓練網(wǎng)絡。
技術領域
本發(fā)明涉及卷積神經(jīng)網(wǎng)絡訓練過程中的中間值存儲壓縮方法和裝置,屬于人工智能和存儲領域。
背景技術
在過去幾年中,深度卷積神經(jīng)網(wǎng)絡處理各種視覺任務的性能得到了大幅度的提升。在大多數(shù)情況下,越先進的神經(jīng)網(wǎng)絡,其深度也會越深。例如在各種計算機視覺處理任務中表現(xiàn)出色的深度殘差神經(jīng)網(wǎng)絡。對深度殘差神經(jīng)網(wǎng)絡而言,關鍵的創(chuàng)新點是殘差塊。通過殘差塊,神經(jīng)網(wǎng)絡訓練過程中前面的信息可以直接傳遞到后面的部分,從而使得反向傳播過程中梯度不會因為網(wǎng)絡過深而消失。這一結構的出現(xiàn)使得我們可以訓練具有上百層結構的神經(jīng)網(wǎng)絡,深度大幅增加對網(wǎng)絡處理各種任務的精確度有顯著的提升。
反向傳播是現(xiàn)代神經(jīng)網(wǎng)絡訓練的基礎。由于反向傳播過程中計算梯度值需要網(wǎng)絡激活值,所以神經(jīng)網(wǎng)絡需要將網(wǎng)絡激活值存儲在內存中,以便于進行計算,內存成本與網(wǎng)絡中的單元數(shù)成正比。這意味著隨著網(wǎng)絡深度的增加和規(guī)模的擴大,存儲激活值需要更大的內存空間,這已經(jīng)成為了許多應用程序的瓶頸。以神經(jīng)網(wǎng)絡訓練時常用的圖形處理單元(GPU)為例,部分性能顯著的神經(jīng)網(wǎng)絡深度達到一千層以上,存儲要求經(jīng)常超出GPU顯存限制。訓練這些大型網(wǎng)絡可能需要跨多個GPU并行處理,實現(xiàn)復雜且成本昂貴。同時由于內存的限制,現(xiàn)代神經(jīng)網(wǎng)絡通常以mini-batch的方式進行訓練,這對于隨機梯度下降法而言效率很低。減少存儲激活值的內存成本能有效提高訓練深度更深、規(guī)模更大的神經(jīng)網(wǎng)絡的能力。
發(fā)明內容
本發(fā)明的目的是提出一種針對神經(jīng)網(wǎng)絡訓練時需要存儲的中間值的存儲壓縮方法和裝置,以降低訓練時的內存成本,同時可以在內存受限的設備上進行在線訓練。
本發(fā)明采用的技術方案如下:
一種基于窗口梯度更新的神經(jīng)網(wǎng)絡訓練過程中間值存儲壓縮方法,包括以下步驟:
在神經(jīng)網(wǎng)絡訓練的前向傳播過程中,選擇部分通道的輸入激活值保存在內存中;
在神經(jīng)網(wǎng)絡訓練的反向傳播過程中,利用保存的部分通道的輸入激活值計算梯度,以更新神經(jīng)網(wǎng)絡的權重參數(shù)。
進一步地,通過窗口選擇所述部分通道,通過超參數(shù)網(wǎng)絡稠密度決定窗口大小,即窗口內包含的通道數(shù)占總通道數(shù)的比例。
進一步地,通過窗口選擇所述部分通道的步驟包括:
確定窗口的起始位置;
根據(jù)網(wǎng)絡稠密度確定窗口大小。
進一步地,所述確定窗口的起始位置,是根據(jù)訓練時批數(shù)據(jù)的編號確定窗口的起始位置。
進一步地,窗口的起始位置等于批數(shù)據(jù)編號與總通道數(shù)取模后的結果。
進一步地,所述確定窗口的起始位置,是隨機確定一個位置作為窗口的起始位置,隨機數(shù)取值的范圍在0到總通道數(shù)之間。
進一步地,所述根據(jù)網(wǎng)絡稠密度確定窗口大小,包括:當窗口起始位置與窗口大小之和大于通道總數(shù)時,超出的部分從編號為0的通道開始,依次向后取值,直到窗口內實際通道數(shù)等于窗口大小為止。
一種基于窗口梯度更新的神經(jīng)網(wǎng)絡訓練過程中間值存儲壓縮裝置,其包括:
通道選擇模塊,用于通過窗口選擇部分通道;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學;鵬城實驗室,未經(jīng)北京大學;鵬城實驗室許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010317078.1/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





