[發(fā)明專利]一種基于稀疏化后向傳播訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型壓縮方法在審
| 申請?zhí)枺?/td> | 201711012694.0 | 申請日: | 2017-10-26 |
| 公開(公告)號: | CN107832847A | 公開(公告)日: | 2018-03-23 |
| 發(fā)明(設(shè)計)人: | 孫栩;任宣丞;馬樹銘;位冰鎮(zhèn) | 申請(專利權(quán))人: | 北京大學(xué) |
| 主分類號: | G06N3/08 | 分類號: | G06N3/08 |
| 代理公司: | 北京萬象新悅知識產(chǎn)權(quán)代理事務(wù)所(普通合伙)11360 | 代理人: | 黃鳳茹 |
| 地址: | 100871*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 稀疏 傳播 訓(xùn)練 神經(jīng)網(wǎng)絡(luò) 模型 壓縮 方法 | ||
1.一種神經(jīng)網(wǎng)絡(luò)模型的稀疏化后向傳播壓縮方法,通過在后向傳播過程中采用基于k大值的稀疏化方法,消除不活躍的神經(jīng)元,壓縮模型大小,從而提高深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和推理速度;包括如下步驟:
1)在前向傳播的過程中,神經(jīng)網(wǎng)絡(luò)模型的每一層接受上層的輸入x,通過線性變換輸出y、通過非線性變換輸出z,作為下一層的輸入;最后一層的輸出為網(wǎng)絡(luò)輸出結(jié)果;
2)在后向傳播過程中,執(zhí)行如下步驟:
21)神經(jīng)網(wǎng)絡(luò)模型的每一層利用上一層的輸出梯度(1≤i≤n,n為向量維度)作為輸入計算梯度,對輸出梯度進(jìn)行k大值稀疏化處理,得到稀疏化處理后的向量;并記錄每一維度稀疏回傳的次數(shù),記為神經(jīng)元的活躍程度,用于在后續(xù)壓縮過程中確定神經(jīng)元的作用;即保留前向傳播輸出梯度的絕對值最大的k個值(k小于向量z的維度大小),剩余的值全部為0,并將這k個值對應(yīng)的索引記錄下來;
具體通過式1對輸出梯度的絕對值做稀疏化處理:
其中,σ′i是稀疏化處理后得到的向量;topk代表一個k大值稀疏化操作,即保留輸入向量的所有維度的絕對值中前k大的值,k的大小小于向量z的維度n,剩余的值設(shè)為0;
22)利用稀疏化處理后得到的向量σ′i進(jìn)行梯度計算,得到參數(shù)梯度;
利用式2計算參數(shù)矩陣W的梯度:
其中,表示參數(shù)矩陣W的梯度中行標(biāo)為i、列標(biāo)為j的值;表示輸入向量中下標(biāo)為j的值,σ′i表示輸出向量z經(jīng)過k大值稀疏化后的梯度中下標(biāo)為i的值;{t1,t2,…,tk}(1≤k≤n)代表的所有維度的絕對值中前k大的值的下標(biāo);xT表示對向量進(jìn)行轉(zhuǎn)置,由列向量變?yōu)樾邢蛄浚?/p>
利用式3計算輸入向量x的梯度:
其中,表示輸入向量x的梯度中下標(biāo)為i的值;表示參數(shù)矩陣中行標(biāo)為i、列標(biāo)為j的值;σj′表示輸出向量z經(jīng)過k大值稀疏化后的梯度中下標(biāo)為j的值;Σj表示以下標(biāo)j求和;WT表示對矩陣進(jìn)行轉(zhuǎn)置;
23)通過式4對前k大值下標(biāo)索引進(jìn)行累計,用于后續(xù)的壓縮過程:
Si+=1 if i∈{t1,t2,…,tk}else 0(式4)
其中,Si表示Si向量S中下標(biāo)為i的值;
當(dāng)神經(jīng)網(wǎng)絡(luò)有多層時,本層的輸入向量x即為下層的輸出向量;輸入向量x的梯度可作為下一層的輸出結(jié)果梯度傳遞下去;每一層均有一個k大值下表索引累積向量,用于之后的壓縮過程;
3)根據(jù)步驟2)中后向傳播求得的稀疏化梯度,對神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行更新,可用于所有采用標(biāo)準(zhǔn)后向傳播的訓(xùn)練算法,由此提高模型訓(xùn)練的可靠性;
4)模型壓縮過程:上述步驟1)~3)循環(huán)執(zhí)行多次后,根據(jù)步驟2)得到的k大值下標(biāo)索引和神經(jīng)元的活躍程度,刪除回傳次數(shù)少的神經(jīng)元,對模型進(jìn)行壓縮。
2.如權(quán)利要求1所述神經(jīng)網(wǎng)絡(luò)模型的稀疏化后向傳播壓縮方法,其特征是,步驟4)中,具體通過式5確定要刪除的神經(jīng)元回傳次數(shù)的上界θ:
θ=tp*prune_rate(式5)
其中,tp為在這一個壓縮統(tǒng)計周期中訓(xùn)練過的樣例數(shù)目,即循環(huán)次數(shù),是每個神經(jīng)元可能回傳的最大次數(shù);prune_rate為大于0小于1的參數(shù),用于控制邊界的浮動;
刪除回傳次數(shù)小于θ的神經(jīng)元對應(yīng)的參數(shù);對于回傳次數(shù)大于θ的神經(jīng)元,在該壓縮時刻,保留其參數(shù);
在壓縮完成后,該層對應(yīng)的k大值下表索引累積向量S被歸零,以便記錄下一個模型壓縮周期中神經(jīng)元的活躍程度。
3.如權(quán)利要求1所述神經(jīng)網(wǎng)絡(luò)模型的稀疏化后向傳播壓縮方法,其特征是,所述壓縮包括但不限于對本層的壓縮;在具有多層的神經(jīng)網(wǎng)絡(luò)模型中,當(dāng)壓縮較低一層時,其輸出的維度相應(yīng)減小,被壓縮的神經(jīng)元的輸出不再存在;此時較高一層的輸入維度也減小,該層對應(yīng)被刪除輸入維度的參數(shù)被刪除,較高一層的輸出維度不受影響。
4.如權(quán)利要求1所述神經(jīng)網(wǎng)絡(luò)模型的稀疏化后向傳播壓縮方法,其特征是,當(dāng)訓(xùn)練具有多層的神經(jīng)網(wǎng)絡(luò)模型時,在訓(xùn)練中每一層的大小是自適應(yīng)的;對于不同層,在后向傳播過程中,k大值累積情況不同,反映不同層神經(jīng)元的活躍特征。
該專利技術(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/201711012694.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





