葉漢民,李志波,程小輝,陶小梅
(1.桂林理工大學(xué) 信息科學(xué)與工程學(xué)院,廣西 桂林 541006;2.桂林理工大學(xué) 廣西嵌入式技術(shù)與 智能系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004;3.廣西師范大學(xué) 廣西多源信息挖掘與 安全重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004)
深度卷積神經(jīng)網(wǎng)絡(luò)因提取目標(biāo)深度特征、泛化能力強(qiáng)等優(yōu)勢在圖像識別[1]、語音處理[2]、物聯(lián)網(wǎng)[3]等應(yīng)用領(lǐng)域[4]展現(xiàn)出巨大潛能。由于深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用存在計(jì)算和存儲(chǔ)復(fù)雜度的條件約束,制約了深度神經(jīng)網(wǎng)絡(luò)模型在資源受限應(yīng)用場景中的使用及推廣,因此深度神經(jīng)網(wǎng)絡(luò)如何在保證準(zhǔn)確率的前提下實(shí)現(xiàn)網(wǎng)絡(luò)的精簡成為亟待解決的關(guān)鍵問題。
網(wǎng)絡(luò)剪枝[5-7]作為網(wǎng)絡(luò)壓縮方法中減小內(nèi)存的關(guān)鍵技術(shù)之一,通過模型壓縮加速推理運(yùn)算,有效減小模型內(nèi)部參數(shù)存儲(chǔ)空間。為加快網(wǎng)絡(luò)訓(xùn)練進(jìn)度,多項(xiàng)研究工作集中于對隨機(jī)初始化模型進(jìn)行策略剪枝:Lee等[8]根據(jù)小批次樣本結(jié)果評估不同權(quán)重連接必要性,依據(jù)預(yù)期剪枝目標(biāo)創(chuàng)建相應(yīng)的剪枝模板,縮短迭代微調(diào)周期時(shí)導(dǎo)致網(wǎng)絡(luò)出現(xiàn)退化問題。Wang等[9]通過保留梯度信號方法解決網(wǎng)絡(luò)崩塌及過早剪枝導(dǎo)致網(wǎng)絡(luò)不可訓(xùn)練等問題,在初始化神經(jīng)網(wǎng)絡(luò)中進(jìn)行修剪,避免代價(jià)較大的訓(xùn)練過程。在基于注意力機(jī)制對深度神經(jīng)網(wǎng)絡(luò)模型壓縮研究中,引入注意力模塊衡量神經(jīng)網(wǎng)絡(luò)層中濾波器對應(yīng)輸出通道權(quán)重大小,動(dòng)態(tài)調(diào)整網(wǎng)絡(luò)模型參數(shù)以學(xué)習(xí)網(wǎng)絡(luò)通道重要性程度實(shí)現(xiàn)網(wǎng)絡(luò)剪枝[10];通過分組注意力模塊[11]有效衡量網(wǎng)絡(luò)模型中卷積核的重要程度,篩選層與層間重要卷積核完成剪枝目標(biāo);文獻(xiàn)[12]提出卷積層與BN(batch-normalization)層雙層網(wǎng)絡(luò)參數(shù)信息有機(jī)結(jié)合的動(dòng)態(tài)剪枝策略,通過結(jié)合注意力模塊和BN層縮放系數(shù)動(dòng)態(tài)剔除冗余卷積核實(shí)現(xiàn)網(wǎng)絡(luò)優(yōu)化,但忽略局部卷積核對模型整體的重要性。
基于以上研究,本文提出了基于通道和空間注意力機(jī)制的網(wǎng)絡(luò)剪枝稀疏化訓(xùn)練方法,該方法通過融合通道和空間注意力提取關(guān)鍵特征信息,同時(shí)引入二值隨機(jī)變量轉(zhuǎn)化為權(quán)重及概率空間損失最小化問題,迭代更新掩碼矩陣和網(wǎng)絡(luò)權(quán)重矩陣實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)的修剪。在精度損失較小的條件下使得網(wǎng)絡(luò)計(jì)算及存儲(chǔ)資源達(dá)到最小化,使得精簡網(wǎng)絡(luò)模型在計(jì)算及存儲(chǔ)能力弱的嵌入式設(shè)備運(yùn)行。
深度神經(jīng)網(wǎng)絡(luò)的剪枝策略基于神經(jīng)網(wǎng)絡(luò)中存在眾多冗余參數(shù)的前提,從理論層面來講,通過一個(gè)參數(shù)簡約的模型來達(dá)到與原網(wǎng)絡(luò)類似或等效的網(wǎng)絡(luò)性能,使得模型存儲(chǔ)及計(jì)算資源最小化,滿足移植部署及不同場景應(yīng)用需求。在指定數(shù)據(jù)集Data和稀疏度k等條件下,深度神經(jīng)網(wǎng)絡(luò)剪枝可以轉(zhuǎn)化為如下的約束優(yōu)化問題
(1)
(2)
假設(shè)神經(jīng)網(wǎng)絡(luò)初始化隨機(jī)掩碼矩陣M′、 初始化權(quán)重矩陣W′時(shí),通過迭代訓(xùn)練樣本中數(shù)據(jù)中來學(xué)習(xí)網(wǎng)絡(luò)的權(quán)重矩陣W
M′*W′=W
(3)
式中:W′為初始化網(wǎng)絡(luò)權(quán)重參數(shù),M′為該網(wǎng)絡(luò)初始掩碼矩陣。當(dāng)Mi,j=1時(shí),表示其對應(yīng)網(wǎng)絡(luò)中權(quán)重參數(shù)沒有被剔除,反之則進(jìn)行了剪枝操作。由于在網(wǎng)絡(luò)初始化給定的隨機(jī)掩碼具有隨機(jī)性,需要不斷衡量其對目標(biāo)函數(shù)的影響來確定剔除與否,故權(quán)重矩陣W需要不斷更新來獲得網(wǎng)絡(luò)最佳模型。
由于掩碼m∈{0,1} 最終收斂在[0,1]范圍之內(nèi),單個(gè)掩碼的取值可以視為二元隨機(jī)變量,將掩碼選取問題轉(zhuǎn)化為權(quán)重及概率空間損失最小化問題。通過對由0或1組成的掩碼矩陣及其相關(guān)的權(quán)重矩陣進(jìn)行選擇性剪枝操作,進(jìn)而評估網(wǎng)絡(luò)模型中層與層間參數(shù)的重要程度,引入掩碼矩陣隨機(jī)變量的選擇將離散問題轉(zhuǎn)化連續(xù)空間問題,最終轉(zhuǎn)化為求網(wǎng)絡(luò)損失最小化問題。我們觀察到掩碼mi最終收斂于0或者1,并且假設(shè)收斂于0的概率為pi, 則收斂于1的概率為1-pi, 其中pi∈{0,1}。 假設(shè)掩碼變量mi的選擇互不影響且相互獨(dú)立,則符合伯努利分布
(4)
(5)
由于隨機(jī)初始化網(wǎng)絡(luò)模型中含有大量冗余參數(shù),根據(jù)上述公式的條件限制,大量的mi以較高概率收斂于0或1,從而使得M矩陣收斂為確定性掩碼矩陣,使得經(jīng)過剪枝訓(xùn)練的掩碼的損失不斷逼近預(yù)期損失。此外,上述損失最小化問題轉(zhuǎn)化為連續(xù)空間中求解不同參數(shù)的概率問題,可作為全局衡量準(zhǔn)則進(jìn)而評估權(quán)重在不同網(wǎng)絡(luò)層的重要程度。在此過程中,網(wǎng)絡(luò)中每層參數(shù)能夠自動(dòng)學(xué)習(xí),避免手動(dòng)設(shè)置網(wǎng)絡(luò)中每一層的剪枝率。
根據(jù)不同剪枝率設(shè)置,神經(jīng)網(wǎng)絡(luò)計(jì)算資源和內(nèi)存消耗都會(huì)有所不同,且當(dāng)剪枝程度逐漸升高時(shí)導(dǎo)致網(wǎng)絡(luò)中計(jì)算開銷持續(xù)下降,使得模型性能出現(xiàn)準(zhǔn)確率下降的情況,因此如何在稀疏度逐步上升時(shí)避免準(zhǔn)確度下降速率過快是關(guān)鍵影響因素。
為避免在稀疏度較大條件下隨機(jī)初始化網(wǎng)絡(luò)中剪枝出現(xiàn)準(zhǔn)確度衰退速率大等網(wǎng)絡(luò)退化問題,通過在網(wǎng)絡(luò)初始化模型中創(chuàng)建掩碼層[13]的方式,初始掩碼設(shè)定為1,根據(jù)目標(biāo)稀疏度權(quán)重閾值動(dòng)態(tài)調(diào)整為0或1(0表示通過通道重要性評估該通道剔除,1表示該通道保留),并在訓(xùn)練過程中從初始稀疏度ki經(jīng)歷n次剪枝動(dòng)態(tài)更新為目標(biāo)稀疏度kd, 通過不斷迭代訓(xùn)練次數(shù)來逐層完成剪枝,實(shí)現(xiàn)密集網(wǎng)絡(luò)平滑轉(zhuǎn)化為稀疏網(wǎng)絡(luò),實(shí)現(xiàn)稀疏度轉(zhuǎn)化流程
(6)
式中:e為當(dāng)前網(wǎng)絡(luò)迭代次數(shù),取值范圍e∈{e0,e1,…,en};kd為目標(biāo)剪枝網(wǎng)絡(luò)稀疏度;ki為模型初始化稀疏度,通常取值為0,kt當(dāng)前時(shí)刻網(wǎng)絡(luò)稀疏值;n為稀疏化剪枝次數(shù),Δt為稀疏化剪枝頻率。
本文實(shí)驗(yàn)中選擇隨機(jī)梯度下降作為優(yōu)化算法。為確保網(wǎng)絡(luò)的訓(xùn)練效率,在網(wǎng)絡(luò)架構(gòu)中嵌入了批標(biāo)準(zhǔn)化層。在網(wǎng)絡(luò)剪枝的優(yōu)化過程中,BN層可以有效地計(jì)算各批次樣本數(shù)據(jù)的均值和方差,優(yōu)化模型中的梯度傳播,提高模型訓(xùn)練的收斂性能
(7)
(8)
(9)
為確保上式在梯度傳播過程中的穩(wěn)定性,實(shí)驗(yàn)采用ε進(jìn)行平滑操作,ε取值為le-3。經(jīng)過批標(biāo)準(zhǔn)化處理后的輸出為
(10)
式中:γ,β為神經(jīng)網(wǎng)絡(luò)中的特征圖中學(xué)習(xí)參數(shù)。
本文將結(jié)合通道和空間注意力進(jìn)行稀疏化網(wǎng)絡(luò)剪枝訓(xùn)練。對于卷積網(wǎng)絡(luò)特征圖而言,通道中包含許多神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)到圖片或其它文本序列中需要注意的關(guān)鍵點(diǎn),將更多的注意力分配在關(guān)鍵信息上,通過有效提取和學(xué)習(xí)樣本中關(guān)鍵信息從而使得網(wǎng)絡(luò)做出最佳判斷。除此之外,空間上的注意力[13]也被證明符合人眼感知機(jī)制,根據(jù)任務(wù)分類不同能夠有效提取到相應(yīng)的有效信息,聚集于局部關(guān)鍵點(diǎn),進(jìn)而提高網(wǎng)絡(luò)模型的性能。
為了讓網(wǎng)絡(luò)高效地學(xué)習(xí)到樣本中關(guān)鍵信息,進(jìn)而獲取更加精簡剪枝網(wǎng)絡(luò),采用通道維度和空間維度的注意力模塊模擬人類選擇性注意力機(jī)制,融合于網(wǎng)絡(luò)迭代更新掩碼矩陣進(jìn)行剪枝訓(xùn)練,通過注意力模塊有效地讓網(wǎng)絡(luò)資源集中在與任務(wù)密切相關(guān)的特征學(xué)習(xí)中,利用目標(biāo)函數(shù)反饋于特征圖進(jìn)行權(quán)重更新,實(shí)現(xiàn)網(wǎng)絡(luò)的高效剪枝。該注意力模塊考慮到不同通道像素的重要程度不同,包含的語義信息存在差異,同時(shí)也增加了SE(squeeze-and-excitation)模塊中未考慮到同一通道不同位置像素之間信息差異這一特征,拓展同一通道和不同通道之間的語義差異信息,讓網(wǎng)絡(luò)自適應(yīng)關(guān)注局部重要信息。
其中,通道注意力機(jī)制模塊對經(jīng)過數(shù)據(jù)預(yù)處理特征輸入圖(C×H×W)進(jìn)行以下操作:首先將數(shù)據(jù)預(yù)處理圖片進(jìn)行輸入,進(jìn)行MaxPool(最大池化層)和AvgPool(平均池化層)操作,生成兩個(gè)C×1×1權(quán)重向量,在一定程度上減少模型計(jì)算量;其次,將權(quán)重向量依次送入?yún)?shù)共享的多層神經(jīng)網(wǎng)絡(luò),映射為通道權(quán)重;將權(quán)重相加并經(jīng)過Sigmoid函數(shù)進(jìn)行激活,使得特征輸出圖與未經(jīng)處理的輸入特征圖有機(jī)結(jié)合生成最終通道注意力特征??臻g注意力模塊將通道注意力模塊輸出作為特征輸入圖,分別經(jīng)過Maxpooling(最大池化)和Avgpooling(平均池化)生成H×W×1權(quán)重向量;將上述權(quán)重變量堆疊為H×W×2空間特征權(quán)重,隨后進(jìn)行卷積操作將特征維度轉(zhuǎn)化為H×W×1,該特征圖描述圖中各個(gè)點(diǎn)的重要性程度;最后將得到的空間權(quán)重與未經(jīng)處理特征輸入圖相結(jié)合,得到空間注意力機(jī)制所生成的圖像特征,如圖1所示。
圖1 通道注意力與空間注意力結(jié)合模塊
ResNet32模型架構(gòu)中輸入圖像為32像素×32像素,該網(wǎng)絡(luò)架構(gòu)包含31個(gè)卷積層、1個(gè)全連接層,其基本架構(gòu)如圖2所示。該結(jié)構(gòu)中31個(gè)卷積層漸進(jìn)式學(xué)習(xí)圖片由低層到高層信息特征。當(dāng)指定數(shù)據(jù)集輸入到ResNet32模型中,3×3卷積層首先提取圖片低層次特征,隨后進(jìn)入殘差塊中學(xué)習(xí)圖像高層特征,并通過殘差連接保證一定程度卷積層堆疊的梯度傳遞,最后通過全連接層根據(jù)學(xué)習(xí)到的特征對數(shù)據(jù)集圖像進(jìn)行識別分類。
圖2 本文中ResNet32網(wǎng)絡(luò)架構(gòu)
為了讓網(wǎng)絡(luò)高效地學(xué)習(xí)到樣本中關(guān)鍵信息,使得網(wǎng)絡(luò)更注重局部重要信息,抑制其它信息的干擾,采用通道維度和空間維度的注意力模塊模擬人類選擇性注意力機(jī)制,分別在結(jié)構(gòu)連接處①、②、③、④中進(jìn)行實(shí)驗(yàn)測試,選擇注意力機(jī)制模塊最佳位置結(jié)構(gòu);隨后在此基礎(chǔ)上進(jìn)行稀疏化網(wǎng)絡(luò)剪枝訓(xùn)練,在大量冗余信息中篩選出當(dāng)前任務(wù)中重要信息。通過注意力模塊可以有效地讓網(wǎng)絡(luò)資源集中在與任務(wù)密切相關(guān)的特征學(xué)習(xí)中,利用網(wǎng)絡(luò)輸出結(jié)果反饋于特征圖進(jìn)行權(quán)重更新,實(shí)現(xiàn)資源集中化高效完成任務(wù)。
本文剪枝方法流程有以下步驟:
網(wǎng)絡(luò)輸入:剪枝率k,數(shù)據(jù)集Data,訓(xùn)練周期t,學(xué)習(xí)率α,損失函數(shù)L(.)。
網(wǎng)絡(luò)輸出:精簡網(wǎng)絡(luò)模型w′。
(1)隨機(jī)初始化神經(jīng)網(wǎng)絡(luò)權(quán)重w。
(2)根據(jù)式(3)計(jì)算初始網(wǎng)絡(luò)權(quán)重矩陣W。
(3)通過式(4)計(jì)算當(dāng)前網(wǎng)絡(luò)中掩碼矩陣M分布情況完成剪枝操作。
(4)根據(jù)式(5)、式(6)迭代更新稀疏度,檢驗(yàn)網(wǎng)絡(luò)剪枝空間損失變化情況及動(dòng)態(tài)更新掩碼矩陣M。
(5)迭代更新執(zhí)行(3)、(4)流程,得到穩(wěn)定高效精簡網(wǎng)絡(luò)模型w′。
實(shí)驗(yàn)平臺是Ubuntu 18.04.6 LTS操作系統(tǒng);處理器為:Intel(R)Core(TM)i5-8500CPU@3.00 GH;采用深度學(xué)習(xí)框架PyTorch1.9.0、CUDA11.4、cudnn8.2.2系列編程框架進(jìn)行網(wǎng)絡(luò)剪枝訓(xùn)練;實(shí)驗(yàn)硬件配置GPU:NVIDIA RTX 1080Ti,顯存為11 GB;使用Matlab2018a軟件進(jìn)行剪枝實(shí)驗(yàn)數(shù)據(jù)可視化操作。
本章節(jié)將開展基于通道與空間注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)進(jìn)行稀疏化訓(xùn)練剪枝,首先通過對比實(shí)驗(yàn)選取通道和空間注意力機(jī)制嵌入網(wǎng)絡(luò)架構(gòu)中的最佳位置,隨后在該網(wǎng)絡(luò)架構(gòu)結(jié)合稀疏化剪枝,同時(shí)對比同類剪枝算法及驗(yàn)證該方法的有效性,以便為后續(xù)在存儲(chǔ)計(jì)算能力較弱的嵌入式設(shè)備移植部署。
本文實(shí)驗(yàn)選擇在公共數(shù)據(jù)集CIFAR10/100[14,15]上進(jìn)行算法驗(yàn)證。CIFAR10/100數(shù)據(jù)集分別包含10個(gè)類別和100個(gè)類別,每個(gè)類別中分別有6000張和600張32×32同等尺寸彩照,兩者樣本總量同為60 000張。為更好更快地讓數(shù)據(jù)適應(yīng)當(dāng)前網(wǎng)絡(luò)模型,對數(shù)據(jù)進(jìn)行預(yù)處理:對樣本數(shù)據(jù)進(jìn)行高斯分布設(shè)置,數(shù)據(jù)之間保持相互獨(dú)立,進(jìn)行批標(biāo)準(zhǔn)化操作使得數(shù)據(jù)標(biāo)準(zhǔn)化,易于后續(xù)開展算法對比實(shí)驗(yàn)。
本文選取經(jīng)典的ResNet32作為網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)。ResNe32網(wǎng)絡(luò)架構(gòu)作為參數(shù)冗余程度較小的卷積神經(jīng)網(wǎng)絡(luò)代表,提供了網(wǎng)絡(luò)剪枝后影響模型性能的有效參考。通過剪枝后網(wǎng)絡(luò)模型的識別精度、剪枝率、模型參數(shù)量進(jìn)行算法對比,其中識別準(zhǔn)確度展現(xiàn)了基于注意力機(jī)制進(jìn)行網(wǎng)絡(luò)剪枝后的網(wǎng)絡(luò)模型在CIFAR10/CIFAR100數(shù)據(jù)集上的Top-1準(zhǔn)確度;實(shí)驗(yàn)設(shè)定了90%、95%和98%的剪枝率,并與同領(lǐng)域的算法進(jìn)行了比較;參數(shù)量反映網(wǎng)絡(luò)模型占用內(nèi)存的大小,與模型的存儲(chǔ)需求相關(guān)。通過降低網(wǎng)絡(luò)的參數(shù)量和計(jì)算量,本研究旨在實(shí)現(xiàn)參數(shù)量的大幅減少同時(shí)保持網(wǎng)絡(luò)性能的穩(wěn)定與高效。
本文實(shí)驗(yàn)基于數(shù)據(jù)集CIFAR10/100進(jìn)行算法對比,網(wǎng)絡(luò)訓(xùn)練和測試batch分別設(shè)置為64和50,網(wǎng)絡(luò)訓(xùn)練設(shè)為160輪,其中網(wǎng)絡(luò)初始學(xué)習(xí)率為0.1。為確保網(wǎng)絡(luò)學(xué)習(xí)過程的穩(wěn)定性,當(dāng)網(wǎng)絡(luò)總訓(xùn)練到達(dá)50%與75%進(jìn)度時(shí)分別進(jìn)行學(xué)習(xí)率衰減操作,將其設(shè)置為當(dāng)前學(xué)習(xí)率的10%。在訓(xùn)練過程中,權(quán)重初始化采用Kaiming Normal方法。在梯度優(yōu)化方面,我們采用了隨機(jī)梯度下降策略,其中動(dòng)量參數(shù)設(shè)為0.9,衰減系數(shù)為10-4。
為使模型壓縮得到最佳性能,進(jìn)而獲取更加精簡剪枝網(wǎng)絡(luò),通過融合通道維度和空間維度的雙注意力模塊,在網(wǎng)絡(luò)架構(gòu)結(jié)構(gòu)連接處:①、②、③、④中分布進(jìn)行初步性能測試,選擇雙注意力機(jī)制模塊最佳位置結(jié)構(gòu),模型測試結(jié)果見表1。
對比表中實(shí)驗(yàn)結(jié)果,可以得出通道注意力和空間注意力機(jī)制模塊相結(jié)合在數(shù)據(jù)集CIFAR10、CIFAR100中的最佳結(jié)構(gòu)位置是ResNet32-③架構(gòu),故在此網(wǎng)絡(luò)架構(gòu)基礎(chǔ)上基于不同數(shù)據(jù)集上開展剪枝算法實(shí)驗(yàn)。同時(shí)也表明基于通道和空間注意力機(jī)制在提取層次由低層次到高層次變化的過程中,由感受野較小的局部特征上升至紋理特征結(jié)構(gòu)、與圖像語義特征相關(guān)的全局特征中,注意力機(jī)制在較高層次的特征中與圖像識別任務(wù)關(guān)聯(lián)性更強(qiáng)。
表1 基于通道及空間注意力機(jī)制ResNet32架構(gòu)測試結(jié)果
為獲取在時(shí)間、空間、效率等方面資源利用達(dá)到最大合理化網(wǎng)絡(luò)模型,本文將網(wǎng)絡(luò)剪枝率依次設(shè)置為90%、95%、98%,旨在較大程度剔除網(wǎng)絡(luò)中冗余參數(shù),減小模型參數(shù)量,降低運(yùn)算時(shí)間,滿足實(shí)際應(yīng)用需求的精簡網(wǎng)絡(luò)。表2為CIFAR10數(shù)據(jù)集上基于ResNet32架構(gòu)不同方法在不同剪枝率的實(shí)驗(yàn)結(jié)果。根據(jù)實(shí)驗(yàn)結(jié)果顯示,本文方法在剪枝率90%、95%、98%時(shí)在CIFAR10數(shù)據(jù)集上識別準(zhǔn)確度上分別達(dá)到93.01%、91.69%、89.11%。當(dāng)剪枝率為90%時(shí),本文方法在CIFAR10數(shù)據(jù)集上準(zhǔn)確度分別比LT、MLPrune、SNIP、GraSP提高了0.59%、0.63%、0.48%、0.42%,表明基于注意力機(jī)制模塊可以為剪枝提供有價(jià)值的信息,進(jìn)而衡量并選擇貢獻(xiàn)程度較小權(quán)重剔除。
表2 CIFAR10數(shù)據(jù)集上不同剪枝方法對比結(jié)果
值得注意的是,在剪枝過程中需要注意學(xué)習(xí)率的調(diào)整情況,避免產(chǎn)生不必要的誤差損失。當(dāng)剪枝率設(shè)定為95%時(shí),本文方法相比于GraSP算法準(zhǔn)確度降低了0.11%,但在較高剪枝率98%的條件下較其性能提高了0.45%,而MLPrune算法則是對不同層的權(quán)重重要度評估且進(jìn)行歸一化處理,利用全局閾值去除某些層中幾乎所有權(quán)值,剔除貢獻(xiàn)程度小的非必要權(quán)重,從而達(dá)到較高的修剪率效果,進(jìn)而實(shí)現(xiàn)較高的識別精度。
圖3是在ResNet32網(wǎng)絡(luò)架構(gòu)中基于CIFAR10數(shù)據(jù)集上不同方法實(shí)驗(yàn)對比結(jié)果。為直觀地觀察不同方法最終剪枝效果,將表3中各個(gè)剪枝方法分別基于不同剪枝率的條件進(jìn)行驗(yàn)證,在Tensorboard可視化工具下轉(zhuǎn)化為.CSV文件,利用Matlab2018a軟件讀取后半程訓(xùn)練進(jìn)度進(jìn)行可視化,對比不同方法在訓(xùn)練過程中模型精度的變化效果。
圖3 CIFAR10數(shù)據(jù)集上各剪枝算法實(shí)驗(yàn)對比
在CIFAR100數(shù)據(jù)集上,本文為獲取更為穩(wěn)定和精簡網(wǎng)絡(luò)架構(gòu),將網(wǎng)絡(luò)剪枝率分別設(shè)置為90%、95%、98%,通過剔除貢獻(xiàn)程度較小的參數(shù)獲取在保證精度前提下資源利用最小化的網(wǎng)絡(luò)模型。表3為CIFAR100數(shù)據(jù)集上基于ResNet32架構(gòu)上不同方法在不同剪枝率的實(shí)驗(yàn)結(jié)果。根據(jù)實(shí)驗(yàn)結(jié)果顯示,在處理較為復(fù)雜數(shù)據(jù)集且較高剪枝率情況下,采用注意力機(jī)制模塊進(jìn)行剪枝產(chǎn)生的優(yōu)勢變得較為明顯,在剪枝率90%、95%、98%時(shí)分別達(dá)到69.69%、67.15%、60.18%,在不同剪枝率情況下較其它算法均有所提高,尤其在較高剪枝率98%條件下,在CIFAR100數(shù)據(jù)集上準(zhǔn)確度分別比LT、MLPrune、SNIP、GraSP提高了0.27%、0.09%、5.59%、0.71%。SNIP在較為復(fù)雜數(shù)據(jù)集CIFAR100上剪枝率逐步上升時(shí),深度網(wǎng)絡(luò)連接模板可能存在反饋權(quán)重重要性時(shí)延問題,導(dǎo)致網(wǎng)絡(luò)出現(xiàn)退化甚至崩潰情況,導(dǎo)致該方法在數(shù)據(jù)集精度測試出現(xiàn)較大誤差。相比而言,GraSP能夠取得較為良好結(jié)果,說明該算法剪枝準(zhǔn)則與剪枝后的梯度流傳遞直接相關(guān)的優(yōu)勢。本文方法在高修剪率所取得的優(yōu)勢歸結(jié)于全局稀疏性約束,允許不同網(wǎng)絡(luò)層進(jìn)行非均勻稀疏性預(yù)算。但基于CIFAR100數(shù)據(jù)集進(jìn)行剪枝率變化時(shí),準(zhǔn)確度出現(xiàn)驟減情況,在一定程度上說明在較高剪枝率的條件下基于多目標(biāo)識別易出現(xiàn)誤差。
表3 CIFAR100數(shù)據(jù)集上不同剪枝方法對比結(jié)果
圖4為在ResNet32網(wǎng)絡(luò)架構(gòu)中基于CIFAR100數(shù)據(jù)集上不同剪枝方法實(shí)驗(yàn)結(jié)果對比。為進(jìn)一步地檢驗(yàn)方法的有效性,分別將各個(gè)剪枝方法基于不同剪枝率的條件進(jìn)行對比實(shí)驗(yàn),利用Matlab2018a軟件讀取由Tensorboard導(dǎo)出的測試數(shù)據(jù),繪制剪枝方法精度曲線變化圖并進(jìn)行數(shù)據(jù)可視化,有效對比不同算法在不同剪枝率約束下的模型精度。
圖4 CIFAR100數(shù)據(jù)集上各剪枝算法實(shí)驗(yàn)對比
針對神經(jīng)網(wǎng)絡(luò)存在計(jì)算及中間過程存儲(chǔ)開銷較大等問題,本文提出了基于通道和空間注意力機(jī)制的網(wǎng)絡(luò)剪枝稀疏化訓(xùn)練方法,將通道和空間注意力機(jī)制融入網(wǎng)絡(luò)剪枝過程中,利用連續(xù)空間損失變化情況評估不同網(wǎng)絡(luò)層重要程度,進(jìn)而篩選精簡網(wǎng)絡(luò)模型。在未來工作研究中,進(jìn)一步探索對于剪枝及蒸餾進(jìn)行模型壓縮,融合知識蒸餾中間層知識傳遞方法及剪枝技術(shù)實(shí)現(xiàn)更大程度網(wǎng)絡(luò)優(yōu)化和加速,得到更為精簡的網(wǎng)絡(luò)模型以便在端設(shè)備上進(jìn)行移植部署。