[發明專利]一種基于稀疏化后向傳播訓練的神經網絡模型壓縮方法在審
| 申請號: | 201711012694.0 | 申請日: | 2017-10-26 |
| 公開(公告)號: | CN107832847A | 公開(公告)日: | 2018-03-23 |
| 發明(設計)人: | 孫栩;任宣丞;馬樹銘;位冰鎮 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06N3/08 | 分類號: | G06N3/08 |
| 代理公司: | 北京萬象新悅知識產權代理事務所(普通合伙)11360 | 代理人: | 黃鳳茹 |
| 地址: | 100871*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 稀疏 傳播 訓練 神經網絡 模型 壓縮 方法 | ||
技術領域
本發明屬于信息技術領域,涉及機器學習和深度學習技術,尤其涉及一種基于k大值的稀疏化(Sparsify)神經網絡模型的壓縮算法。
背景技術
神經網絡模型的訓練過程分為兩個步驟:前向傳播(Forward Propagation)和后向傳播(Backward Propagation)。前向傳播計算神經網絡各層的輸出,后向傳播根據前向傳播輸出結果的梯度計算模型參數的梯度,最后神經網絡模型利用這些梯度對參數進行更新。然而在實際應用中,部署的模型只進行推理操作,即前向傳播操作。
現有的神經網絡模型訓練方法,模型的大小,或者說維度,是預先根據經驗值設定的。方法的弊端是模型往往過于龐大,一方面使得神經網絡的訓練和推理耗時長,計算量和耗電量大;另一方面,會引入大量與實例相關度低的信息,從而使訓練得到的神經網絡模型的準確度較低,產生過擬合(Overfitting)現象。針對上述方法存在的問題,陸續有一些模型壓縮算法提出,如針對前饋神經網絡的權值裁剪算法、針對循環神經網絡的權值漸進裁剪算法、針對卷積神經網絡的參數量化方法等;然而,由于對于深度神經網絡模型中的任意一層,上述算法都需要單獨指定超參數來控制該層最后的維度,因此,這些現有方法在實際應用中并不靈活,難于適用于深度神經網絡的訓練。
發明內容
為了克服上述現有技術的不足,本發明提供一種基于稀疏化后向傳播訓練的神經網絡模型壓縮方法,是一種基于k大值的稀疏化后向傳播的模型壓縮方法,通過消除與實例相關度低的參數來壓縮神經網絡的維度,以提高模型在實際推理中的速度,并保持良好的精度。
本發明提供的技術方案是:
一種神經網絡模型的稀疏化后向傳播壓縮方法,在后向傳播過程中采用基于k大值的稀疏化方法,通過消除不活躍的神經元,壓縮模型大小,提高深度神經網絡的訓練和推理速度,保持良好效果,包括如下步驟:基于稀疏化后向傳播訓練的神經網絡模型壓縮方法
1)前向傳播過程:
在前向傳播的過程中,神經網絡的每一層接受上層的輸入x,通過給定的線性變換輸出y和非線性變換輸出z,并作為下一層的輸入,最后一層的輸出為整個網絡的輸出結果。前向傳播的網絡可以是前饋神經網絡(MLP),循環神經網絡(RNN)或長短時記憶網絡(LSTM)等采用后向傳播(如圖3)進行梯度計算的神經網絡模型。
2)后向傳播過程:
神經網絡模型每一層的后向傳播需要利用上一層的輸出梯度(1≤i≤n,n為向量維度)作為輸入計算梯度,本發明在后向傳播過程中對輸出梯度進行k大值稀疏化(Sparsify)的處理,并記錄每一維度稀疏回傳的次數(前k大值的下標索引對應的向量S的累積),本發明稱之為神經元的活躍程度。即保留前向傳播輸出梯度的絕對值(absolute value,i.e.magnitude)最大的k個值(k的大小小于向量z的維度大小),剩余的梯度值全部為0,并將前k大值下標索引以向量的形式S記錄下來。例如則其中為上一層梯度,為2大值稀疏化處理后的梯度,S為前2大值下標索引對應的向量(前k大值下標對應的值為1,其余下標對應的值為0)。利用這個稀疏化處理后的向量進行梯度計算得到參數梯度,由于經過稀疏化處理,梯度計算時只需要計算與前k大值有關的部分,剩余值為0的部分不需要參與計算,可以降低后向傳播的計算量;并且記錄得到的神經元活躍程度S將有助于后續壓縮過程中確定哪些神經元是作用不大的。
具體地,本發明通過式1對輸出梯度的絕對值做稀疏化處理:
其中,σ′i是稀疏化處理后的向量;topk代表一個k大值稀疏化操作,即保留輸入向量的所有維度的絕對值中前k大的值(k的大小小于向量z的維度n),剩余的值全部為0,例如則利用這個稀疏化處理后的向量σ′i進行梯度計算得到參數梯度。
利用經式1進行稀疏化處理后的向量σ′i計算參數矩陣W的梯度,計算公式為式2:
其中,表示參數矩陣W的梯度中行標為i、列標為j的值,表示輸入向量中下標為j的值,σ′i表示輸出向量z經過k大值稀疏化后的梯度中下標為i的值,{t1,t2,…,tk}(1≤k≤n)代表的所有維度的絕對值中前k大的值的下標,xT表示對向量進行轉置,由列向量變為行向量。
利用經式1進行稀疏化處理后的向量σ′i計算輸入向量x的梯度,計算公式為式3:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711012694.0/2.html,轉載請聲明來源鉆瓜專利網。





