• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于深度神經(jīng)網(wǎng)絡(luò)二階信息的結(jié)構(gòu)化剪枝算法

      2021-02-05 03:02:44季繁繁袁曉彤
      計(jì)算機(jī)工程 2021年2期
      關(guān)鍵詞:剪枝特征向量二階

      季繁繁,楊 鑫,袁曉彤

      (南京信息工程大學(xué)江蘇省大數(shù)據(jù)分析技術(shù)重點(diǎn)實(shí)驗(yàn)室,南京 210044)

      0 概述

      隨著計(jì)算機(jī)運(yùn)算速度的提升和大數(shù)據(jù)技術(shù)的發(fā)展,自從2012年AlexNet[1]在ImageNet競(jìng)賽中獲得冠軍后,研究人員不斷設(shè)計(jì)出更深和更復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)模型以期獲得更好的分類精度。但深度神經(jīng)網(wǎng)絡(luò)復(fù)雜的結(jié)構(gòu)所需的龐大計(jì)算資源使其在實(shí)際應(yīng)用中受到一定的限制,主要表現(xiàn)為DNN模型在資源受限的無(wú)人機(jī)、智能手機(jī)、平板電腦等硬件設(shè)備上難以進(jìn)行有效部署,因此網(wǎng)絡(luò)壓縮技術(shù)應(yīng)運(yùn)而生。目前主流的網(wǎng)絡(luò)壓縮方法有網(wǎng)絡(luò)剪枝[2-4]、網(wǎng)絡(luò)參數(shù)量化[5-6]與分解[7]、網(wǎng)絡(luò)結(jié)構(gòu)輕量化設(shè)計(jì)[8]和知識(shí)蒸餾[9]等,其中網(wǎng)絡(luò)剪枝是對(duì)網(wǎng)絡(luò)中的冗余元素進(jìn)行裁剪,是最常用的網(wǎng)絡(luò)壓縮方法之一,其能同時(shí)對(duì)卷積層和全連接層進(jìn)行裁剪,尤其是結(jié)構(gòu)化剪枝方法可以不受硬件條件的限制而直接達(dá)到減少網(wǎng)絡(luò)內(nèi)存占用和網(wǎng)絡(luò)加速的目的,并且網(wǎng)絡(luò)剪枝還可以與其他網(wǎng)絡(luò)壓縮方法進(jìn)行兼容,如剪枝后的網(wǎng)絡(luò)能通過(guò)知識(shí)蒸餾提高網(wǎng)絡(luò)性能[10],或者利用網(wǎng)絡(luò)結(jié)構(gòu)輕量化設(shè)計(jì)進(jìn)一步提升網(wǎng)絡(luò)壓縮效果[5]。

      網(wǎng)絡(luò)剪枝的核心是衡量元素的重要性并對(duì)其進(jìn)行裁剪,現(xiàn)有算法提出的剪枝標(biāo)準(zhǔn)通常只涉及網(wǎng)絡(luò)模型的零階信息(參數(shù)本身信息)或一階信息(梯度信息)[4,11-12],并沒有涉及網(wǎng)絡(luò)二階信息。然而,網(wǎng)絡(luò)模型的二階信息也是十分重要的信息,在機(jī)器學(xué)習(xí)優(yōu)化任務(wù)中可以加快模型收斂速度[13]。在網(wǎng)絡(luò)量化任務(wù)中,HAWQ算法[14]利用網(wǎng)絡(luò)結(jié)構(gòu)的二階信息將網(wǎng)絡(luò)不同層次量化為不同精度。在網(wǎng)絡(luò)剪枝任務(wù)中,OBD[2]和OBS[3]算法均利用網(wǎng)絡(luò)二階信息,但是這2種算法需要計(jì)算Hessian矩陣,所以會(huì)消耗大量計(jì)算資源,并且OBS算法的改進(jìn)版本L-OBS算法[15]依然需消耗較多的計(jì)算資源,而且這3種剪枝算法都屬于非結(jié)構(gòu)化剪枝算法,需要特定的硬件支持才能達(dá)到網(wǎng)絡(luò)加速效果。

      為將深度神經(jīng)網(wǎng)絡(luò)二階信息用于網(wǎng)絡(luò)通道剪枝,本文提出一種基于HAWQ[14]算法的結(jié)構(gòu)化剪枝算法。該算法利用冪迭代法[16]獲取網(wǎng)絡(luò)通道的二階信息,將其作為衡量通道重要性的依據(jù)并進(jìn)行通道剪枝,再對(duì)剪枝后的網(wǎng)絡(luò)進(jìn)行微調(diào)得到緊湊網(wǎng)絡(luò),最終將本文算法運(yùn)用于ResNet[17]網(wǎng)絡(luò)與VGGNet[18]網(wǎng)絡(luò),并在Cifar10和Cifar100數(shù)據(jù)集[19]上進(jìn)行實(shí)驗(yàn)驗(yàn)證。

      1 相關(guān)工作

      隨著深度神經(jīng)網(wǎng)絡(luò)在各行各業(yè)的深入應(yīng)用,深度神經(jīng)網(wǎng)絡(luò)壓縮研究也受到國(guó)內(nèi)外學(xué)者的廣泛關(guān)注[20]。深度神經(jīng)網(wǎng)絡(luò)剪枝算法在20世紀(jì)80年代的代表算法主要有OBD[2]和OBS[3]。HAN等人[4]于2015年對(duì)深度神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行有效裁剪,并取得了良好的效果,該方法屬于靜態(tài)剪枝,即裁剪的元素不可恢復(fù)。GUO等人[21]于2016年提出動(dòng)態(tài)剪枝方法,對(duì)裁剪的元素采取可恢復(fù)機(jī)制,有效提高了剪枝后的網(wǎng)絡(luò)性能。在OBS算法的基礎(chǔ)上,DONG等人[15]于2017年將深度神經(jīng)網(wǎng)絡(luò)的全局裁剪拓展至逐層裁剪,提出L-OBS算法。

      上述剪枝算法均屬于非結(jié)構(gòu)化剪枝,非結(jié)構(gòu)化剪枝的裁剪對(duì)象為深度神經(jīng)網(wǎng)絡(luò)參數(shù),其雖然達(dá)到了網(wǎng)絡(luò)稀疏效果,但需要特定的硬件支持才能達(dá)到網(wǎng)絡(luò)加速的目的。然而,結(jié)構(gòu)化剪枝可以不受硬件條件的限制,因?yàn)槠浼糁?duì)象為網(wǎng)絡(luò)卷積核,所以可以直接達(dá)到網(wǎng)絡(luò)加速目的。文獻(xiàn)[11]將網(wǎng)絡(luò)通道的L1范數(shù)作為衡量通道重要性的依據(jù),并據(jù)此裁剪L1范數(shù)較小的通道。文獻(xiàn)[22]依據(jù)網(wǎng)絡(luò)下一層的輸出,裁剪對(duì)輸出影響較小的卷積核達(dá)到網(wǎng)絡(luò)壓縮的目的。文獻(xiàn)[23]在原卷積核的基礎(chǔ)上加入?yún)f(xié)同層來(lái)控制相應(yīng)卷積核參與網(wǎng)絡(luò)運(yùn)算,使得最終網(wǎng)絡(luò)結(jié)構(gòu)變得復(fù)雜,但是仍可實(shí)現(xiàn)網(wǎng)絡(luò)加速。文獻(xiàn)[24]在網(wǎng)絡(luò)通道剪枝過(guò)程中引入網(wǎng)絡(luò)通道可恢復(fù)機(jī)制,提高網(wǎng)絡(luò)的容錯(cuò)能力。文獻(xiàn)[12]利用深度神經(jīng)網(wǎng)絡(luò)批量歸一化(Batch Normalization,BN)層信息對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行有效剪枝,并將剪枝算法應(yīng)用于YOLO網(wǎng)絡(luò)剪枝任務(wù)中。針對(duì)網(wǎng)絡(luò)剪枝的預(yù)訓(xùn)練問(wèn)題,文獻(xiàn)[25]分別對(duì)結(jié)構(gòu)化剪枝與非結(jié)構(gòu)化剪枝的經(jīng)典算法進(jìn)行深入研究,得出網(wǎng)絡(luò)預(yù)訓(xùn)練并非網(wǎng)絡(luò)剪枝中的必要步驟,引起了學(xué)業(yè)界的廣泛討論。另外,機(jī)器學(xué)習(xí)方法[10,26]也被運(yùn)用于網(wǎng)絡(luò)剪枝任務(wù)中對(duì)網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)自動(dòng)化剪枝,大幅提升了網(wǎng)絡(luò)剪枝效率。

      2 結(jié)構(gòu)化剪枝算法

      本文提出的結(jié)構(gòu)化剪枝算法首先對(duì)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,然后利用冪迭代法[16]得到網(wǎng)絡(luò)參數(shù)對(duì)應(yīng)Hessian矩陣的主特征向量,將得到的向量用于衡量網(wǎng)絡(luò)通道的重要性并進(jìn)行通道剪枝,最后對(duì)剪枝后的網(wǎng)絡(luò)進(jìn)行再訓(xùn)練提高網(wǎng)絡(luò)性能。

      2.1 網(wǎng)絡(luò)通道二階信息獲取

      2.1.1 冪迭代法

      本文算法利用冪迭代法獲取網(wǎng)絡(luò)結(jié)構(gòu)的二階信息。冪迭代法是一種用于求解矩陣按模最大特征值(主特征值)及其對(duì)應(yīng)特征向量(主特征向量)的方法。設(shè)有n個(gè)線性無(wú)關(guān)的特征向量及其對(duì)應(yīng)的特征值,假設(shè)特征值滿足以下關(guān)系對(duì)于任意非零向量若使用P構(gòu)造向量序列等式,則式(1)成立:

      其中,uk,i是向量uk的第i個(gè)分量值[16],只要選取合適的隨機(jī)向量u0,當(dāng)k足夠大時(shí)就可以計(jì)算P的主特征值λ1及其主特征向量uk。

      2.1.2 二階信息獲取

      由于每層通道的參數(shù)維數(shù)很大,其對(duì)計(jì)算機(jī)存儲(chǔ)和計(jì)算造成巨大壓力,因此很難直接計(jì)算網(wǎng)絡(luò)參數(shù)的Hessian矩陣,如對(duì)于d維的向量,得到其Hessian矩陣的復(fù)雜度為O(d2)。受HAWQ算法[14]啟發(fā),本文提出一種新的結(jié)構(gòu)化剪枝算法,利用冪迭代獲取網(wǎng)絡(luò)二階信息,其需要計(jì)算Hessian矩陣與向量的乘積。

      下文對(duì)深度神經(jīng)網(wǎng)絡(luò)中網(wǎng)絡(luò)通道參數(shù)Hessian矩陣對(duì)應(yīng)的主特征向量計(jì)算進(jìn)行具體介紹。假設(shè)一個(gè)網(wǎng)絡(luò)具有LLr(LLr∈?)層網(wǎng)絡(luò)結(jié)構(gòu),每層網(wǎng)絡(luò)有Ni+1(0≤i≤LLr-1)個(gè)通道,Wi,j表示對(duì)應(yīng)通道參數(shù),因此深度學(xué)習(xí)損失函數(shù)L(W)為:

      其中,W={W1,W2,…,WLr},l(xi,yi,W)是訓(xùn)練集(Χ,Y)中訓(xùn)練樣本的損失函數(shù),n是樣本數(shù)。定義損失函數(shù)對(duì)應(yīng)通道參數(shù)W的梯度g為:

      對(duì)于一個(gè)與梯度g維數(shù)相同的隨機(jī)向量v存在式(4)成立:

      其中,H是損失函數(shù)L對(duì)于參數(shù)W的Hessian矩陣。式(4)成立的條件之一為向量v是隨機(jī)向量,其與參數(shù)W無(wú)關(guān)?;诖?,下文給出基于冪迭代法的網(wǎng)絡(luò)Hessian矩陣主特征向量求解算法。

      算法1基于冪迭代法的網(wǎng)絡(luò)Hessian矩陣主特征向量求解算法

      輸入網(wǎng)絡(luò)參數(shù)W、隨機(jī)向量v(v與W維度相同)

      輸出主特征向量V(V=v)

      通過(guò)算法1可以得到深度神經(jīng)網(wǎng)絡(luò)參數(shù)所對(duì)應(yīng)Hessian矩陣的主特征向量。算法1的算力損耗主要為第5步,因?yàn)榈?步需要求導(dǎo),假設(shè)參數(shù)W維數(shù)為d,最大循環(huán)次數(shù)為m,所以求解特征向量的算法復(fù)雜度為O(md),相比于直接計(jì)算Hessian矩陣的計(jì)算復(fù)雜度O(d2),算法1的計(jì)算復(fù)雜度明顯降低,其能避免直接求解網(wǎng)絡(luò)的Hessian矩陣來(lái)獲得其主特征向量,該特征向量包含二階信息。

      2.2 基于網(wǎng)絡(luò)二階信息的結(jié)構(gòu)化剪枝算法

      基于網(wǎng)絡(luò)二階信息的結(jié)構(gòu)化剪枝算法框架(第i層)如圖1所示,其中,Pi表示每一層的剪枝率,Ni+1表示輸出通道數(shù)。

      圖1 基于網(wǎng)絡(luò)二階信息的結(jié)構(gòu)化剪枝算法框架(第i 層)Fig.1 Framework of structural pruning algorithm based on second-order information of network(the i-th layer)

      經(jīng)過(guò)算法1可以求出網(wǎng)絡(luò)參數(shù)對(duì)應(yīng)的Hessian矩陣主特征向量V,下文將具體介紹如何利用V進(jìn)行深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)化剪枝,其中Vi,j(0≤i≤LLr-1,1≤j≤Ni+1)為深度神經(jīng)網(wǎng)絡(luò)參數(shù)對(duì)應(yīng)Hessian矩陣主特征向量V在第i層、第j個(gè)通道的對(duì)應(yīng)值。本文結(jié)構(gòu)化剪枝算法屬于硬剪枝[11]算法,通道重要性的衡量依據(jù)是得出的特征向量V在對(duì)應(yīng)通道Vi,j的Lp范數(shù),計(jì)算公式為:

      其中:k1、k2分別為卷積核感受野的尺度,若為3×3卷積核,則k1=k2=3;Ni是上層卷積層的輸出通道數(shù)。

      硬剪枝算法需要對(duì)網(wǎng)絡(luò)模型進(jìn)行預(yù)訓(xùn)練,待網(wǎng)絡(luò)模型達(dá)到較好的性能后再進(jìn)行通道裁剪。因?yàn)橹苯硬眉艉蟮木W(wǎng)絡(luò)性能會(huì)受到一定損耗,所以需要進(jìn)行微調(diào)恢復(fù)網(wǎng)絡(luò)性能?;诰W(wǎng)絡(luò)二階信息的結(jié)構(gòu)化剪枝算法采用預(yù)訓(xùn)練-剪枝-微調(diào)步驟。

      算法2基于網(wǎng)絡(luò)二階信息的結(jié)構(gòu)化剪枝算法

      輸入深度神經(jīng)網(wǎng)絡(luò)、訓(xùn)練數(shù)據(jù)Χ、剪枝率Pi

      輸出緊湊的網(wǎng)絡(luò)結(jié)構(gòu)

      算法2的第1步是對(duì)神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行隨機(jī)初始化;第2步是訓(xùn)練一個(gè)性能良好的深度神經(jīng)網(wǎng)絡(luò)用于剪枝,該步驟屬于網(wǎng)絡(luò)預(yù)訓(xùn)練過(guò)程;第3步可以通過(guò)算法1實(shí)現(xiàn);第5步是計(jì)算特征向量的L1范數(shù),即向量元素的絕對(duì)值之和;第6步和第7步是對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行裁剪;第4步~第9步為一個(gè)內(nèi)循環(huán)過(guò)程,對(duì)深度神經(jīng)網(wǎng)絡(luò)一層通道進(jìn)行裁剪;第10步是微調(diào)過(guò)程,網(wǎng)絡(luò)微調(diào)實(shí)際上是對(duì)剪枝后的深度神經(jīng)網(wǎng)絡(luò)進(jìn)行再訓(xùn)練,由于剪枝后深度神經(jīng)網(wǎng)絡(luò)的一些網(wǎng)絡(luò)通道會(huì)缺失,因此網(wǎng)絡(luò)精度會(huì)降低,需要對(duì)剪枝后的網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào)得到性能良好的網(wǎng)絡(luò)參數(shù)W*,計(jì)算公式為:

      在微調(diào)過(guò)程中的學(xué)習(xí)率和迭代次數(shù)均小于預(yù)訓(xùn)練時(shí)的學(xué)習(xí)率和迭代次數(shù)。

      3 實(shí)驗(yàn)結(jié)果與分析

      本節(jié)主要介紹本文結(jié)構(gòu)化剪枝算法在ResNet[17]和VGGNet[18]網(wǎng)絡(luò)模型上的壓縮效果,所有實(shí)驗(yàn)均基于PyTorch框架[27]。

      3.1 實(shí)驗(yàn)數(shù)據(jù)集

      Cifar10數(shù)據(jù)集[19]是深度學(xué)習(xí)領(lǐng)域較常用的圖片數(shù)據(jù)集,其常被應(yīng)用于深度學(xué)習(xí)的分類任務(wù)。Cifar10數(shù)據(jù)集共分為10類,每類有6 000張圖片,包括10種不同物體,每張圖片為32像素×32像素的三通道RGB圖片。Cifar10數(shù)據(jù)集共有50 000張訓(xùn)練集圖片和10 000張測(cè)試集圖片。

      Cifar100數(shù)據(jù)集[19]是Cifar10數(shù)據(jù)集的一個(gè)衍生數(shù)據(jù)集,其所有圖片均與Cifar10數(shù)據(jù)集相同。Cifar100數(shù)據(jù)集將Cifar10數(shù)據(jù)集的每類物體數(shù)據(jù)進(jìn)行再劃分,使原有的10類樣本劃分為100類樣本,每類樣本包含600張圖片,所以Cifar100數(shù)據(jù)集可以看成Cifar10數(shù)據(jù)集的精細(xì)版本。

      3.2 對(duì)比算法

      在實(shí)驗(yàn)中,將本文結(jié)構(gòu)化剪枝算法與以下算法進(jìn)行對(duì)比:

      1)PF算法[11]。PF算法是經(jīng)典的硬剪枝算法,該算法利用已訓(xùn)練的網(wǎng)絡(luò)參數(shù)L1范數(shù)作為衡量通道重要性的標(biāo)準(zhǔn)并裁剪L1范數(shù)較小的通道,并對(duì)裁剪后的網(wǎng)絡(luò)進(jìn)行微調(diào)。

      2)LCCL算法[23]。LCCL算法在卷積層后面加入一個(gè)低損耗的協(xié)同層來(lái)控制卷積層中相應(yīng)的卷積核參與運(yùn)算,其雖然達(dá)到網(wǎng)絡(luò)加速目的,但是網(wǎng)絡(luò)結(jié)構(gòu)由此變得更加復(fù)雜。

      3)Rethinking算法[25]。Rethinking算法將經(jīng)典的剪枝算法進(jìn)行復(fù)現(xiàn),使用特殊的再訓(xùn)練方式對(duì)裁剪后的網(wǎng)絡(luò)參數(shù)進(jìn)行賦值,從而達(dá)到良好的網(wǎng)絡(luò)性能。

      4)SFP算法[24]。SFP算法是經(jīng)典的軟剪枝算法,在剪枝過(guò)程中對(duì)通道采用可恢復(fù)機(jī)制,提高了算法剪枝效果,但是其相比硬剪枝算法整個(gè)剪枝過(guò)程更長(zhǎng)。

      3.3 實(shí)驗(yàn)設(shè)置與性能指標(biāo)

      本文算法在剪枝前網(wǎng)絡(luò)模型需要進(jìn)行預(yù)訓(xùn)練160步,初始學(xué)習(xí)率為0.1,在第80步~第120步內(nèi)對(duì)學(xué)習(xí)率進(jìn)行逐步衰減。微調(diào)步數(shù)為40步或80步,初始學(xué)習(xí)率設(shè)為0.001,在50%的訓(xùn)練步數(shù)后實(shí)施學(xué)習(xí)率衰減。算法1的最大迭代次數(shù)m取10。在VGGNet網(wǎng)絡(luò)、ResNet56網(wǎng)絡(luò)及ResNet110網(wǎng)絡(luò)上,本文算法采用PF算法[11]的剪枝率。PF算法通過(guò)實(shí)驗(yàn)找出每個(gè)網(wǎng)絡(luò)模型的敏感層,即對(duì)最終輸出結(jié)果有很大影響的層,該算法在裁剪過(guò)程中跳過(guò)敏感層,即敏感層的剪枝率為0,其中:ResNet56網(wǎng)絡(luò)A剪枝方式的剪枝率為10%,其跳躍層為第18層、第20層、第38層和第54層;ResNet56網(wǎng)絡(luò)B剪枝方式的剪枝率為60%、30%和10%,其跳躍層為第16層、第18層、第20層、第34層、第38層和第54層;ResNet110網(wǎng)絡(luò)A剪枝方式只在前期采用50%的剪枝率,其跳躍層為第36層;ResNet110網(wǎng)絡(luò)B剪枝方式的剪枝率為50%、40%和30%,其跳躍層為第36層、第38層和第74層;VGG16網(wǎng)絡(luò)的A剪枝方式對(duì)特定的多個(gè)卷積層采用50%的剪枝率。

      網(wǎng)絡(luò)剪枝算法的性能評(píng)價(jià)指標(biāo)主要有分類準(zhǔn)確率、參數(shù)量以及每秒浮點(diǎn)運(yùn)算次數(shù)(Floating-point Operations Per Second,F(xiàn)LOPS),其中:分類準(zhǔn)確率表征DNN模型分類結(jié)果;參數(shù)量衡量DNN所占用的計(jì)算機(jī)內(nèi)存大小,參數(shù)量減少比例是剪枝后的網(wǎng)絡(luò)與未剪枝的原始網(wǎng)絡(luò)在網(wǎng)絡(luò)參數(shù)量上相比減少的百分比;FLOPS是衡量網(wǎng)絡(luò)運(yùn)行速度的指標(biāo),F(xiàn)LOPS減少說(shuō)明網(wǎng)絡(luò)在實(shí)際運(yùn)算中可以取得加速的效果,減少量越大,說(shuō)明加速效果越明顯。

      3.4 結(jié)果分析

      3.4.1 Cifar10數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果

      表1為本文算法與PF、LCCL等剪枝算法在ResNet與VGGNet網(wǎng)絡(luò)模型上的實(shí)驗(yàn)結(jié)果對(duì)比,其中直接使用文獻(xiàn)[11,23-25]中已有對(duì)比算法的實(shí)驗(yàn)結(jié)果,加粗?jǐn)?shù)據(jù)表示最優(yōu)結(jié)果,“—”表示文獻(xiàn)[23-24]缺少相應(yīng)數(shù)據(jù)??梢钥闯觯?jīng)過(guò)本文算法剪枝,網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)量與FLOPS均明顯減少,但是網(wǎng)絡(luò)性能未受到影響,而且在ResNet110、VGG16等網(wǎng)絡(luò)模型上,網(wǎng)絡(luò)性能還得到了一定的提升,具體表現(xiàn)為本文算法準(zhǔn)確率在ResNet110網(wǎng)絡(luò)模型和VGG16網(wǎng)絡(luò)模型上分別提升了0.74%和0.45%。

      表1 5種剪枝算法在Cifar10數(shù)據(jù)集上的對(duì)比結(jié)果Table 1 Comparison results of five pruning algorithms on Cifar10 dataset

      在相同的剪枝率下,與PF算法和Rethinking算法相比,本文算法在所有網(wǎng)絡(luò)模型上均取得了較好的結(jié)果,說(shuō)明本文算法的剪枝性能最優(yōu)。在ResNet110網(wǎng)絡(luò)模型上,本文算法相比LCCL算法在FLOPS減少比例相當(dāng)?shù)那闆r下,可以獲得更高的分類準(zhǔn)確率,且經(jīng)過(guò)本文算法裁剪后的網(wǎng)絡(luò)占用內(nèi)存更小。在ResNet56網(wǎng)絡(luò)模型上,在FLOPS減少比例相近的情況下,本文算法相比SFP算法分類準(zhǔn)確率減少比例更具優(yōu)勢(shì),說(shuō)明其可以與軟剪枝算法取得相當(dāng)?shù)募糁π阅芮覍?shí)現(xiàn)更簡(jiǎn)單。另外,從表1可以看到,ResNet網(wǎng)絡(luò)隨著層數(shù)的加深,取得的剪枝效果也越來(lái)越好,VGG16網(wǎng)絡(luò)經(jīng)過(guò)剪枝后分類準(zhǔn)確率也得到了一定的提升,說(shuō)明隨著網(wǎng)絡(luò)層數(shù)的加深,網(wǎng)絡(luò)中可能存在更多的冗余元素,裁剪這些冗余元素會(huì)提升分類準(zhǔn)確率,從而論證越復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)越容易裁剪這一觀點(diǎn)。

      3.4.2 Cifar100數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果

      表2為本文剪枝算法與PF算法在Cifar100數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,其中加粗?jǐn)?shù)據(jù)表示最優(yōu)結(jié)果。由于文獻(xiàn)[11]沒有使用Cifar100數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),因此該實(shí)驗(yàn)所有結(jié)果均是筆者復(fù)現(xiàn)的結(jié)果。根據(jù)表2可以看出,本文算法在更復(fù)雜的分類任務(wù)中同樣可以對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行有效裁剪,在對(duì)分類準(zhǔn)確率沒有較大影響的情況下網(wǎng)絡(luò)模型的參數(shù)量與FLOPS都得到明顯減少,但當(dāng)網(wǎng)絡(luò)模型的剪枝率較小時(shí),其分類準(zhǔn)確率反而得到了提升。與PF算法相比,本文算法在3個(gè)網(wǎng)絡(luò)模型上均更具優(yōu)勢(shì),說(shuō)明其在更復(fù)雜的分類任務(wù)中也具有更好的剪枝性能。同時(shí),對(duì)比網(wǎng)絡(luò)模型在兩個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,可以看出深度神經(jīng)網(wǎng)絡(luò)模型在Cifar100數(shù)據(jù)集上剪枝后的分類準(zhǔn)確率減少比例更大,說(shuō)明其對(duì)于不同復(fù)雜度的分類任務(wù)而言具有不同的冗余度,具體表現(xiàn)為在越復(fù)雜的分類任務(wù)中網(wǎng)絡(luò)結(jié)構(gòu)的冗余度越低。

      表2 兩種硬剪枝算法在Cifar100數(shù)據(jù)集上的對(duì)比結(jié)果Table 2 Comparison results of two hard pruning algorithms on Cifar100 dataset

      3.4.3 不同剪枝率時(shí)的實(shí)驗(yàn)結(jié)果

      根據(jù)上述深度神經(jīng)網(wǎng)絡(luò)模型實(shí)驗(yàn)結(jié)果可以看出,剪枝率會(huì)對(duì)網(wǎng)絡(luò)模型裁剪效果產(chǎn)生影響。為對(duì)此影響進(jìn)行分析,以ResNet20網(wǎng)絡(luò)為例對(duì)不同剪枝率下的網(wǎng)絡(luò)模型剪枝效果進(jìn)行統(tǒng)計(jì),具體結(jié)果如圖2所示。由于不同網(wǎng)絡(luò)存在不同的冗余度,對(duì)于ResNet20而言,當(dāng)剪枝率為10%和30%時(shí),有助于提升深度神經(jīng)網(wǎng)絡(luò)剪枝性能,當(dāng)剪枝率大于40%時(shí),剪枝性能會(huì)下降比較快。由此可以看出,合適的網(wǎng)絡(luò)模型剪枝率不僅不會(huì)損耗模型性能,而且還有助于提升網(wǎng)絡(luò)性能,然而如果網(wǎng)絡(luò)模型剪枝率設(shè)置過(guò)大,雖然網(wǎng)絡(luò)結(jié)構(gòu)變得緊湊,但是網(wǎng)絡(luò)性能會(huì)受到較大影響,具體表現(xiàn)為網(wǎng)絡(luò)模型分類準(zhǔn)確率大幅降低,因此如何平衡剪枝算法的剪枝率與剪枝后模型的實(shí)現(xiàn)效果,對(duì)于深度神經(jīng)網(wǎng)絡(luò)剪枝算法而言十分重要。

      圖2 不同剪枝率下的DNN模型剪枝效果Fig.2 Pruning effect of DNN model under different pruning rates

      4 結(jié)束語(yǔ)

      本文提出一種基于深度神經(jīng)網(wǎng)絡(luò)二階信息的結(jié)構(gòu)化剪枝算法,利用冪迭代法得到經(jīng)過(guò)預(yù)訓(xùn)練的網(wǎng)絡(luò)模型參數(shù)Hessian矩陣的主特征向量,然后依據(jù)此向量衡量網(wǎng)絡(luò)通道的重要性并進(jìn)行通道剪枝。實(shí)驗(yàn)結(jié)果表明,該算法可在對(duì)原網(wǎng)絡(luò)分類準(zhǔn)確率影響較小的情況下實(shí)現(xiàn)網(wǎng)絡(luò)參數(shù)量和FLOPS的有效裁剪。但由于本文算法目前僅在Cifar數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),后續(xù)可嘗試使用更復(fù)雜的數(shù)據(jù)集,同時(shí)考慮與其他網(wǎng)絡(luò)壓縮方法進(jìn)行融合,進(jìn)一步提高深度神經(jīng)網(wǎng)絡(luò)模型的壓縮效率。

      猜你喜歡
      剪枝特征向量二階
      二年制職教本科線性代數(shù)課程的幾何化教學(xué)設(shè)計(jì)——以特征值和特征向量為例
      人到晚年宜“剪枝”
      克羅內(nèi)克積的特征向量
      基于YOLOv4-Tiny模型剪枝算法
      一類二階迭代泛函微分方程的周期解
      一類二階中立隨機(jī)偏微分方程的吸引集和擬不變集
      二階線性微分方程的解法
      一類特殊矩陣特征向量的求法
      一類二階中立隨機(jī)偏微分方程的吸引集和擬不變集
      EXCEL表格計(jì)算判斷矩陣近似特征向量在AHP法檢驗(yàn)上的應(yīng)用
      博客| 洛南县| 琼海市| 于田县| 波密县| 厦门市| 荆门市| 沧源| 右玉县| 宝清县| 科技| 长子县| 英山县| 阿拉善盟| 始兴县| 六盘水市| 历史| 邵武市| 鲜城| 五家渠市| 綦江县| 古丈县| 石渠县| 大姚县| 军事| 淮阳县| 夏津县| 昌乐县| 阳西县| 新郑市| 老河口市| 荆门市| 日喀则市| 怀仁县| 芦溪县| 重庆市| 德保县| 方城县| 蒙城县| 宁海县| 景谷|