国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于梯度的深度網(wǎng)絡(luò)剪枝算法

2020-06-07 07:06王忠鋒徐志遠宋純賀張宏宇蔡穎凱
計算機應(yīng)用 2020年5期
關(guān)鍵詞:剪枝權(quán)值梯度

王忠鋒 ,徐志遠 ,4*,宋純賀 ,張宏宇 ,蔡穎凱

(1.機器人學(xué)國家重點實驗室(中國科學(xué)院沈陽自動化研究所),沈陽110016;2.網(wǎng)絡(luò)化控制系統(tǒng)重點實驗室(中國科學(xué)院沈陽自動化研究所),沈陽110016;3.中國科學(xué)院機器人與智能制造創(chuàng)新研究院,沈陽110169; 4.中國科學(xué)院大學(xué),北京100049;5.國網(wǎng)遼寧省電力有限公司,沈陽110016)

(?通信作者電子郵箱2414065292@qq.com)

0 引言

近年來,深度神經(jīng)網(wǎng)絡(luò)已經(jīng)成為人工智能行業(yè)主流的計算模型[1-2]。在圖像識別、語音識別和自然語言處理等諸多領(lǐng)域表現(xiàn)出相當優(yōu)越的性能[3-4]。目前比較流行的高效網(wǎng)絡(luò)結(jié)構(gòu)有 Res-NET[5]、GoogLeNet[6]、VGG-Net[7]等。但是隨著網(wǎng)絡(luò)性能的提升,網(wǎng)絡(luò)層數(shù)也由最初的幾層、十幾層到現(xiàn)在的一百多層。在深度神經(jīng)網(wǎng)絡(luò)中有很多卷積層,卷積層的計算占據(jù)了整個網(wǎng)絡(luò)的絕大部分計算量,卷積層越多,計算量就越大。例如VGG-Net-16網(wǎng)絡(luò)結(jié)構(gòu)中卷積層有13層,卷積層占據(jù)了大約90%~95%的計算量;全連接(Full Connection,F(xiàn)C)層雖然占據(jù)了95%的參數(shù)量,但是計算量確只占5%~10%。隨著網(wǎng)絡(luò)層數(shù)的加深其計算量和存儲資源的占用也越來越大,需要使用高性能的GPU(Graphics Processing Unit)或者GPU集群實現(xiàn)神經(jīng)網(wǎng)絡(luò)的計算。嵌入式設(shè)備計算能力、存儲容量有限,這就限制了深度網(wǎng)絡(luò)在嵌入式設(shè)備中的應(yīng)用,所以有很多研究人員投入到深度神經(jīng)網(wǎng)絡(luò)的壓縮與加速工作中,目的是在保持網(wǎng)絡(luò)性能的同時,減少網(wǎng)絡(luò)的計算量和模型的存儲使其能夠部署在嵌入設(shè)備中。

關(guān)于深度神經(jīng)網(wǎng)絡(luò)的壓縮與加速目前有很多方法,如矩陣分解[8-10]、低精度權(quán)值[11-13]、知識蒸餾[14-15]和剪枝[16-17],其中,絕大部分的方法是基于權(quán)值矩陣本身來操作,即權(quán)值越小貢獻越小,通過盡可能地剔除數(shù)值小的權(quán)值來達到剔除冗余權(quán)值參數(shù)的目的。但是利用權(quán)值本身的大小為依據(jù)來判斷權(quán)值的重要性缺乏理論依據(jù),正如文獻[18]所描述,有的權(quán)值雖然小,但是它卻很重要。文獻[18]提到了一種基于梯度的剪枝算法,梯度是計算損失函數(shù)對權(quán)值的偏導(dǎo)數(shù),反映了損失對權(quán)值的敏感程度,這恰恰可以當作評判權(quán)值重要性的理論依據(jù),所以本文設(shè)計的GDP(Gradient-based Deep network Pruning)算法也是基于梯度的剪枝算法。

在以往的剪枝算法中,以權(quán)值大小為重要性依據(jù)的剪枝算法,很容易剪掉重要的權(quán)值。以人臉識別為例,在人臉的諸多特征中,眼睛的細微變化如顏色、大小、形狀,對于人臉識別的結(jié)果有很大影響。對應(yīng)到深度網(wǎng)絡(luò)中的權(quán)值,即使權(quán)值本身很小,但是它的細微變化對結(jié)果也將產(chǎn)生很大的影響,這類權(quán)值是不應(yīng)該被剪掉的。而GDP算法以梯度作為剪枝的依據(jù),就避免了這個問題,該算法剪掉的權(quán)值都是在一定程度上對分類結(jié)果影響不大的權(quán)值。

1 相關(guān)工作

在邊緣側(cè)設(shè)備中上部署人工智能算法是一個很有前景的工作[19-20],吸引了很多學(xué)者投入到深度學(xué)習(xí)的模型壓縮工作中。由于復(fù)雜深度學(xué)習(xí)模型的計算量很高,而一般邊緣側(cè)設(shè)備通常難以滿足復(fù)雜模型對于計算資源的需求,因此如何在保證計算精度的情況下對復(fù)雜深度學(xué)習(xí)模型的計算量進行壓縮,成為在邊緣側(cè)上部署人工智能算法的一個核心問題。

1.1 基于矩陣分解的深度神經(jīng)網(wǎng)絡(luò)壓縮與加速

基于矩陣分解的方法把卷積層中參數(shù)看作一個4D矩陣,將這個4D矩陣的計算分解成數(shù)個矩陣的乘積來近似計算原始的4D矩陣計算結(jié)果。分解后的矩陣擁有更小的計算量,可以有效加速深度網(wǎng)絡(luò)。

Wen等[21]提出了一種強制正則(force regularization)的方法,利用該方法可以在訓(xùn)練的過程中讓低秩空間中濾波器(filters)變得更加緊密,在低秩表達時更加近似原始矩陣的輸出;Yu等[22]提出一種新的低秩空間的近似方法,在重構(gòu)誤差的過程中將參數(shù)矩陣設(shè)置為稀疏矩陣與低秩矩陣的和,可以更加接近原始網(wǎng)絡(luò)的輸出。但是基于矩陣分解的方法只能逐層分解,分解后的網(wǎng)絡(luò)結(jié)構(gòu)丟失原始網(wǎng)絡(luò)的全局信息。

1.2 基于參數(shù)量化的深度神經(jīng)網(wǎng)絡(luò)壓縮與加速

參數(shù)量化就是減少表示每個權(quán)值所需的比特數(shù)來壓縮原始網(wǎng)絡(luò),文獻[23]提出了一種二值網(wǎng)絡(luò),利用sign函數(shù)將網(wǎng)絡(luò)中權(quán)值轉(zhuǎn)成只有+1和-1兩類,可以極大地減少參數(shù)存儲空間。文獻[24]在此基礎(chǔ)上,不僅二值化了權(quán)值矩陣,還將層與層之間輸入也進行了二值化處理,在CIFAR-10數(shù)據(jù)集上有著10.17%的錯誤率。參數(shù)量化的方法使得神經(jīng)網(wǎng)絡(luò)普遍訓(xùn)練時間較長,因為在反向傳播的過程中仍然要使用原始參數(shù),而且在較大數(shù)據(jù)集上如ImageNet表現(xiàn)并不好。文獻[25]提出了三值化權(quán)重網(wǎng)絡(luò),與二值網(wǎng)絡(luò)類似只是將權(quán)值量化為三類:+1、-1、0。

1.3 基于知識蒸餾的深度神經(jīng)網(wǎng)絡(luò)壓縮與加速

知識蒸餾的基本思想是將訓(xùn)練好的復(fù)雜網(wǎng)絡(luò)模型學(xué)到的知識蒸餾到另一個簡單的小型神經(jīng)網(wǎng)絡(luò)。

Hinton等[26]首次提出知識蒸餾的方法,將教師網(wǎng)絡(luò)(復(fù)雜、推理性能優(yōu)越)的輸出進行含有溫度參數(shù)T的Softmax軟變換生成軟目標引入到學(xué)生網(wǎng)絡(luò)(精簡、低復(fù)雜度)的損失函數(shù)中指導(dǎo)訓(xùn)練,實現(xiàn)知識蒸餾和遷移;Romero等[27]提出了基于知識蒸餾的FitNet,通過把學(xué)生網(wǎng)絡(luò)的權(quán)值對教師網(wǎng)絡(luò)的權(quán)值進行模擬,把一個寬且深的網(wǎng)絡(luò)蒸餾成一個窄且更深的網(wǎng)絡(luò),更深的網(wǎng)絡(luò)能表現(xiàn)出更優(yōu)越的網(wǎng)絡(luò)性能;文獻[28]描述了一種用于“蒸餾”蒙特卡羅近似值到后驗預(yù)測的方法,訓(xùn)練一個學(xué)生網(wǎng)絡(luò)近似教師網(wǎng)絡(luò)的蒙特卡洛后驗概率分布,該方法最大特點是教師網(wǎng)絡(luò)可以實時指導(dǎo)學(xué)生訓(xùn)練,但是蒸餾的方法是基于Softmax損失函數(shù)的,對于沒有Softmax的網(wǎng)絡(luò)結(jié)構(gòu),蒸餾方法就不再適用。

1.4 基于剪枝的深度神經(jīng)網(wǎng)絡(luò)壓縮與加速

參數(shù)剪枝就是對訓(xùn)練好的網(wǎng)絡(luò)進行冗余參數(shù)的剔除,進而提高模型的計算速度和減少模型的存儲空間。不僅如此,通過剪枝操作,還能防止網(wǎng)絡(luò)模型過擬合,進而提升網(wǎng)絡(luò)性能。

Han等[29]提出了一種剪枝網(wǎng)絡(luò)的方法,在訓(xùn)練深度網(wǎng)絡(luò)的過程中,通過加入懲罰因子學(xué)習(xí)每個權(quán)值的重要性,在剔除不重要的權(quán)值后再對網(wǎng)絡(luò)進行微調(diào),實驗結(jié)果表明,AlexNet網(wǎng)絡(luò)可以壓縮近10倍;Sun等[30]利用權(quán)值之間相關(guān)性進行剪枝,計算當前層的一個神經(jīng)元與前一層的所有神經(jīng)元的相關(guān)性,把相關(guān)性低的權(quán)值剔除,實驗結(jié)果表明,該方法與隨機剪枝結(jié)果相近;Han等[31]在剪枝的基礎(chǔ)上又對網(wǎng)絡(luò)參數(shù)進行聚類量化和哈夫曼編碼,極大地壓縮了網(wǎng)絡(luò)模型。

本文的GDP算法是一種剪枝算法,不同以往的剪枝策略,該算法是以梯度作為評判權(quán)值重要性的依據(jù),并利用本文設(shè)計的一種自適應(yīng)閾值的策略,找到合適的閾值T,剔除小于閾值T的梯度值所對應(yīng)的權(quán)值來進行深度網(wǎng)絡(luò)的壓縮與加速。

2 深度網(wǎng)絡(luò)中權(quán)值與梯度的參數(shù)分析

以手寫數(shù)字數(shù)據(jù)集為例對深度網(wǎng)絡(luò)模型的權(quán)值與梯度分布進行分析。手寫數(shù)字數(shù)據(jù)集是神經(jīng)網(wǎng)絡(luò)中的經(jīng)典數(shù)據(jù)集,共包含10種類別:0~9的10個數(shù)字種類。每一張圖片都包含兩部分信息:第一部分是數(shù)字圖片的像素信息,圖片大小為28×28;另一部分是圖片的標簽,即圖片表示的數(shù)字是0~9中的哪一個。數(shù)據(jù)集總共包含60000張訓(xùn)練樣本和10000張測試樣本。

2.1 AlexNet權(quán)值與梯度參數(shù)分析

AlexNet[32]網(wǎng) 絡(luò) 共 有 5 層 卷 積 層 conv1、conv2、conv3、conv4、conv5,三層全連接層FC6、FC7、FC8。在經(jīng)過訓(xùn)練了10 000次后在集合上的正確率達到了99.05%。網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。

表1 AlexNet結(jié)構(gòu)Tab.1 Structure of AlexNet

全連接層占據(jù)著絕大部分參數(shù),卷積層只占全部參數(shù)的7%。在進行剪枝之前首先對每一層的梯度進行分析如圖1~4所示(因為第一層卷積層和最后一層全連接層參數(shù)少且其參數(shù)會直接影響網(wǎng)絡(luò)模型的判斷結(jié)果,故conv1和FC8不列入本文分析及剪枝的部分)。

圖1 ALexNet卷積層權(quán)值分布直方圖Fig.1 Weight distribution histogram of AlexNet convolutional layers

圖2 AlexNet卷積層梯度分布直方圖Fig.2 Gradient distribution histogram of AlexNet convolutional layers

圖1~4展示出了網(wǎng)絡(luò)模型中權(quán)值與梯度的兩個特點:第一,梯度的值比其對應(yīng)的權(quán)值要小很多;第二,每個網(wǎng)絡(luò)的層的大部分梯度值都在0附近并且對于全連接層這個特點比卷積層更加突出;恰恰是這第二個特點證明了基于梯度的剪枝算法是完全可行的。

圖3 AlexNet全連接層權(quán)值分布直方圖Fig.3 Weight distribution histogram of AlexNet full connection layers

圖4 AlexNet全連接層梯度分布直方圖Fig.4 Gradient distribution histogram of AlexNet full connection layers

2.2 VGG-Net權(quán)值與梯度參數(shù)分析

MINIST數(shù)據(jù)集對于VGG-Net,數(shù)據(jù)量太小且數(shù)據(jù)過于簡單,因此VGG-Net的參數(shù)分析是在CIFAR-10數(shù)據(jù)集上進行的。CIFAR-10數(shù)據(jù)集由10個類的60 000個32×32彩色圖像組成,每個類有6 000個圖像,5 000個訓(xùn)練圖像和1 000個測試圖像。在訓(xùn)練之前對數(shù)據(jù)進行了數(shù)據(jù)增強操作:每次從訓(xùn)練集抽出128個圖像隨機進行切割、翻轉(zhuǎn)、亮度調(diào)節(jié)以及標準化處理作為一個batch,目的是增強樣本的多樣性、防止過擬合。

VGG-Net的原始標準模型是對ImageNet數(shù)據(jù)集分類,但是最近的研究把VGG-Net模型結(jié)構(gòu)稍作改動用在CIFAR-10數(shù)據(jù)集上,并取得了很好的結(jié)果,其結(jié)構(gòu)包括了13個卷積層和2個全連接層。本文使用了兩個VGG-Net模型——VGGNet和 VGG-BN-Net。

VGG-Net模型時根據(jù)原始標準模型進行同比參數(shù)壓縮如表2所示,同時還在全連接層加入Dropout層[33]防止過擬合。

另一個VGG-BN-Net模型結(jié)構(gòu)如文獻[34]中所描述的結(jié)構(gòu),網(wǎng)絡(luò)結(jié)構(gòu)如表3所示,以VGG-Net的標準模型為基礎(chǔ),在每一層卷積層和第1層全連接層后面加BN(Batch-Normalization)層[34]和Dropout層[33]。與之前AlexNet網(wǎng)絡(luò)分析的一樣,VGG-Net模型的參數(shù)最多的部分仍然在全連接層,但是計算量最大部分是卷積層第三層和第四層,并且考慮到靠前的網(wǎng)絡(luò)層比較重要,所以應(yīng)當從后往前壓縮本文,壓縮了FC14、conv5-3、conv5-2、conv4-3、conv4-2、conv4-1 共 6 層網(wǎng)絡(luò)。

表2 VGG-Net結(jié)構(gòu)Tab.2 Structure of VGG-Net

表3 VGG-BN-Net結(jié)構(gòu)Tab.3 Structureof VGG-BN-Net

對這兩種VGG-Net模型做參數(shù)分析如圖5~6所示。

圖5 加入BN層前VGG-Net梯度分布圖Fig.5 Gradient distribution histogram of VGG-Net beforeadding BNlayer

從圖中可以發(fā)現(xiàn)在加入BN層之前,參數(shù)梯度的分布有著兩極化的趨勢,在梯度為0附近分布大量的參數(shù),在梯度大一點的在兩邊分布著相當少的參數(shù),恰恰可以利用這種梯度分布特點,把在0附近的梯度所對應(yīng)的權(quán)值篩選出來,因梯度接近于0,所以這部分權(quán)值正是那些冗余的、不重要的權(quán)值。在后面實驗中證明剔除這部分冗余的權(quán)值后,網(wǎng)絡(luò)性能不但沒有下降反而會提升很多;加入BN層后,梯度的分布比之前會均勻一些,參數(shù)分布隨著梯度的增大而逐漸減小,但是仍然是0附近的參數(shù)分布最多。

圖6 加入BN層后VGG-Net梯度分布圖Fig.6 Gradient distribution histogram of VGG-Net after adding BNlayer

3 GDP算法

GDP是一種基于梯度的剪枝算法。假設(shè)第i層的權(quán)值矩陣記為W(i)k×k×d×n,k×k×d×n表示它的形狀,其算法流程如下:步驟1 利用式(1)計算第i層的梯度矩陣,形狀不變。

步驟2 在矩陣G中找到梯度的絕對值的最大值記作gmax。設(shè)置m=100,利用式(2)、(3)求出步長step和候選閾值Tm,Tm表示第m個閾值。

步驟3 根據(jù)候選閾值Tm,在梯度矩陣G(i)k×k×d×n中統(tǒng)計梯度值小于Tm的梯度的個數(shù)記為Nm(m=1,2,…,100)。

步驟4 計算式(4),RN[m]表示使用閾值Tm剪枝時模型剩余的參數(shù)數(shù)量。

2.1 兩組患兒hs-CRP、β-hCG、PCT檢測結(jié)果比較 觀察組hs-CRP、β-hCG、PCT水平均高于對照組,差異有統(tǒng)計學(xué)意義(P<0.05)。見表1。

步驟5 重復(fù)m次步驟2~4。

步驟6 計算式(5),ΔRN[m]表示使用閾值Tm+1剪枝時剩余參數(shù)數(shù)量RN[m+1]與使用閾值Tm剪枝時剩余參數(shù)數(shù)量RN[m]之間的差。

步驟7 判斷式(5):若成立,則保存當前m值并由式(3)獲得最終閾值即T=Tm;若不成立,重復(fù)步驟6。

步驟8 把小于T的梯度值Gindex所對應(yīng)的權(quán)值Windex置為0就完成了剪枝步驟,最后對修剪過后的參數(shù)進行重訓(xùn)練。

GDP剪枝算法流程如圖7所示。

一般來說剪枝的原則是保留重要的權(quán)值,剔除不重要的權(quán)值。Tm如圖8所示表示一個矩形框,在矩形區(qū)域內(nèi)是要被篩選出來需要剔除的部分,根據(jù)|Gindex|<T這個篩選條件可以推斷出這個方框是關(guān)于0對稱的,并且Tm是由小到大變化的,對應(yīng)著矩形框應(yīng)該是由實線矩形框到虛線矩形框的變化。在對m進行遍歷的過程記錄對每一個候選閾值Tm下,需要保留的參數(shù)量RN[m]如圖9左所示,表達的是RN[m]隨著m增加而減小的曲線,因為m值越大,矩形框的區(qū)域就越大,那么保留的參數(shù)量就應(yīng)越少,可以發(fā)現(xiàn)在m值很小時,RN[m]的變化很明顯,在m值大到一定范圍后,RN[m]幾乎沒變。原因是絕大部分梯度都分布在0附近,換句話說就是在0附近參數(shù)數(shù)量非常大,矩形框增大一個步長都能引起RN[m]很大的改變,相反在參數(shù)數(shù)量分布比較少位置,矩形框增大一個步長RN[m]變化不明顯。接下來利用式(5)第m+1次的RN[m]值減去第m次的RN[m]值獲得一個減少量ΔRN[m]如圖9右所示。從圖9中找到ΔRN[m]變化相對較小時的值即Value。注意這個Value值需要根據(jù)不同的網(wǎng)絡(luò)結(jié)構(gòu)而人為設(shè)定。圖9中,當ΔRN[m]達到-1000時,對應(yīng)著圖9中RN[m]曲線開始出現(xiàn)平緩趨勢時位置,即AlexNet的Value值選為-1000比較合適。下文VGG-Net、VGG-BN-Net中Value值也用同樣的方法獲得。若ΔRN[m]>Value成立,則返回此時的m值,目的是利用式(3)計算此時的閾值Tm即得到最終的閾值T=Tm。得到閾值T后按照步驟8進行剪枝,最后進行重訓(xùn)練恢復(fù)模型精度。

圖7 GDP算法流程Fig.7 Flow chart of GDPalgorithm

圖8 Tm壓縮區(qū)域可視圖Fig.8 Visibility map of Tm compression area

圖9 RN與ΔRN曲線圖Fig.9 Curve graphs of RN andΔRN

4 實驗與分析

4.1 在MINIST上的AlexNet剪枝

運用GDP算法對AlexNet進行剪枝,然后將剪枝后的網(wǎng)絡(luò)重訓(xùn)練5 000次,結(jié)果如表4所示,其中壓縮率指壓縮前的模型內(nèi)存大小與壓縮后的模型大小的比值。

表4 AlexNet剪枝結(jié)果Tab.4 AlexNet pruningresults

GDP算法在全連接層有著很好的表現(xiàn),壓縮了近14倍,而正確率僅下降了0.63個百分點。全連接層FC6和FC7分別被壓縮了99.9%,98.0%。原網(wǎng)絡(luò)進行一次前向推斷要進行7.1×107個乘法,僅壓縮全連接層后進行一次前向推斷要進行5.8×107個乘法,計算量僅下降20個百分點。隨著剪枝層數(shù)的增加網(wǎng)絡(luò)性能下降得越來越多。當壓縮兩層全連接層FC6、FC7和卷積層conv5時,正確率下降了2.53個百分點,模型大小壓縮了31倍,進行一次前向推斷需要計算2.9×107個乘法,計算量下降了60個百分點。由此可見卷積層雖然參數(shù)量小,但是計算量特別大,壓縮卷積層能獲得更大加速效果,壓縮全連接層更能減少計算模型對存儲空間的占用。

4.2 在CIFAR-10上的VGG-Net剪枝

VGG-Net的標準模型是對ImageNet數(shù)據(jù)集進行分類,輸入圖片大小是128×128,而CIFAR-10的圖片是32×32,為了避免參數(shù)過多帶來過擬合,把VGG-Net結(jié)構(gòu)設(shè)置如表2所示。訓(xùn)練50 000次,測試集正確率84%,Value值設(shè)置為-1000,表5記錄了GDP算法剪枝VGG-Net模型的conv4-2、conv4-3、conv5-2、conv5-3、FC14、FC15層后的結(jié)果,無論是卷積層還是全連接層,GDP算法都能剔除98%以上的參數(shù),并仍舊能保持網(wǎng)絡(luò)性能明顯提升,在重訓(xùn)練20 000次后,正確率最高為90.6%,計算量減少55.3個百分點。圖10表示剪枝后重訓(xùn)練20 000次,實線是剪枝后的測試集正確率,虛線是剪枝前的測試集正確率。在剪枝前測試集已經(jīng)基本穩(wěn)定在83%左右的正確率,很難再提升,但是經(jīng)過剪枝后正確率有了明顯提升。因為保留下來的權(quán)值都是重要的權(quán)值,即梯度大對loss影響大的權(quán)值,所以每訓(xùn)練一次更新權(quán)值,網(wǎng)絡(luò)的性能隨之變化幅度稍微大一些,但是也基本都高于剪枝前的網(wǎng)絡(luò)性能,原因是剪掉了冗余的接近于0的梯度的權(quán)值能有效防止過擬合。那些梯度接近0的權(quán)值就像是一個多項式函數(shù)f(x)=C1x1+C2x2+…+C3xn中非??亢蟮闹笖?shù)比較大的項,這些項越多函數(shù)對于訓(xùn)練數(shù)據(jù)擬合得越好,但導(dǎo)致其泛化性大大降低,在測試集正確率不高。而本文GDP算法能夠剔除這些冗余的梯度,在壓縮參數(shù)的同時提升網(wǎng)絡(luò)性能。

表5 VGG-Net剪枝結(jié)果 單位:%Tab.5 VGG-Net network pruningresults unit:%

圖10 VGG-Net剪枝前后結(jié)果對比Fig.10 Comparison of resultsbeforeand after VGG-Net pruning

4.3 在CIFAR-10上的VGG-BN-Net剪枝

VGG-BN-Net結(jié)構(gòu)相較于VGG-Net加入了Batch-Normalization層和Dropout層,目的是縮短訓(xùn)練網(wǎng)絡(luò)的時間并且提升網(wǎng)絡(luò)的原始性能。經(jīng)過訓(xùn)練后VGG-BN-Net能達到91.17%的測試集正確率。根據(jù)上文所述獲取Value值的方法,選取全連接層的Value值為-10 000,卷積層的Value值為-20 000,剪枝后效果見表6。經(jīng)過重訓(xùn)練后正確率為91.03%,正確率下降了0.14個百分點,計算量下降了35.3個百分點,參數(shù)量僅為之前的29.3%。

表6 VGG-BN-Net剪枝結(jié)果Tab.6 VGG-BN-Net pruningresults

表 7將GDP算法與 PFEC(Pruning Filters for Efficient ConvNets)算法[35]、FPGM(Filter Pruning via Geometric Median)算法[36]進行了比較,證明了GDP算法有著更好的剪枝效果。

表7 GDP算法與其他算法對比 單位:百分點Tab.7 Comparison of GDPalgorithm with other algorithms unit:percentage points

5 結(jié)語

本文改進了文獻[18]中的基于梯度的剪枝算法,設(shè)計了一種自適應(yīng)閾值的策略,解決了閾值選取的問題,使得每個網(wǎng)絡(luò)層都能找到適合的閾值。該算法在壓縮參數(shù)、加速計算的同時能減少過擬合的情況的發(fā)生,剪枝后的網(wǎng)絡(luò)性能會有一定程度的提升,但是對于含有BN層的網(wǎng)絡(luò)結(jié)構(gòu),本文GDP算法雖然沒有提升網(wǎng)絡(luò)性能,但是仍然能夠在剪枝參數(shù)的同時基本保持網(wǎng)絡(luò)模型的精度。一般來說,網(wǎng)絡(luò)層數(shù)越深,性能越好,GDP算法使一個層數(shù)少的AlexNet與層數(shù)較多VGG-Net在性能相近,但是計算量AlexNet要遠遠少于VGG-Net。在接下來的工作中,計劃將BN層與GDP算法相融合,既發(fā)揮該算法提升網(wǎng)絡(luò)性能優(yōu)勢,又能發(fā)揮BN層加快網(wǎng)絡(luò)收斂的作用。為了使GDP算法用到更深層的網(wǎng)絡(luò)結(jié)構(gòu)中去,將作進一步研究。

猜你喜歡
剪枝權(quán)值梯度
一種融合時間權(quán)值和用戶行為序列的電影推薦模型
基于應(yīng)變梯度的微尺度金屬塑性行為研究
人到晚年宜“剪枝”
利用KL散度度量通道冗余度的深度神經(jīng)網(wǎng)絡(luò)剪枝方法
基于YOLOv4-Tiny模型剪枝算法
一個具梯度項的p-Laplace 方程弱解的存在性
內(nèi)容、形式與表達——有梯度的語言教學(xué)策略研究
航磁梯度數(shù)據(jù)實測與計算對比研究
剪枝
財務(wù)風(fēng)險跟蹤評價方法初探
巨野县| 昌乐县| 蒲城县| 西宁市| 合江县| 临桂县| 泰来县| 望江县| 会泽县| 蕲春县| 焉耆| 鹤壁市| 澜沧| 新化县| 城固县| 宝坻区| 太和县| 黄龙县| 彭水| 东辽县| 大化| 宝坻区| 娱乐| 长武县| 东源县| 四会市| 揭西县| 泰顺县| 河东区| 清涧县| 焦作市| 和林格尔县| 山西省| 镇巴县| 丹阳市| 遵义市| 临西县| 当涂县| 涟源市| 美姑县| 江口县|