云從科技研究院丨神經(jīng)網(wǎng)絡(luò)壓縮_Deep Compression_第1頁(yè)
云從科技研究院丨神經(jīng)網(wǎng)絡(luò)壓縮_Deep Compression_第2頁(yè)
云從科技研究院丨神經(jīng)網(wǎng)絡(luò)壓縮_Deep Compression_第3頁(yè)
云從科技研究院丨神經(jīng)網(wǎng)絡(luò)壓縮_Deep Compression_第4頁(yè)
云從科技研究院丨神經(jīng)網(wǎng)絡(luò)壓縮_Deep Compression_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、作者簡(jiǎn)介:帆哥,云從研究院深度學(xué)習(xí)研究團(tuán)隊(duì)成員。主攻網(wǎng)絡(luò)優(yōu)化與加速神經(jīng)網(wǎng)絡(luò)壓縮:DeepCompression本次介紹的方法為”深度壓縮”,文章來(lái)自2016ICLR最佳論文DeepCompression:CompressionDeepNeuralNetworksWithPruning,TrainedQuantizationAndHuffmanCoding作者給出了AlexNet的一個(gè)簡(jiǎn)易model: HYPERLINK https:/github.eom/songhan/Deep-Compression-AlexNet https:/github.eom/songhan/Deep-Compre

2、ssion-AlexNetIntroduction神經(jīng)網(wǎng)絡(luò)功能強(qiáng)大。但是,其巨大的存儲(chǔ)和計(jì)算代價(jià)也使得其實(shí)用性特別是在移動(dòng)設(shè)備上的應(yīng)用受到了很大限制。所以,本文的目標(biāo)就是:降低大型神經(jīng)網(wǎng)絡(luò)其存儲(chǔ)和計(jì)算消耗,使得其可以在移動(dòng)設(shè)備上得以運(yùn)行,即要實(shí)現(xiàn)“深度壓縮”。實(shí)現(xiàn)的過(guò)程主要有三步:通過(guò)移除不重要的連接來(lái)對(duì)網(wǎng)絡(luò)進(jìn)行剪枝;對(duì)權(quán)重進(jìn)行量化,使得許多連接共享同一權(quán)重,并且只需要存儲(chǔ)碼本(有效的權(quán)重)和索引;進(jìn)行霍夫曼編碼以利用有效權(quán)重的有偏分布;具體如下圖:sameiaccuracy:=i35x-49xreductionoriginal,networkiG:original)size(accuracy

3、(EncodeweightsNetworkPruning剪枝”詳細(xì)點(diǎn)說(shuō)也可以分為3步:進(jìn)行正常的網(wǎng)絡(luò)訓(xùn)練;刪除所有權(quán)重小于一定閾值的連接;對(duì)上面得到的稀疏連接網(wǎng)絡(luò)再訓(xùn)練;存儲(chǔ)稀疏結(jié)構(gòu)時(shí)采用的是稀疏壓縮行CSR或者稀疏壓縮列CSC,假設(shè)非0元素個(gè)數(shù)為a,行或者列數(shù)為n,那么我們需要存儲(chǔ)的數(shù)據(jù)量為2a+n+1。以CSR為例,我們存儲(chǔ)時(shí)采用的是3元組結(jié)構(gòu),即:行優(yōu)先存儲(chǔ)a個(gè)非零數(shù),記為A;a個(gè)非零數(shù)所在列的列號(hào);每一行第一個(gè)元素在A中的位置+非零數(shù)個(gè)數(shù)。為了進(jìn)一步壓縮,這里不存儲(chǔ)絕對(duì)位置的索引,而是存儲(chǔ)相對(duì)位置索引。如果相對(duì)索引超過(guò)了8,那么我們就人為補(bǔ)0。如下圖:IdxQ1123P4567Pg1Q

4、1112J131415Jdlffr1ra83value3.40.901.7SpanExceeds8=2A3FillerZeroTrainedQuantizationAndWeightSharing這一部分通過(guò)對(duì)權(quán)重進(jìn)行量化來(lái)進(jìn)一步壓縮網(wǎng)絡(luò)(量化可以降低表示數(shù)據(jù)所用的位數(shù))。通過(guò)下圖,我們來(lái)說(shuō)明如何對(duì)權(quán)重進(jìn)行量化,以及后續(xù)又如何對(duì)量化網(wǎng)絡(luò)進(jìn)行再訓(xùn)練。weights(32bitfloat)clusterindex(2bituint)centroidsfine-tunedcentroidscluster0:kgradient-0.03-0.01O.OJ0.02-O.&10.01-0.020.12-O

5、.&10.020.04Q.01-0.07-0.020.01-0.02groupby-0.030,120.02-0.07Q.03-0.02Q.G2-0.010.010.04-0.01-0.02-0.01Q.01首先,假設(shè)我們輸入神經(jīng)元有4個(gè),輸出神經(jīng)元也是4個(gè),那么我們的weight應(yīng)該是4x4,同樣梯度也是。然后,我們量化權(quán)重為4階,即上圖用4種不同顏色表示。這樣的話我們就只需要存儲(chǔ)4個(gè)碼字以及16個(gè)2bit的索引。最后,我們應(yīng)該如何再訓(xùn)練,即如何對(duì)量化值進(jìn)行更新。事實(shí)上,我們僅對(duì)碼字進(jìn)行更新。具體如上圖的下部分:計(jì)算相同索引處的梯度之和,然后乘以學(xué)習(xí)率,對(duì)相應(yīng)的碼字進(jìn)行更新。實(shí)際當(dāng)中,對(duì)于A

6、lexNet,作者對(duì)卷積層使用了8bit量化(即有256個(gè)碼字),對(duì)全連接層使用了5bit量化(即有32個(gè)碼字),但是卻不損失性能。關(guān)于如何確定碼字:作者對(duì)訓(xùn)練好網(wǎng)絡(luò)的每一層(即不同層之間權(quán)重不共享)的權(quán)重進(jìn)行K-means,聚類中心便是要求的碼字。有一點(diǎn)需要注意,K-means聚類時(shí)需要初始化聚類中心,不同的初始化方法對(duì)最后的聚類結(jié)果影響很大,從而也會(huì)影響網(wǎng)絡(luò)的預(yù)測(cè)精度。這里比較了Forgy(random),density-based,andlinearinitialization這三種初始化方法。下圖畫出了AlexNet中conv3層的權(quán)重分布,其中紅色線表示概率密度分布PDF,藍(lán)色線表示

7、CDF。顯然,剪枝后的網(wǎng)絡(luò)權(quán)重符合雙峰分布。圖的下方,顯示了3種不同初始化方法最后收斂到的聚類中心。8o6o42ioouo一4nq_4s-pQ/_4e-nEUJrDoo-0.10-0.050.00weightvalue0.05o.io有一點(diǎn)我們需要注意:大權(quán)重比小權(quán)重的作用要大。因此,從上圖來(lái)看雖然Forgy(random),density-based方法比較好的擬合了數(shù)據(jù)分布,但是它們忽略了那些絕對(duì)值較大的權(quán)重,而linearinitialization就不會(huì)有這個(gè)問(wèn)題。因此,文章采用線性初始化,實(shí)驗(yàn)也證明了其正確性。下圖是finetune前后的碼字分布:200001500010000500

8、00 xxxxxxxxxxxxxxxxxxxlinearquantizationnonlinearquantizationbyclustringandfinetuning-0.04-0.020.000.02weightvalue0.040.06HuffmanCodingHuffman編碼按照符號(hào)出現(xiàn)的概率來(lái)進(jìn)行變長(zhǎng)編碼。下面的權(quán)重以及索引分布來(lái)自于AlexNet的最后一個(gè)全連接層。由圖可以看出,其分布是非均勻的,因此我們可以利用Huffman編碼來(lái)對(duì)其進(jìn)行處理,最終可以使的網(wǎng)絡(luò)的存儲(chǔ)減少20%30%。10000075000200001650005000011000025000013579111

9、3151719212325272931WeightIndx(32Effective55000013579Sparse11131517192123P5272931MalrixLocationIndx(MaxDiffi空32)Distributionforweight(Left)andindex(Right).Thedistributionisbiased.ExperimentResults文章主要在LeNet、AlexNet和VGGNet上做的實(shí)驗(yàn),我這里只列出一部分NetworkTop-1ErrorTop-5ErrorParametersCompressRateLeNet-300-100RefLeNet-300-100CompressedL64%J.58%1070KB27KB40 xLeNet-5RefLeNet-5Compressed

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論