龔賽君 曹紅 董志誠
摘要:隨著深度神經(jīng)網(wǎng)絡(luò)在人工智能領(lǐng)域的廣泛應(yīng)用,其模型參數(shù)也越來越龐大,神經(jīng)網(wǎng)絡(luò)剪枝就是用于在資源有限設(shè)備上部署深度神經(jīng)網(wǎng)絡(luò)。結(jié)合神經(jīng)網(wǎng)絡(luò)通道級編碼和自動剪枝的概念,提出了一種基于遺傳算法的通道搜索模型。其主要思想是通過小波分解計算剪枝網(wǎng)絡(luò)與原始網(wǎng)絡(luò)特征映射的相似性,以相似度為適應(yīng)度函數(shù)進(jìn)行通道的搜索。在實(shí)驗(yàn)中,選擇ResNet系列網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集上的剪枝性能進(jìn)行評估,與現(xiàn)有的神經(jīng)網(wǎng)絡(luò)剪枝算法相比,該模型不僅具有更高的剪枝率,而且具有更好的精度。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò)剪枝;遺傳算法;特征映射;相似度;小波分解
中圖分類號:TP391? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)11-0004-03
1 概述
神經(jīng)網(wǎng)絡(luò)剪枝被廣泛用于降低深度卷積神經(jīng)網(wǎng)絡(luò)在資源有限設(shè)備中的計算成本。人們提出了許多方法來壓縮大型神經(jīng)網(wǎng)絡(luò),方法是根據(jù)不同的評估標(biāo)準(zhǔn)對不重要的通道進(jìn)行剪枝。然而,大多數(shù)這些需要提前手動設(shè)置剪枝率[1,7]。為了克服這些問題,近年來,使用神經(jīng)結(jié)構(gòu)搜索方法[2,6]自動剪枝神經(jīng)網(wǎng)絡(luò)成為一個非?;钴S的研究課題。
基于神經(jīng)結(jié)構(gòu)搜索的網(wǎng)絡(luò)修剪[6]的典型方法是通過搜索預(yù)訓(xùn)練的大型網(wǎng)絡(luò)的潛在子網(wǎng)絡(luò),微調(diào)剪枝后的神經(jīng)網(wǎng)絡(luò)得到最終模型。在搜索過程中,基于神經(jīng)結(jié)構(gòu)搜索的算法只關(guān)注每層網(wǎng)絡(luò)的最佳大小,而忽略了特定通道的重要性。在隨機(jī)選擇中,真正有價值的通道可能會被刪除,導(dǎo)致剪枝網(wǎng)絡(luò)的準(zhǔn)確性降低。為了克服這一問題,提出了一種基于遺傳算法和神經(jīng)結(jié)構(gòu)搜索的剪枝方法[3,8],該方法編碼并選擇預(yù)先訓(xùn)練的大型模型的重要通道以生成較小的網(wǎng)絡(luò),同時保持較好的準(zhǔn)確性。
此外,為了評估剪枝后的神經(jīng)網(wǎng)絡(luò)的性能,大多數(shù)基于神經(jīng)結(jié)構(gòu)搜索的算法通常會重新訓(xùn)練剪枝后的網(wǎng)絡(luò),以獲得指導(dǎo)搜索過程的準(zhǔn)確性[4]。為了提高搜索效率,提出了一種小波特征提取方法,直接計算原始大網(wǎng)絡(luò)和剪枝后的網(wǎng)絡(luò)在適應(yīng)度函數(shù)上的相似度?;谛〔ㄗ儞Q特征映射,可以生成不同大小通道輸出特征圖的相似性度量,以便提取包含高頻和低頻的特征,指導(dǎo)剪枝過程,以找到最具代表性和鑒別能力的通道。
結(jié)合上述分析,筆者提出一種基于遺傳搜索的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)化剪枝模型,該模型可以在通道級自動剪枝網(wǎng)絡(luò)。實(shí)驗(yàn)中,筆者在ImageNet數(shù)據(jù)集上評估了針對ResNet系列網(wǎng)絡(luò)對通道剪枝算法的有效性。與現(xiàn)有的網(wǎng)絡(luò)剪枝算法相比,在最大剪枝率的情況下,該算法的剪枝精度得到了顯著提高。
圖1為基于遺傳搜索的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)化剪枝模型概述。沒有剪枝的神經(jīng)網(wǎng)絡(luò)是原始網(wǎng)絡(luò)。圖中的圓圈表示卷積神經(jīng)網(wǎng)絡(luò)的通道。在迭代搜索過程中,通過遺傳算法的迭代獲得剪枝網(wǎng)絡(luò)模型的編碼。最后利用從原始網(wǎng)絡(luò)中提取的知識,對具有最佳編碼的剪枝網(wǎng)絡(luò)進(jìn)行微調(diào)。
2 剪枝算法詳解
2.1 搜索架構(gòu)概述
在這項(xiàng)工作中,目標(biāo)是減少原始網(wǎng)絡(luò)中的通道數(shù)量,在保證準(zhǔn)確性的情況下得到剪枝后的網(wǎng)絡(luò)。提出的基于遺傳搜索的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)化剪枝模型包含三個步驟,如圖1所示:1) 訓(xùn)練需要剪枝的大型神經(jīng)網(wǎng)絡(luò)(原網(wǎng)絡(luò)) ;2) 使用該模型剪枝原始網(wǎng)絡(luò)各層的通道;3) 知識蒸餾剪枝后的網(wǎng)絡(luò)以提高精度。在整個搜索過程中,最重要的部分是如何準(zhǔn)確地選擇最具代表性的通道到剪枝后的網(wǎng)絡(luò)中。
2.2 遺傳算法搜索
根據(jù)遺傳算法的傳統(tǒng)迭代方法,原始網(wǎng)絡(luò)X可以根據(jù)通道數(shù)編碼為cn。最后的剪枝網(wǎng)絡(luò)O通過從cn中搜索獲得。
其中ci是種群中的第i個個體。該模型中的種群個體是剪枝網(wǎng)絡(luò)的通道編碼,可在公式(2) 中定義:
其中C是種群,0表示已被裁剪的通道,1表示沒被裁剪的通道。顯然,優(yōu)化選擇數(shù)千個通道并非小事,在這項(xiàng)工作中,提出了一種新的策略,將遺傳算法的適應(yīng)度函數(shù)改成原網(wǎng)絡(luò)和種群中個體表示的剪枝網(wǎng)絡(luò)特征圖之間的相似度,這樣加快了整個算法的搜索過程。
首先,隨機(jī)初始化種群[c],[n]表示種群中的個體數(shù),[c1]表示的剪枝網(wǎng)絡(luò)和X共享相同權(quán)值。然后,根據(jù)X特征圖的下采樣大小將神經(jīng)網(wǎng)絡(luò)搜索過程劃分為st階段,例如,整個X網(wǎng)絡(luò)可以分割為圖1中的[4x,8x,16x,32x]。種群個體根據(jù)[p1](參考公式(6)) 進(jìn)行排序,其由Fi和fi之間的相似性計算。然后,可以通過交叉、變異選擇生成進(jìn)入下一次迭代的新種群(參考公式(3)) 。
2.3 適應(yīng)度選擇
在模型中設(shè)計了合適的適應(yīng)度函數(shù),通過小波變換計算剪枝網(wǎng)絡(luò)與原始網(wǎng)絡(luò)特征映射的相似性。提取的小波變換特征包含高頻和低頻,指導(dǎo)剪枝過程,找到最具代表性和鑒別能力的通道。
在公式(4) 中,F(xiàn)★是小波分解后的特征F,α是控制小波函數(shù)拉伸的尺度,τ是控制小波函數(shù)的平移,融合公式如式(5) 所示,由F★得到F’。由于不同的頻率分量可能包含更豐富的信息[5],因此F★中的頻率的高頻[hf]和低頻[lf]會融合,獲得F'以增強(qiáng)相似性度量。
使用Haar小波函數(shù)對特征映射進(jìn)行變換和聚合,它簡單有效。如圖1所示,原始網(wǎng)絡(luò)和剪枝網(wǎng)絡(luò)中不同大小的特征映射在小波域進(jìn)行變換,然后使用公式(5) 對這些包含高頻和低頻的小波特征進(jìn)行融合。最后用公式(6) 計算相似度[p]。
3? 實(shí)驗(yàn)和結(jié)果展示
實(shí)驗(yàn)中,在ResNet系列網(wǎng)絡(luò)上使用ImageNet數(shù)據(jù)集。在梯度下降算法中,初始學(xué)習(xí)率定義為0.1,在訓(xùn)練過程中,學(xué)習(xí)率逐漸降低,在知識蒸餾中設(shè)置了大約25個迭代次數(shù)。
ResNet:在ImageNet數(shù)據(jù)集上,對原始ResNet 50進(jìn)行150次的訓(xùn)練,批處理大小為256;對原始ResNet 101進(jìn)行200次的訓(xùn)練,批處理大小為128。提出的模型和測試模型在雙NVIDIA GTX1080ti上用Pytorch實(shí)現(xiàn)和測試。
3.1 對比方法
FPGM[9]:提出了一種基于幾何中值的濾波器剪枝算法(FPGM) 。FPGM刪除冗余過濾器,而不是相對不重要的過濾器。但是,此方法需要手動設(shè)置剪枝率。
TAS[13]:提出了一個可轉(zhuǎn)換的架構(gòu)搜索(TAS) 模型,通過通道概率分布和知識轉(zhuǎn)移剪枝網(wǎng)絡(luò)。主要方法與筆者的方法類似,但TAS旨在搜索剪枝后網(wǎng)絡(luò)的最佳大小。
HRank[11]:發(fā)現(xiàn)CNN的一個規(guī)則:即使每次輸入的圖像不同,特征圖的同一部分總是有一個較大的秩,表明它們在網(wǎng)絡(luò)中非常重要,因此可以根據(jù)秩的統(tǒng)計信息修剪網(wǎng)絡(luò)。
JST[12]:通過同時進(jìn)行訓(xùn)練和剪枝實(shí)現(xiàn)自動搜索算法,在保持競爭性分類精度的同時,節(jié)省了自動剪枝算法中原始網(wǎng)絡(luò)的預(yù)訓(xùn)練時間。
SFP[10]:提出了一種軟濾波剪枝(SFP) 方法,即在訓(xùn)練網(wǎng)絡(luò)的同時進(jìn)行剪枝。每訓(xùn)練完一輪就計算相應(yīng)通道的L2范數(shù),按照L2范數(shù)排序后,排名較低的通道根據(jù)剪枝率設(shè)置為零,但不會直接刪除,也會參與下一輪計算。
SRR-GR[14]:在冗余度較高的層中剪枝過濾器的性能優(yōu)于在所有層中剪枝最不重要的過濾器的性能。為了測量網(wǎng)絡(luò)中的結(jié)構(gòu)冗余度,該方法為每個層建立一個無向圖,其中每個頂點(diǎn)表示一個過濾器,邊由過濾器權(quán)重之間的距離定義。
3.2 實(shí)驗(yàn)結(jié)果
如表1所示。與經(jīng)過測試的幾種最先進(jìn)的剪枝模型相比,筆者提出的模型不僅實(shí)現(xiàn)了更高的修剪率,而且具有更好的準(zhǔn)確性。例如,筆者的模型將ResNet-50剪枝59.1%,剪枝后的網(wǎng)絡(luò)達(dá)到76.34%的精確度,在精確度方面比TAS高0.14%,同時減少了近15.6%的參數(shù)量。
4 結(jié)論
在本文中,筆者提出了一種新的基于遺傳搜索的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)化剪枝模型,該模型在通道級別對網(wǎng)絡(luò)進(jìn)行剪枝。其主要思想是利用遺傳算法在通道級對整個體系結(jié)構(gòu)進(jìn)行修剪。在適應(yīng)度函數(shù)中,應(yīng)用小波變換融合包含高頻和低頻的通道特征映射來指導(dǎo)剪枝過程。在實(shí)驗(yàn)中,選擇ResNet系列網(wǎng)絡(luò)對ImageNet數(shù)據(jù)集的剪枝性能進(jìn)行評估。結(jié)果表明,與現(xiàn)有的神經(jīng)網(wǎng)絡(luò)剪枝算法相比,該模型具有更高的剪枝率和更高的精度。在未來,可以考慮將模型應(yīng)用到其他剪枝任務(wù)中,例如物體檢測或圖像分割,以進(jìn)一步評估壓縮結(jié)果。
參考文獻(xiàn):
[1] SunY,Wang X G,Tang X O.Sparsifying neural network connections for face recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition.June27-30,2016,Las Vegas,NV,USA.IEEE,2016:4856-4864.
[2] Elsken T,Metzen J H,Hutter F.Efficient multi-objective neural architecture search via Lamarckian evolution[C]// 2019 ICLR.
[3] Holland J B ,? Holland J , Holland J H , et al. Adaption in Natural and Artificial Systems[C], 1975 Ann Arbor, 6(2):126–137.
[4] Yang T J,Howard A,Chen B,et al.NetAdapt:platform-aware neural network adaptation for mobile applications[C]//Computer Vision – ECCV 2018,2018:289-304.
[5] Qin Z Q,Zhang P Y,Wu F,et al.FcaNet:frequency channel attention networks[C]//2021IEEE/CVFInternationalConferenceonComputerVision (ICCV).October10-17,2021,Montreal,QC,Canada.IEEE,2021:763-772.
[6] 包振山,秘博聞,張文博.基于人工經(jīng)驗(yàn)網(wǎng)絡(luò)架構(gòu)為初始化的NAS算法[J].北京工業(yè)大學(xué)學(xué)報,2021,47(8):854-862.
[7]房志遠(yuǎn),石守東,鄭佳罄,胡加鈿.一種融合弱層懲罰的卷積神經(jīng)網(wǎng)絡(luò)模型剪枝方法[J/OL].計算機(jī)工程:1-8[2021-08-16].https://doi.org/10.19678/j.issn.1000-3428.0061461.
[8] 赫彥文,劉紫陽,李建義,等.基于遺傳算法的測試用例自動生成方法綜述[J].廊坊師范學(xué)院學(xué)報(自然科學(xué)版),2020,20(4):16-20.
[9] He Y,Liu P,Wang Z W,etal.Filter pruning via geometric Median for deep convolutional neural networks acceleration[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).June15-20,2019,LongBeach,CA,USA.IEEE,2019:4335-4344.
[10] He Y,Kang G L,Dong X Y,etal.Soft filter pruning for accelerating deep convolutional neural networks[C]//Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence.July13-19,2018.Stockholm,Sweden.California:InternationalJoint Conferences on Artificial Intelligence Organization,2018:2234–2240.
[11] Lin M B,Ji R R,Wang Y,etal.HRank:filter pruning using high-rank feature map[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).June13-19,2020,Seattle,WA,USA.IEEE,2020:1526-1535.
[12] Lu X T,Huang H,Dong W S,etal.Beyond network pruning:a joint search-and-training approach[C]//Proceedingsof the Twenty-Ninth International Joint Conference on Artificial Intelligence.July11-17,2020.Yokohama,Japan.California:International Joint Conferences on Artificial Intelligence Organization,2020.
[13] Dong X Y,Yang Y.Network pruning via transformable architecture search[J].arXiv e-prints ,2019, arXiv–1905.
[14] Wang Z,Li C C,Wang X Y.Convolutional neural network pruning with structural redundancy reduction[C]//2021IEEE/CVFConferenceonComputer Vision and Pattern Recognition (CVPR).June20-25,2021,Nashville,TN,USA.IEEE,2021:14908-14917.
收稿日期:2021-12-20
基金項(xiàng)目:國家自然科學(xué)基金(61561046) ;中央支持地方改革發(fā)展項(xiàng)目(項(xiàng)目編號:XZ201901-GB-16) ;西藏大學(xué)2021年中央財政支持地方高校改革發(fā)展專項(xiàng)資金項(xiàng)目申報書(一流學(xué)科培育項(xiàng)目) ;中央財政支持西藏大學(xué)2020年改革發(fā)展地方高校;中央財政支持西藏大學(xué)2019年改革發(fā)展地方高校
作者簡介:龔賽君(1997—) ,女,湖南株洲人,碩士,主要研究方向?yàn)槟P蛪嚎s;曹紅(1997—) ,女, 四川成都人,碩士,主要研究方向?yàn)橛嬎銠C(jī)視覺;通信作者:董志誠(1982—) ,男,四川閬中人,博士,主要研究方向?yàn)橥ㄓ嵟c信號處理。