盧 丹,孫永巖,鄭幸飛,齊保貴,師 皓
(1.上海衛(wèi)星工程研究所,上海 201109;2.北京理工大學(xué) 信息與電子學(xué)院 雷達(dá)技術(shù)研究所,北京 100081;3.嵌入式實(shí)時(shí)信息處理技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100081)
隨著遙感成像和信息處理技術(shù)的發(fā)展,在星上實(shí)時(shí)完成目標(biāo)檢測、場景分類等任務(wù),直接從遙感數(shù)據(jù)中獲取有用信息,具有十分重要的意義。卷積神經(jīng)網(wǎng)絡(luò)憑借其強(qiáng)大的特征提取能力,在遙感數(shù)據(jù)處理任務(wù)中可顯著提升信息提取的效率和精度,逐漸獲得廣泛應(yīng)用[1]。
伴隨著性能的提升,卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)存儲量和計(jì)算開銷也越來越大,在低功耗、計(jì)算和存儲資源有限的在軌場景中難以移植應(yīng)用。因此,如何在不降低網(wǎng)絡(luò)性能的條件下,縮小網(wǎng)絡(luò)規(guī)模,減少計(jì)算消耗,成為當(dāng)前亟待解決的問題。如果能將網(wǎng)絡(luò)規(guī)模小型化,那么將卷積神經(jīng)網(wǎng)絡(luò)部署到機(jī)載、星載等遙感設(shè)備便成為可能,這無疑是從實(shí)驗(yàn)室走向應(yīng)用的關(guān)鍵性進(jìn)展。
通過模型壓縮來降低存儲量和計(jì)算成本已經(jīng)有了大量的研究。目前提出的網(wǎng)絡(luò)壓縮方法主要可分為以下幾類[2]:參數(shù)剪枝、權(quán)值量化、低秩分解、緊性卷積核設(shè)計(jì)和知識蒸餾。參數(shù)剪枝法通過對網(wǎng)絡(luò)進(jìn)行結(jié)構(gòu)或非結(jié)構(gòu)化的剪枝操作,將模型中冗余的參數(shù)進(jìn)行裁剪,從而降低網(wǎng)絡(luò)復(fù)雜度,并可在一定程度上防止過擬合。20 世紀(jì)末,CUN 等[3]和HASSIBI等[4]先后提出最優(yōu)腦損傷(Optimal Brain Damage,OBD)和最優(yōu)腦外科(Optimal Brain Surgeon,OBS)的參數(shù)剪枝方法,利用網(wǎng)絡(luò)的二階導(dǎo)數(shù)信息衡量參數(shù)的冗余性,從而對網(wǎng)絡(luò)進(jìn)行修剪。2015 年,韓松等[5]提出了一種基于低權(quán)值連接的剪枝方法,對網(wǎng)絡(luò)中權(quán)值較小的參數(shù)進(jìn)行修剪,將原始的稠密網(wǎng)絡(luò)變得稀疏。但這種非結(jié)構(gòu)化的剪枝方式不會帶來顯著的加速,LI 等[6]、LEBEDEV 等[7]通過對冗余濾波器進(jìn)行裁剪,研究了結(jié)構(gòu)化的參數(shù)剪枝方法。2017 年,LIU 等[8]提出了一種網(wǎng)絡(luò)瘦身(Network Slimming)方法,利用BN 層的縮放因子,結(jié)合正則化稀疏約束對網(wǎng)絡(luò)中不重要的通道進(jìn)行裁剪。權(quán)值量化的主要思想是用較低的比特位表示模型實(shí)際的浮點(diǎn)型權(quán)值,通過減少網(wǎng)絡(luò)參數(shù)的存儲量,實(shí)現(xiàn)模型加速和壓縮。GUPTA 等[9]使用16 位定點(diǎn)數(shù)表示CNN 訓(xùn)練過程中的參數(shù),不僅顯著減少了內(nèi)存使用和浮點(diǎn)運(yùn)算量,且?guī)缀鯇Ψ诸惥葲]有損失。
為了進(jìn)一步壓縮權(quán)重,二元[10]、三元[11]權(quán)值網(wǎng)絡(luò)被提出,通過在訓(xùn)練過程中學(xué)習(xí)低比特權(quán)值或激活,大幅壓縮網(wǎng)絡(luò)規(guī)模。低秩分解法采用張量或矩陣分解技術(shù),將原始卷積核拆解為多個(gè)小卷積核的乘積,從而降低網(wǎng)絡(luò)運(yùn)算量和參數(shù)規(guī)模。緊性卷積核設(shè)計(jì)法從網(wǎng)絡(luò)結(jié)構(gòu)出發(fā),通過設(shè)計(jì)更精簡的網(wǎng)絡(luò)模 塊,如SqueezeNet[12]、ShuffleNet[13]等,有效減 小模型尺寸。2015 年,HINTON 等[14]提出了知識蒸餾的概念,從高性能復(fù)雜網(wǎng)絡(luò)中學(xué)習(xí)有用信息來指導(dǎo)簡單網(wǎng)絡(luò)的訓(xùn)練,在保證性能相差不大的情況下實(shí)現(xiàn)模型壓縮。
上述方法可不同程度地減小原始網(wǎng)絡(luò)規(guī)模,但也帶來了精度的下降。為了改善精度損傷的問題,本文提出一種基于知識蒸餾的剪枝壓縮改進(jìn)方法。該方法將參數(shù)剪枝與知識蒸餾技術(shù)相結(jié)合,先對網(wǎng)絡(luò)進(jìn)行混合參數(shù)剪枝以刪除冗余信息,再用剪枝前網(wǎng)絡(luò)指導(dǎo)剪枝后網(wǎng)絡(luò)的再訓(xùn)練過程,以提升后者的性能。以遙感圖像分類任務(wù)為例,在遙感數(shù)據(jù)集上對VGG-16 網(wǎng)絡(luò)進(jìn)行壓縮,在網(wǎng)絡(luò)精度損傷不大的情況下,可實(shí)現(xiàn)16~18 倍的壓縮效果。
參數(shù)剪枝主要有兩種途徑:一種針對通道剪枝;一種針對權(quán)重剪枝。為了降低網(wǎng)絡(luò)參數(shù)的冗余度,可將兩種剪枝方法結(jié)合應(yīng)用,其主要技術(shù)路線如圖1所示[15]。
圖1 混合參數(shù)剪枝Fig.1 Hybrid parameter pruning
首先對網(wǎng)絡(luò)進(jìn)行通道剪枝,實(shí)現(xiàn)模型的初步壓縮,并對網(wǎng)絡(luò)再訓(xùn)練以恢復(fù)損傷的精度。其次,在通道剪枝的基礎(chǔ)上再進(jìn)行權(quán)重剪枝,以進(jìn)一步壓縮網(wǎng)絡(luò)的參數(shù)規(guī)模。
通道剪枝是一種結(jié)構(gòu)化的參數(shù)剪枝方式,通過剪去網(wǎng)絡(luò)中冗余的通道,即對網(wǎng)絡(luò)貢獻(xiàn)度較小的單個(gè)濾波器,實(shí)現(xiàn)對模型的壓縮,如圖2 所示。
圖2 通道剪枝前后Fig.2 Before and after channel pruning
該方法可分為3 個(gè)步驟:訓(xùn)練網(wǎng)絡(luò)→裁剪冗余的通道→網(wǎng)絡(luò)再訓(xùn)練。
如圖3 所示,Xi為第i卷積層的輸入特征圖,Xi+1為輸出特征圖,每個(gè)卷積層有ni×ni+1個(gè)二維的卷積核Fi,j,其中,ni和ni+1分別表示輸入、輸出特征圖的維度。
圖3 修剪一個(gè)濾波器會導(dǎo)致在下一層中刪除其相應(yīng)的特征圖和相關(guān)的內(nèi)核Fig.3 Trimming a filter causes its corresponding feature map and associated kernel to be deleted in the next layer
首先評估通道的重要性,通過計(jì)算單個(gè)濾波器的L1范數(shù),即其絕對權(quán)重之和來衡量每個(gè)層中濾波器的相對重要性。與層中其他濾波器相比,具有較小內(nèi)核權(quán)重和的濾波器傾向于產(chǎn)生具有弱激活的特征映射。從第i個(gè)卷積層中修剪m個(gè)濾波器的步驟如下:
步驟1對于每個(gè)濾波器Fi,j,計(jì)算其權(quán)重絕對值的總和。
步驟2按sj對濾波器進(jìn)行排序。
步驟3剪去具有最小和值的m個(gè)濾波器及其對應(yīng)的特征映射,下一個(gè)卷積層中與被修剪的特征映射相對應(yīng)的內(nèi)核也被刪除。
步驟4第i層和第i+1 層創(chuàng)建新的內(nèi)核矩陣,并將剩余的內(nèi)核權(quán)重復(fù)制到新模型。
網(wǎng)絡(luò)中不同卷積層對修剪的敏感度不同,通過逐層修剪并在測試集上評估剪枝網(wǎng)絡(luò)的精度,可以判斷各層對剪枝的敏感性,并確定每一卷積層通道剪枝的比例。
對網(wǎng)絡(luò)進(jìn)行通道剪枝后,得到較小規(guī)模的新網(wǎng)絡(luò),再訓(xùn)練使其恢復(fù)精度。將小規(guī)模新網(wǎng)絡(luò)的參數(shù)按照權(quán)值大小進(jìn)行排序,權(quán)重越小代表其對網(wǎng)絡(luò)的最終貢獻(xiàn)越小。
通過刪除權(quán)重小于指定閾值的連接,減少模型的參數(shù)量,如圖4 所示。
圖4 權(quán)重剪枝前后,網(wǎng)絡(luò)由稠密變得稀疏Fig.4 Before and after weight pruning,the network becomes sparse from dense
該方法仍然遵循“訓(xùn)練網(wǎng)絡(luò)→剪枝→再訓(xùn)練”的3 個(gè)步驟,剪枝的具體操作是將低于某一閾值的參數(shù)置零,再訓(xùn)練過程中已經(jīng)被剪掉的參數(shù)將保持零值,不再進(jìn)行參數(shù)更新。網(wǎng)絡(luò)中不同層參數(shù)對剪枝的敏感度是不同的。由于網(wǎng)絡(luò)的計(jì)算量主要集中在卷積層,通常卷積層比全連接層對參數(shù)剪枝更敏感?;诖?,應(yīng)仔細(xì)衡量每一層參數(shù)的剪枝比例,以獲得最優(yōu)的壓縮效果。
由于上述混合參數(shù)剪枝方法會帶來精度下降,因此本文提出了一種基于知識蒸餾的剪枝壓縮改進(jìn)方法,將知識蒸餾技術(shù)融合到混合參數(shù)剪枝中,通過再訓(xùn)練過程中的知識傳遞可以減少剪枝后的精度損失。具體步驟如圖5 所示。
知識蒸餾法的主要思想是用大型復(fù)雜模型學(xué)習(xí)到的知識指導(dǎo)簡單網(wǎng)絡(luò)的訓(xùn)練,從而提升后者的表現(xiàn)。此時(shí),復(fù)雜模型可以看作是“教師”,待訓(xùn)練的簡單模型為“學(xué)生”。通過網(wǎng)絡(luò)間的知識傳遞,使簡單模型重現(xiàn)復(fù)雜模型的輸出結(jié)果,達(dá)到規(guī)模壓縮的目的。
神經(jīng)網(wǎng)絡(luò)學(xué)到的知識將輸入數(shù)據(jù)映射為輸出結(jié)果,對于處理分類任務(wù)的網(wǎng)絡(luò),其訓(xùn)練目標(biāo)是將正確輸出結(jié)果的概率最大化。但這種訓(xùn)練方式為每個(gè)錯(cuò)誤結(jié)果也分配了概率,這些錯(cuò)誤概率展示了網(wǎng)絡(luò)進(jìn)行分類判斷的“思路”。神經(jīng)網(wǎng)絡(luò)通常使用Softmax 輸出層得到分類概率,函數(shù)定義如下:
圖5 基于知識蒸餾的剪枝壓縮改進(jìn)方法Fig.5 Improved pruning compression method based on knowledge distillation
式中:zi為復(fù)雜模型分類結(jié)果的輸出值;i為類別索引;j為類別總數(shù);qi為由Softmax 函數(shù)計(jì)算得到的分類概率;T為溫度,是一個(gè)可調(diào)節(jié)的超參數(shù),通常為1,T值越大,類別的概率分布就越“軟”,即更加均勻平和。
知識蒸餾法通過調(diào)整網(wǎng)絡(luò)再訓(xùn)練過程中的損失函數(shù),進(jìn)行網(wǎng)絡(luò)間的知識傳遞。訓(xùn)練小模型時(shí),損失函數(shù)由兩部分組成:第1 項(xiàng)是包含“軟目標(biāo)”的交叉熵函數(shù),其目的是使小模型向經(jīng)過蒸餾的復(fù)雜模型的輸出結(jié)果優(yōu)化;第2 項(xiàng)是由小模型輸出的結(jié)果與正確標(biāo)簽的差值計(jì)算得出的交叉熵函數(shù),這與傳統(tǒng)的訓(xùn)練過程相同,目的是使小模型向真實(shí)的標(biāo)簽值進(jìn)行優(yōu)化。損失函數(shù)的公式[16]為
式中:Lsoft、Lhard分別為優(yōu)化方向?yàn)椤败浤繕?biāo)”和正確標(biāo)簽的交叉熵函數(shù);α為損失函數(shù)的權(quán)重系數(shù),α=0 時(shí)對應(yīng)于不使用知識蒸餾法進(jìn)行訓(xùn)練的情況。
以混合參數(shù)剪枝前的網(wǎng)絡(luò)為“教師”,剪枝后的網(wǎng)絡(luò)為“學(xué)生”,采用知識蒸餾法對網(wǎng)絡(luò)進(jìn)行再訓(xùn)練。相比于傳統(tǒng)再訓(xùn)練方式,知識蒸餾法能獲得更優(yōu)的再訓(xùn)練效果,改善網(wǎng)絡(luò)性能。
以遙感圖像分類任務(wù)為例,分別在兩個(gè)公開的遙感數(shù)據(jù)集NWPU-RESISC45 和UC Merced Land-Use 上對VGG-16 網(wǎng)絡(luò)進(jìn)行壓縮實(shí)驗(yàn)。NW?PU-RESISC45 數(shù)據(jù)集由西北工業(yè)大學(xué)研究團(tuán)隊(duì)于2017 年提出,包含飛機(jī)、港口、教堂等45 個(gè)不同的場景類別,每個(gè)場景中分別有700 幅256×256 的RGB圖像,大部分測試圖像的空間分辨率能達(dá)到每個(gè)像素0.2 m。UC Merced Land-Use 數(shù)據(jù)集是由美國國家地質(zhì)調(diào)查局航空拍攝的正射影像,包含棒球場、海灘、十字路口等21 個(gè)不同的場景類別,每個(gè)場景包含100 幅256×256 的RGB 圖像,圖像的空間分辨率為每個(gè)像素0.3 m。實(shí)驗(yàn)時(shí)選取數(shù)據(jù)集中20%的圖像作為訓(xùn)練集,剩余圖像作為測試集,觀察剪枝前后VGG-16 網(wǎng)絡(luò)的分類表現(xiàn)。
首先對VGG-16 網(wǎng)絡(luò)進(jìn)行基于通道的參數(shù)剪枝,由于每一卷積層對剪枝的敏感性不同,需要先對單層修剪濾波器以判斷每個(gè)卷積層對修剪的敏感度,從而設(shè)置恰當(dāng)?shù)耐ǖ兰糁Ρ壤?。?shí)驗(yàn)結(jié)果如圖6 和圖7 所示。由實(shí)驗(yàn)結(jié)果可知,在不同的數(shù)據(jù)集上,卷積層對通道剪枝的敏感性是相似的。第7卷積層對剪枝最敏感,第1 卷積層對剪枝最不敏感。在本次實(shí)驗(yàn)中,對訓(xùn)練好的VGG-16 網(wǎng)絡(luò)的第7 卷積層剪去25%的濾波器,對剩余卷積層均剪去50%的濾波器。
圖6 在NWPU-RESISC45 數(shù)據(jù)集上,不同卷積層對通道剪枝的敏感性Fig.6 Sensitivity of different convolutional layers to channel pruning on the NWPU-RESISC45 dataset
圖7 在UC Merced Land-Use 數(shù)據(jù)集上,不同卷積層對通道剪枝的敏感性Fig.7 Sensitivity of different convolutional layers to channel pruning on the UC Merced Land-Use dataset
對通道剪枝后的網(wǎng)絡(luò)進(jìn)行再訓(xùn)練,使其恢復(fù)精度。接下來對網(wǎng)絡(luò)進(jìn)行基于權(quán)重的參數(shù)剪枝,以進(jìn)一步減少冗余參數(shù)。首先對全連接層90%的參數(shù)進(jìn)行剪枝,經(jīng)過再訓(xùn)練,網(wǎng)絡(luò)分類精度損傷不大,這說明剪掉的90%全連接層參數(shù)中大部分是冗余的。在此基礎(chǔ)上,對卷積層參數(shù)進(jìn)行剪枝,并逐漸增大卷積層參數(shù)的剪枝比例。在遙感數(shù)據(jù)集上對VGG-16 網(wǎng)絡(luò)進(jìn)行混合參數(shù)剪枝,實(shí)驗(yàn)結(jié)果見表1。
由表1 數(shù)據(jù)可知,對VGG-16 網(wǎng)絡(luò)進(jìn)行混合剪枝,網(wǎng)絡(luò)精度下降1%左右時(shí),能移除93%左右的參數(shù)。這說明通過合理調(diào)整卷積層通道剪枝比例和通道剪枝后網(wǎng)絡(luò)的權(quán)重剪枝比例,可以裁剪掉網(wǎng)絡(luò)中的大部分冗余參數(shù)。
表1 混合參數(shù)剪枝前后網(wǎng)絡(luò)對比Tab.1 Network comparison before and after hybrid parameter pruning
在NWPU-RESISC45 數(shù)據(jù)集上,參數(shù)剪枝前VGG-16 網(wǎng)絡(luò)的分類精度為89.69%。經(jīng)混合參數(shù)剪枝剪去網(wǎng)絡(luò)中93.92%的參數(shù)后,按普通方式對網(wǎng)絡(luò)進(jìn)行再訓(xùn)練,最終分類精度為88.53%,相比于剪枝前,性能下降了1.16%。為了使再訓(xùn)練后網(wǎng)絡(luò)性能損失不超過1%,使用知識蒸餾方式學(xué)習(xí)剪枝前網(wǎng)絡(luò)的有用信息。
通過調(diào)整Softmax 函數(shù)中參數(shù)α、T的值,可獲得不同的知識蒸餾效果。網(wǎng)絡(luò)再訓(xùn)練后的分類精度見表2。由表2 可見,采用知識蒸餾法訓(xùn)練的網(wǎng)絡(luò)比普通訓(xùn)練方式得到的網(wǎng)絡(luò)性能更好,這說明原始網(wǎng)絡(luò)的分類結(jié)果對小網(wǎng)絡(luò)的訓(xùn)練起到了正向的指導(dǎo)作用,提升了小網(wǎng)絡(luò)的表現(xiàn)。當(dāng)α=0.8、T=5 時(shí),對剪枝后的VGG-16 網(wǎng)絡(luò)重新訓(xùn)練,其精度可達(dá)到89.63%;相比于剪枝前,性能只下降了0.06%。
如圖8 所示,繪制剪枝后網(wǎng)絡(luò)再訓(xùn)練過程中的精度變化曲線,紅線代表α=0.8、T=5 時(shí)使用知識蒸餾方法訓(xùn)練,藍(lán)線代表普通訓(xùn)練方式。由曲線趨勢可見,在相同迭代次數(shù)時(shí),知識蒸餾法訓(xùn)練的網(wǎng)絡(luò)性能有微弱的優(yōu)勢,最終分類精度比普通訓(xùn)練方式提升了1 個(gè)百分點(diǎn)。
表2 在NWPU-RESISC45 數(shù)據(jù)集上,剪枝93.92%的參數(shù),知識蒸餾效果Tab.2 Knowledge distillation effect on the NWPURESISC45 dataset,pruning 93.92% of the parameters
圖8 在NWPU-RESISC45 數(shù)據(jù)集上,網(wǎng)絡(luò)再訓(xùn)練過程中精度變化曲線Fig.8 Accuracy curves during network retraining on the NWPU-RESISC45 dataset
在UC Merced Land-Use 數(shù)據(jù)集上,參數(shù)剪枝前VGG-16 網(wǎng)絡(luò)的分類精度為87.86%。經(jīng)混合剪枝,剪去網(wǎng)絡(luò)中93.78%的參數(shù)后,網(wǎng)絡(luò)性能下降,經(jīng)普通方式再訓(xùn)練精度可恢復(fù)到86.25%,相比于剪枝前,精度下降了1.61%。
采用知識蒸餾方式進(jìn)行對剪枝后的網(wǎng)絡(luò)進(jìn)行再訓(xùn)練,訓(xùn)練結(jié)果見表3。
由實(shí)驗(yàn)結(jié)果可知,采用知識蒸餾方法再訓(xùn)練的網(wǎng)絡(luò)有了更好的性能。當(dāng)α=0.7、T=8 時(shí),重新訓(xùn)練后網(wǎng)絡(luò)的最佳分類精度可達(dá)到87.86%,與剪枝前網(wǎng)絡(luò)的精度相同。當(dāng)α=0.7、T=5 時(shí),再訓(xùn)練后網(wǎng)絡(luò)的最佳精度達(dá)到88.21%,優(yōu)于剪枝前的性能。這表明剪枝后的網(wǎng)絡(luò)接收到了原始模型學(xué)到的“知識”,在“教師”網(wǎng)絡(luò)和有標(biāo)簽數(shù)據(jù)集的共同指導(dǎo)下,呈現(xiàn)出了更好的表現(xiàn)。
表3 在UC Merced Land-Use 數(shù)據(jù)集上,剪枝93.78%的參數(shù),知識蒸餾效果Tab.3 Knowledge distillation effect on the UC Merced Land-Use dataset,pruning 93.78% of the parameters
如圖9 所示,繪制在UC Merced Land-Use 數(shù)據(jù)集上,剪枝后網(wǎng)絡(luò)再訓(xùn)練過程中的精度變化曲線。圖9 中,紅線代表α=0.7、T=5 時(shí)使用知識蒸餾方法訓(xùn)練,藍(lán)線代表普通訓(xùn)練方式。由圖可知,在相同迭代次數(shù)時(shí),知識蒸餾法訓(xùn)練的網(wǎng)絡(luò)性能優(yōu)于普通訓(xùn)練方式,在訓(xùn)練20 個(gè)epoch 后,知識蒸餾法訓(xùn)練的網(wǎng)絡(luò)就達(dá)到了最高精度,所需迭代次數(shù)更少。
圖9 在UC Merced Land-Use 數(shù)據(jù)集上,網(wǎng)絡(luò)再訓(xùn)練過程中精度變化曲線Fig.9 Accuracy curves during network retraining on the UC Merced Land-Use dataset
由以上實(shí)驗(yàn)結(jié)果可知,在遙感數(shù)據(jù)集上對VGG-16 網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn),基于知識蒸餾的剪枝壓縮改進(jìn)方法可在網(wǎng)絡(luò)精度下降不到1%的條件下,移除93%~94% 的參數(shù)量,實(shí)現(xiàn)16~18 倍的壓縮效果。在知識蒸餾過程中,當(dāng)選擇恰當(dāng)?shù)膮?shù)值時(shí),剪枝后網(wǎng)絡(luò)還可能獲得優(yōu)于原始網(wǎng)絡(luò)的性能。
在NWPU-RESISC45 數(shù)據(jù)集上訓(xùn)練VGG-16網(wǎng)絡(luò),比較網(wǎng)絡(luò)壓縮前后的性能變化,結(jié)果如圖10所示。其中,Network Slimming 是LIU 等[8]于2017年提出的基于正則化和BN 層縮放因子的通道剪枝方法。取剪枝并再訓(xùn)練后網(wǎng)絡(luò)精度下降不足1%的模型,對其參數(shù)量、浮點(diǎn)運(yùn)算數(shù)(FLOPs)、內(nèi)存讀寫開銷三個(gè)維度進(jìn)行比較??梢钥闯鼋?jīng)剪枝后,Net?work Slimming 方法的FLOPs 顯著下降,而本文方法在減少參數(shù)量和內(nèi)存讀寫開銷上更有優(yōu)勢。這是由于網(wǎng)絡(luò)運(yùn)算量主要集中在卷積層,參數(shù)量集中在全連接層。對比模型中,Network Slimming 減去了約70%的卷積層,而本文方法只減去不足50%的冗余通道。通過多次進(jìn)行剪枝和微調(diào),本文方法有望進(jìn)一步減少冗余通道數(shù)和FLOPs。
圖10 網(wǎng)絡(luò)壓縮前后性能變化Fig.10 Performance changes before and after network compression
本文針對卷積神經(jīng)網(wǎng)絡(luò)規(guī)模龐大、難以在軌應(yīng)用的問題,對深度神經(jīng)網(wǎng)絡(luò)壓縮方法進(jìn)行研究,提出了一種基于知識蒸餾的剪枝壓縮改進(jìn)方法。在遙感圖像分類任務(wù)中,該方法對VGG-16 網(wǎng)絡(luò)實(shí)現(xiàn)了16~18 倍的壓縮效果,并帶來了運(yùn)算量、內(nèi)存讀寫開銷的下降,且精度損失不到1%。本文提出的方法可擴(kuò)展到其他深度神經(jīng)網(wǎng)絡(luò)上,如殘差網(wǎng)絡(luò)、Inception 網(wǎng)絡(luò)等,但在進(jìn)行混合參數(shù)剪枝時(shí)需要根據(jù)網(wǎng)絡(luò)的結(jié)構(gòu)調(diào)整剪枝策略,以獲得理想的壓縮效果。此外,由于參數(shù)剪枝引入了不規(guī)則稀疏性,在網(wǎng)絡(luò)計(jì)算過程中不會帶來顯著的加速。因此,后續(xù)可進(jìn)行稀疏網(wǎng)絡(luò)運(yùn)算加速方面的研究,以滿足實(shí)時(shí)性要求。