龔賽君 曹紅 董志誠



摘要:隨著深度神經網絡在人工智能領域的廣泛應用,其模型參數也越來越龐大,神經網絡剪枝就是用于在資源有限設備上部署深度神經網絡。結合神經網絡通道級編碼和自動剪枝的概念,提出了一種基于遺傳算法的通道搜索模型。其主要思想是通過小波分解計算剪枝網絡與原始網絡特征映射的相似性,以相似度為適應度函數進行通道的搜索。在實驗中,選擇ResNet系列網絡在ImageNet數據集上的剪枝性能進行評估,與現有的神經網絡剪枝算法相比,該模型不僅具有更高的剪枝率,而且具有更好的精度。
關鍵詞:神經網絡剪枝;遺傳算法;特征映射;相似度;小波分解
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)11-0004-03
1 概述
神經網絡剪枝被廣泛用于降低深度卷積神經網絡在資源有限設備中的計算成本。人們提出了許多方法來壓縮大型神經網絡,方法是根據不同的評估標準對不重要的通道進行剪枝。然而,大多數這些需要提前手動設置剪枝率[1,7]。為了克服這些問題,近年來,使用神經結構搜索方法[2,6]自動剪枝神經網絡成為一個非常活躍的研究課題。
基于神經結構搜索的網絡修剪[6]的典型方法是通過搜索預訓練的大型網絡的潛在子網絡,微調剪枝后的神經網絡得到最終模型。在搜索過程中,基于神經結構搜索的算法只關注每層網絡的最佳大小,而忽略了特定通道的重要性。在隨機選擇中,真正有價值的通道可能會被刪除,導致剪枝網絡的準確性降低。為了克服這一問題,提出了一種基于遺傳算法和神經結構搜索的剪枝方法[3,8],該方法編碼并選擇預先訓練的大型模型的重要通道以生成較小的網絡,同時保持較好的準確性。
此外,為了評估剪枝后的神經網絡的性能,大多數基于神經結構搜索的算法通常會重新訓練剪枝后的網絡,以獲得指導搜索過程的準確性[4]。為了提高搜索效率,提出了一種小波特征提取方法,直接計算原始大網絡和剪枝后的網絡在適應度函數上的相似度。基于小波變換特征映射,可以生成不同大小通道輸出特征圖的相似性度量,以便提取包含高頻和低頻的特征,指導剪枝過程,以找到最具代表性和鑒別能力的通道。
結合上述分析,筆者提出一種基于遺傳搜索的卷積神經網絡結構化剪枝模型,該模型可以在通道級自動剪枝網絡。實驗中,筆者在ImageNet數據集上評估了針對ResNet系列網絡對通道剪枝算法的有效性。與現有的網絡剪枝算法相比,在最大剪枝率的情況下,該算法的剪枝精度得到了顯著提高。
圖1為基于遺傳搜索的卷積神經網絡結構化剪枝模型概述。沒有剪枝的神經網絡是原始網絡。圖中的圓圈表示卷積神經網絡的通道。在迭代搜索過程中,通過遺傳算法的迭代獲得剪枝網絡模型的編碼。最后利用從原始網絡中提取的知識,對具有最佳編碼的剪枝網絡進行微調。
2 剪枝算法詳解
2.1 搜索架構概述
在這項工作中,目標是減少原始網絡中的通道數量,在保證準確性的情況下得到剪枝后的網絡。提出的基于遺傳搜索的卷積神經網絡結構化剪枝模型包含三個步驟,如圖1所示:1) 訓練需要剪枝的大型神經網絡(原網絡) ;2) 使用該模型剪枝原始網絡各層的通道;3) 知識蒸餾剪枝后的網絡以提高精度。在整個搜索過程中,最重要的部分是如何準確地選擇最具代表性的通道到剪枝后的網絡中。
2.2 遺傳算法搜索
根據遺傳算法的傳統迭代方法,原始網絡X可以根據通道數編碼為cn。最后的剪枝網絡O通過從cn中搜索獲得。
其中ci是種群中的第i個個體。該模型中的種群個體是剪枝網絡的通道編碼,可在公式(2) 中定義:
其中C是種群,0表示已被裁剪的通道,1表示沒被裁剪的通道。顯然,優化選擇數千個通道并非小事,在這項工作中,提出了一種新的策略,將遺傳算法的適應度函數改成原網絡和種群中個體表示的剪枝網絡特征圖之間的相似度,這樣加快了整個算法的搜索過程。
首先,隨機初始化種群[c],[n]表示種群中的個體數,[c1]表示的剪枝網絡和X共享相同權值。然后,根據X特征圖的下采樣大小將神經網絡搜索過程劃分為st階段,例如,整個X網絡可以分割為圖1中的[4x,8x,16x,32x]。種群個體根據[p1](參考公式(6)) 進行排序,其由Fi和fi之間的相似性計算。然后,可以通過交叉、變異選擇生成進入下一次迭代的新種群(參考公式(3)) 。
2.3 適應度選擇
在模型中設計了合適的適應度函數,通過小波變換計算剪枝網絡與原始網絡特征映射的相似性。提取的小波變換特征包含高頻和低頻,指導剪枝過程,找到最具代表性和鑒別能力的通道。
在公式(4) 中,F★是小波分解后的特征F,α是控制小波函數拉伸的尺度,τ是控制小波函數的平移,融合公式如式(5) 所示,由F★得到F’。由于不同的頻率分量可能包含更豐富的信息[5],因此F★中的頻率的高頻[hf]和低頻[lf]會融合,獲得F'以增強相似性度量。
使用Haar小波函數對特征映射進行變換和聚合,它簡單有效。如圖1所示,原始網絡和剪枝網絡中不同大小的特征映射在小波域進行變換,然后使用公式(5) 對這些包含高頻和低頻的小波特征進行融合。最后用公式(6) 計算相似度[p]。
3? 實驗和結果展示
實驗中,在ResNet系列網絡上使用ImageNet數據集。在梯度下降算法中,初始學習率定義為0.1,在訓練過程中,學習率逐漸降低,在知識蒸餾中設置了大約25個迭代次數。
ResNet:在ImageNet數據集上,對原始ResNet 50進行150次的訓練,批處理大小為256;對原始ResNet 101進行200次的訓練,批處理大小為128。提出的模型和測試模型在雙NVIDIA GTX1080ti上用Pytorch實現和測試。
3.1 對比方法
FPGM[9]:提出了一種基于幾何中值的濾波器剪枝算法(FPGM) 。FPGM刪除冗余過濾器,而不是相對不重要的過濾器。但是,此方法需要手動設置剪枝率。
TAS[13]:提出了一個可轉換的架構搜索(TAS) 模型,通過通道概率分布和知識轉移剪枝網絡。主要方法與筆者的方法類似,但TAS旨在搜索剪枝后網絡的最佳大小。
HRank[11]:發現CNN的一個規則:即使每次輸入的圖像不同,特征圖的同一部分總是有一個較大的秩,表明它們在網絡中非常重要,因此可以根據秩的統計信息修剪網絡。
JST[12]:通過同時進行訓練和剪枝實現自動搜索算法,在保持競爭性分類精度的同時,節省了自動剪枝算法中原始網絡的預訓練時間。
SFP[10]:提出了一種軟濾波剪枝(SFP) 方法,即在訓練網絡的同時進行剪枝。每訓練完一輪就計算相應通道的L2范數,按照L2范數排序后,排名較低的通道根據剪枝率設置為零,但不會直接刪除,也會參與下一輪計算。
SRR-GR[14]:在冗余度較高的層中剪枝過濾器的性能優于在所有層中剪枝最不重要的過濾器的性能。為了測量網絡中的結構冗余度,該方法為每個層建立一個無向圖,其中每個頂點表示一個過濾器,邊由過濾器權重之間的距離定義。
3.2 實驗結果
如表1所示。與經過測試的幾種最先進的剪枝模型相比,筆者提出的模型不僅實現了更高的修剪率,而且具有更好的準確性。例如,筆者的模型將ResNet-50剪枝59.1%,剪枝后的網絡達到76.34%的精確度,在精確度方面比TAS高0.14%,同時減少了近15.6%的參數量。
4 結論
在本文中,筆者提出了一種新的基于遺傳搜索的卷積神經網絡結構化剪枝模型,該模型在通道級別對網絡進行剪枝。其主要思想是利用遺傳算法在通道級對整個體系結構進行修剪。在適應度函數中,應用小波變換融合包含高頻和低頻的通道特征映射來指導剪枝過程。在實驗中,選擇ResNet系列網絡對ImageNet數據集的剪枝性能進行評估。結果表明,與現有的神經網絡剪枝算法相比,該模型具有更高的剪枝率和更高的精度。在未來,可以考慮將模型應用到其他剪枝任務中,例如物體檢測或圖像分割,以進一步評估壓縮結果。
參考文獻:
[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] 包振山,秘博聞,張文博.基于人工經驗網絡架構為初始化的NAS算法[J].北京工業大學學報,2021,47(8):854-862.
[7]房志遠,石守東,鄭佳罄,胡加鈿.一種融合弱層懲罰的卷積神經網絡模型剪枝方法[J/OL].計算機工程:1-8[2021-08-16].https://doi.org/10.19678/j.issn.1000-3428.0061461.
[8] 赫彥文,劉紫陽,李建義,等.基于遺傳算法的測試用例自動生成方法綜述[J].廊坊師范學院學報(自然科學版),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
基金項目:國家自然科學基金(61561046) ;中央支持地方改革發展項目(項目編號:XZ201901-GB-16) ;西藏大學2021年中央財政支持地方高校改革發展專項資金項目申報書(一流學科培育項目) ;中央財政支持西藏大學2020年改革發展地方高校;中央財政支持西藏大學2019年改革發展地方高校
作者簡介:龔賽君(1997—) ,女,湖南株洲人,碩士,主要研究方向為模型壓縮;曹紅(1997—) ,女, 四川成都人,碩士,主要研究方向為計算機視覺;通信作者:董志誠(1982—) ,男,四川閬中人,博士,主要研究方向為通訊與信號處理。