亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2020-06-07 07:06:16王忠鋒徐志遠(yuǎn)宋純賀張宏宇蔡穎凱
        計算機應(yīng)用 2020年5期
        關(guān)鍵詞:模型

        王忠鋒 ,徐志遠(yuǎ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)出相當(dāng)優(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)值越小貢獻(xiàn)越小,通過盡可能地剔除數(shù)值小的權(quán)值來達(dá)到剔除冗余權(quán)值參數(shù)的目的。但是利用權(quán)值本身的大小為依據(jù)來判斷權(quán)值的重要性缺乏理論依據(jù),正如文獻(xiàn)[18]所描述,有的權(quán)值雖然小,但是它卻很重要。文獻(xiàn)[18]提到了一種基于梯度的剪枝算法,梯度是計算損失函數(shù)對權(quán)值的偏導(dǎo)數(shù),反映了損失對權(quán)值的敏感程度,這恰恰可以當(dāng)作評判權(quán)值重要性的理論依據(jù),所以本文設(shè)計的GDP(Gradient-based Deep network Pruning)算法也是基于梯度的剪枝算法。

        在以往的剪枝算法中,以權(quán)值大小為重要性依據(jù)的剪枝算法,很容易剪掉重要的權(quán)值。以人臉識別為例,在人臉的諸多特征中,眼睛的細(xì)微變化如顏色、大小、形狀,對于人臉識別的結(jié)果有很大影響。對應(yīng)到深度網(wǎng)絡(luò)中的權(quán)值,即使權(quán)值本身很小,但是它的細(xì)微變化對結(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í)模型的計算量進(jìn)行壓縮,成為在邊緣側(cè)上部署人工智能算法的一個核心問題。

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

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

        Wen等[21]提出了一種強制正則(force regularization)的方法,利用該方法可以在訓(xùn)練的過程中讓低秩空間中濾波器(filters)變得更加緊密,在低秩表達(dá)時更加近似原始矩陣的輸出;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ò),文獻(xiàn)[23]提出了一種二值網(wǎng)絡(luò),利用sign函數(shù)將網(wǎng)絡(luò)中權(quán)值轉(zhuǎn)成只有+1和-1兩類,可以極大地減少參數(shù)存儲空間。文獻(xiàn)[24]在此基礎(chǔ)上,不僅二值化了權(quán)值矩陣,還將層與層之間輸入也進(jìn)行了二值化處理,在CIFAR-10數(shù)據(jù)集上有著10.17%的錯誤率。參數(shù)量化的方法使得神經(jīng)網(wǎng)絡(luò)普遍訓(xùn)練時間較長,因為在反向傳播的過程中仍然要使用原始參數(shù),而且在較大數(shù)據(jù)集上如ImageNet表現(xiàn)并不好。文獻(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)越)的輸出進(jìn)行含有溫度參數(shù)T的Softmax軟變換生成軟目標(biāo)引入到學(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)值進(jìn)行模擬,把一個寬且深的網(wǎng)絡(luò)蒸餾成一個窄且更深的網(wǎng)絡(luò),更深的網(wǎng)絡(luò)能表現(xiàn)出更優(yōu)越的網(wǎng)絡(luò)性能;文獻(xiàn)[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ò)進(jìn)行冗余參數(shù)的剔除,進(jìn)而提高模型的計算速度和減少模型的存儲空間。不僅如此,通過剪枝操作,還能防止網(wǎng)絡(luò)模型過擬合,進(jìn)而提升網(wǎng)絡(luò)性能。

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

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

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

        以手寫數(shù)字?jǐn)?shù)據(jù)集為例對深度網(wǎng)絡(luò)模型的權(quán)值與梯度分布進(jìn)行分析。手寫數(shù)字?jǐn)?shù)據(jù)集是神經(jīng)網(wǎng)絡(luò)中的經(jīng)典數(shù)據(jù)集,共包含10種類別:0~9的10個數(shù)字種類。每一張圖片都包含兩部分信息:第一部分是數(shù)字圖片的像素信息,圖片大小為28×28;另一部分是圖片的標(biāo)簽,即圖片表示的數(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次后在集合上的正確率達(dá)到了99.05%。網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。

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

        全連接層占據(jù)著絕大部分參數(shù),卷積層只占全部參數(shù)的7%。在進(jìn)行剪枝之前首先對每一層的梯度進(jìn)行分析如圖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ù)集上進(jìn)行的。CIFAR-10數(shù)據(jù)集由10個類的60 000個32×32彩色圖像組成,每個類有6 000個圖像,5 000個訓(xùn)練圖像和1 000個測試圖像。在訓(xùn)練之前對數(shù)據(jù)進(jìn)行了數(shù)據(jù)增強操作:每次從訓(xùn)練集抽出128個圖像隨機進(jìn)行切割、翻轉(zhuǎn)、亮度調(diào)節(jié)以及標(biāo)準(zhǔn)化處理作為一個batch,目的是增強樣本的多樣性、防止過擬合。

        VGG-Net的原始標(biāo)準(zhǔn)模型是對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ù)原始標(biāo)準(zhǔn)模型進(jìn)行同比參數(shù)壓縮如表2所示,同時還在全連接層加入Dropout層[33]防止過擬合。

        另一個VGG-BN-Net模型結(jié)構(gòu)如文獻(xiàn)[34]中所描述的結(jié)構(gòu),網(wǎng)絡(luò)結(jié)構(gòu)如表3所示,以VGG-Net的標(biāo)準(zhǔn)模型為基礎(chǔ),在每一層卷積層和第1層全連接層后面加BN(Batch-Normalization)層[34]和Dropout層[33]。與之前AlexNet網(wǎng)絡(luò)分析的一樣,VGG-Net模型的參數(shù)最多的部分仍然在全連接層,但是計算量最大部分是卷積層第三層和第四層,并且考慮到靠前的網(wǎng)絡(luò)層比較重要,所以應(yīng)當(dā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ù),在梯度大一點的在兩邊分布著相當(dāng)少的參數(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):若成立,則保存當(dāng)前m值并由式(3)獲得最終閾值即T=Tm;若不成立,重復(fù)步驟6。

        步驟8 把小于T的梯度值Gindex所對應(yīng)的權(quán)值Windex置為0就完成了剪枝步驟,最后對修剪過后的參數(shù)進(jìn)行重訓(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進(jìn)行遍歷的過程記錄對每一個候選閾值Tm下,需要保留的參數(shù)量RN[m]如圖9左所示,表達(dá)的是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中,當(dāng)ΔRN[m]達(dá)到-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進(jìn)行剪枝,最后進(jìn)行重訓(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進(jìn)行剪枝,然后將剪枝后的網(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ò)進(jìn)行一次前向推斷要進(jìn)行7.1×107個乘法,僅壓縮全連接層后進(jìn)行一次前向推斷要進(jìn)行5.8×107個乘法,計算量僅下降20個百分點。隨著剪枝層數(shù)的增加網(wǎng)絡(luò)性能下降得越來越多。當(dāng)壓縮兩層全連接層FC6、FC7和卷積層conv5時,正確率下降了2.53個百分點,模型大小壓縮了31倍,進(jìn)行一次前向推斷需要計算2.9×107個乘法,計算量下降了60個百分點。由此可見卷積層雖然參數(shù)量小,但是計算量特別大,壓縮卷積層能獲得更大加速效果,壓縮全連接層更能減少計算模型對存儲空間的占用。

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

        VGG-Net的標(biāo)準(zhǔn)模型是對ImageNet數(shù)據(jù)集進(jìn)行分類,輸入圖片大小是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能達(dá)到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]進(jìn)行了比較,證明了GDP算法有著更好的剪枝效果。

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

        5 結(jié)語

        本文改進(jìn)了文獻(xiàn)[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要遠(yuǎn)遠(yuǎn)少于VGG-Net。在接下來的工作中,計劃將BN層與GDP算法相融合,既發(fā)揮該算法提升網(wǎng)絡(luò)性能優(yōu)勢,又能發(fā)揮BN層加快網(wǎng)絡(luò)收斂的作用。為了使GDP算法用到更深層的網(wǎng)絡(luò)結(jié)構(gòu)中去,將作進(jìn)一步研究。

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機模型
        提煉模型 突破難點
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達(dá)及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        3D打印中的模型分割與打包
        欧美高清精品一区二区| 最新福利姬在线视频国产观看 | 国产毛片精品av一区二区| 一边捏奶头一边高潮视频| a级毛片免费观看网站| 亚洲AV综合久久九九| 白白白色视频在线观看播放| 无遮挡很爽很污很黄的女同| 女人让男人桶爽30分钟| 欧美黄色免费看| 丰满人妻无套内射视频| 国产亚洲一区二区在线观看| 老熟妇仑乱视频一区二区| 日韩中文字幕不卡网站| 日韩精品一区二区三区视频| 巨爆中文字幕巨爆区爆乳| 亚洲精品第一国产综合亚av| 日韩欧美国产自由二区| 翘臀诱惑中文字幕人妻| 国产亚州精品女人久久久久久| 国产内射在线激情一区| 国产成人亚洲综合小说区| 一区二区高清免费日本| 久久99精品久久水蜜桃| 亚洲精品免费专区| 99精品又硬又爽又粗少妇毛片| 精品国产一区二区三区av| 一本一道久久综合狠狠老| 亚洲AV无码国产精品久久l | 色中文字幕在线观看视频| 国产最新进精品视频| 一区二区三区国产在线网站视频| 亚洲av无一区二区三区综合| 亚洲 欧美 国产 制服 动漫| 亚洲另类激情综合偷自拍图| 亚洲成av人片在线天堂无| 精品国产亚洲亚洲国产 | 国产精品久久久亚洲| 在线播放国产一区二区三区| 国产三级伦理视频在线| 国产三级精品视频2021|