999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于參數子空間和縮放因子的YOLO剪枝算法

2021-02-05 03:03:04楊民杰梁亞玲杜明輝
計算機工程 2021年2期

楊民杰,梁亞玲,杜明輝

(華南理工大學電子與信息學院,廣州 510641)

0 概述

自2012年AlexNet[1]獲得ImageNet大型視覺識別比賽(ImageNet Large Scale Visual Recognition Competition,ILSVRC)冠軍以來,以AlexNet為代表的基于深度學習的卷積神經網絡受到廣泛關注并得到深入發展,一系列深度學習神經網絡相繼出現,例如用于分類任務的Vgg[2]、GoogleNet[3]和ResNet[4]等網絡以及用于目標檢測任務的Rcnn[5]、FastRcnn[6]、FasterRcnn[7]、YOLOv3[8]和SSD[9]等網絡。隨著神經網絡逐漸加深,其應用于視覺任務的網絡精度已逐漸接近甚至超過人類的視覺識別水平[10],而網絡模型占據的存儲空間、計算時長和計算量等均不斷增加,對嵌入式設備的計算性能提出更高要求,所需設備成本與電量能耗均增大。然而嵌入式設備在計算能力、存儲能力以及電量能耗等方面均有一定限制[10],為了在嵌入式設備中成功部署相關的深度學習神經網絡,需在保持神經網絡分類或檢測精度的同時對其進行壓縮。

神經網絡壓縮算法主要包括低秩近似算法、剪枝算法、量化算法、知識蒸餾算法和緊湊型網絡設計算法等。低秩近似算法是將稠密的滿秩矩陣表示為若干低秩矩陣的組合,低秩矩陣又分解為小規模矩陣的乘積,從而達到簡化的目的。文獻[11]提出一種線性組合卷積核基底算法,用f×1+1×f卷積核替代f×f卷積核進行低秩近似。剪枝算法是通過修剪神經網絡中冗余濾波器進行網絡優化,刪除神經網絡權重矩陣中不重要的部分權重,僅保留有用部分,再重新對網絡進行微調。量化算法是用低精度參數權值代替神經網絡中32 bit的浮點型參數權值,目前大多數低精度的方案采用INT8型參數代替FP32型參數,通過犧牲部分精度降低占用空間。知識蒸餾算法是指通過遷移學習將預先訓練好的復雜網絡的輸出作為監督信號去訓練簡單的網絡,以達到壓縮網絡的目的。緊湊型網絡設計算法是重新構建可達到原精度的小型網絡,例如MobileNet和ShuffleNet網絡。

由于剪枝算法無需考慮應用領域、網絡架構和部署平臺,符合神經網絡應用于嵌入式平臺的實際需求,因此本文采用剪枝算法壓縮網絡。現有關于剪枝算法的研究大部分基于圖像分類網絡,但在人工智能應用場景中,目標檢測網絡的應用領域更廣泛,在該網絡上進行剪枝更困難。YOLO網絡是一種端到端的目標檢測網絡,屬于One-stage網絡,One-stage網絡包括特征提取和訓練分類器2個階段,而Two-stage網絡目標檢測方法包括區域選擇、特征提取和訓練分類器3個階段,該網絡進行區域選擇后產生大量冗余的候選區域,會耗費較多推理時間。與Two-stage網絡相比,One-stage網絡耗時更短,因此YOLO網絡推理速度更快。在嵌入式設備端,推理速度是評價實用性的重要參考指標,YOLO網絡中的YOLOv3網絡與同樣作為Onestage的SSD網絡準確率相同,但是其運算速度比SSD網絡快3倍[8],因此,本文選擇YOLOv3網絡來設計剪枝算法。

剪枝算法分為結構化剪枝算法和非結構化剪枝算法。結構化剪枝算法是通過從深度神經網絡中剪去整個濾波器對網絡進行簡化來減少推理時間。非結構化剪枝是單獨對每一層參數剪枝,這會造成不規則內存訪問情況,從而降低推理效率。文獻[12]利用二階泰勒公式展開并選擇參數進行剪枝,將剪枝看做正則項來改善訓練和泛化能力。文獻[13]根據神經元連接權值大小修剪訓練后網絡中不重要的連接,以減少網絡參數。上述研究均采用非結構化剪枝算法基于單個權重進行剪枝,剪枝后的網絡需配置專門的軟件或硬件來加速運行。為使剪枝后的網絡能在普適平臺上運行,文獻[14]引入結構化稀疏性,每個卷積單元根據其對網絡在驗證數據集上準確率的影響程度分配分值,通過去除分值低的卷積單元進行剪枝,然而該方法耗時較長,僅適用于小模型。文獻[15]通過移除網絡中權重值在0附近的濾波器及其連接特征圖來降低計算成本,且無需稀疏卷積庫支持,但當網絡的權重值的分布非常集中或者權重值大部分不在0附近時,該方法剪枝效果較差。

文獻[16]利用批量歸一化(Batch Normalization,BN)層縮放因子γ在訓練過程中衡量通道的重要性,去除不重要的通道壓縮模型提升計算速度。在此基礎上,本文提出一種利用參數子空間和縮放因子的YOLO剪枝算法,使用參數子空間避免卷積層濾波器權重剪枝范數標準差過大,采用雙準則剪枝策略分別利用卷積層和BN層對YOLOv3網絡進行剪枝。

1 雙準則剪枝算法

剪枝算法的核心思想是尋找一種合適的評價指標去除冗余濾波器。現有剪枝算法大部分基于濾波器范數的大小,如果濾波器所產生對應特征圖的L2范數接近0,則表明濾波器范數較小,該特征圖對網絡貢獻較少,即該濾波器對網絡的重要性較低。根據上述原理可對網絡中濾波器按照重要性排序,并刪除重要性較低的濾波器。該做法的前提是濾波器符合兩個理想條件:1)濾波器范數標準差較大;2)濾波器最小范數接近0。但是大部分濾波器不符合上述條件,特別是目標檢測網絡濾波器。為此,本文提出基于參數子空間和BN層縮放因子雙準則的剪枝算法,其具體流程如圖1所示。

圖1 本文剪枝算法流程Fig.1 Procedure of the proposed pruning algorithm

1.1 基于參數子空間的剪枝算法

參數子空間是采用k均值聚類算法將卷積層濾波器聚類得到的不同子空間,在其中進行剪枝可避免濾波器范數標準差較大以及濾波器最小范數接近0。k均值聚類算法是一種迭代求解的聚類分析算法,也是基于樣本集合劃分的聚類算法。該算法將樣本集合劃分為k個子集并構成k個類,將n個樣本分到k個類中,每個樣本與其所屬類中心的距離最小且僅屬于1個類。k均值聚類算法的復雜度為O(mnk),m為樣本維數。k均值聚類算法的步驟為:1)隨機選取k個樣本作為k個類的中心,將樣本逐個指派到與其最近中心的類中,得到1個聚類結果;2)更新每個類的樣本均值作為新的類中心;3)重復步驟1和步驟2,直到收斂或符合停止條件(沒有(或最少)樣本被重新分配給不同的聚類、沒有(或最少)聚類中心發生變化、誤差平方和局部最小)為止。

k均值聚類算法以n個樣本集合X為輸入,以樣本集合的聚類C*為輸出,具體過程如下:

4)如果迭代收斂或者符合停止條件,則輸出C*=C(t);否則令t=t+1,返回步驟2。

在剪枝過程中,本文使用的YOLOv3網絡有較多連續的殘差結構,如果對殘差結構的每一層進行剪枝,則會造成部分網絡層的通道數不同,無法通過捷徑(shortcut)進行相加運算,導致網絡不能正常運行。因此,本文避開殘差結構中相連的卷積層進行剪枝,但是這些卷積層參數量仍會隨著1×1卷積(conv)層通道數的減少而降低,如圖2和圖3所示。圖2為未剪枝的殘差結構,其中第一層參數量為128×256×1×1+128=32 896,第二層參數量為256×128×3×3+256=295 168。圖3為已剪枝的殘差結構,其中第一層參數量為37×256×1×1+37=9 509,第二層參數量為256×37×3×3+256=85 504。可以看出,在避開相連卷積層進行剪枝后,未剪枝的卷積層參數量會出現明顯下降,從而簡化算法并減少計算量。

圖2 未剪枝的殘差結構Fig.2 Residual structure without pruning

圖3 剪枝后的殘差結構Fig.3 Residual structure after pruning

選擇非殘差結構需要相加的卷積層,對每個卷積層的濾波器進行k均值聚類分析,使用肘部法則確定每個卷積層的k值。k均值聚類是以最小化樣本與質點平方距離誤差(loss)作為目標函數,若將各簇質點與簇內樣本點的平方距離誤差和稱為畸變程度,則一個簇的畸變程度越低表明簇內結構越緊密,一個簇的畸變程度越高表明簇內結構越松散。畸變程度通常隨聚類類別的增加而減小,但對于有一定區分度的數據樣本,在k值達到某個臨界點時畸變程度將急劇減小,此時聚類性能較好。基于畸變程度的變化,YOLOv3不同卷積層可訓練不同k均值聚類模型,從而得到每個卷積層最適合的聚類類別數。圖4和圖5分別表示第63層和第103層卷積層在不同k值下各簇質點與簇內樣本點的平方距離誤差。

圖4 第63層卷積層的聚類loss曲線Fig.4 Cluster loss curve of the 63rd convolution layer

圖5 第103層卷積層的聚類loss曲線Fig.5 Cluster loss curve of the 103rd convolution layer

由于本文在聚類分析前先將卷積層每個濾波器的權重進行求和,再對求和后的權重進行聚類分析,因此聚類分析針對單層網絡進行,在單層網絡上使用肘部法則確定k值。使用該方法對每個卷積層用不同k值進行聚類分析得到各卷積層聚類結果。計算卷積層每個聚類類別中濾波器的權重,將其按照由大到小排序,并根據一定比例去除權重較小的濾波器。本文使用基于參數子空間的方法對單層卷積層進行剪枝實驗,剪枝率設置為50%,采用平均精準度均值(Mean Average Precision,MAP)作為剪枝效果的評價指標。圖6為第63層卷積層在不同k值下MAP的變化,可以看出,當k為4時剪枝所得MAP值最大,k=4即為圖4中聚類loss曲線的畸變臨界點。圖7為第103層卷積層在不同k值下MAP的變化,可以看出,當k為4時剪枝所得MAP值最大,k為4即為圖5中聚類loss曲線的畸變臨界點。由此可證明,使用肘部法則選出的k值有效。先用k均值聚類再根據權重排序進行剪枝,可避免濾波器范數標準差較大以及濾波器最小范數接近0。

圖6 第63層卷積層在不同k 值下的MAP變化曲線Fig.6 MAP variation curve of 63rd convolution layer with different k values

圖7 第103層卷積層在不同k 值下的MAP變化曲線Fig.7 MAP variation curve of 103rd convolution layer with different k values

1.2 基于BN層縮放因子的剪枝準則

由于BN層可有效防止梯度爆炸并加速網絡收斂,因此其被應用于各種卷積層神經網絡中,位于卷積層之后,以對卷積層后的特征圖完成歸一化操作。然而若BN層僅在卷積層后進行歸一化,再直接將數據送入下一層進行卷積計算,則網絡將無法學習輸出的特征分布。由于BN層后有ReLu激活層,若BN層后的特征圖數據大部分小于0,那么其經過ReLu激活層后將失去大部分特征值,因此,BN層需通過優化縮放系數γ和偏移系數β對數據進行歸一化處理,使網絡能學習到輸出的特征分布。

算法1BN層縮放因子剪枝算法

在算法1中,μB和分別為輸入的均值和方差。卷積層每個濾波器均會產生1個特征圖,每個特征圖BN層在歸一化時有唯一的縮放系數γ與其對應,通過縮放值可選擇冗余的特征圖,再由特征圖選出冗余的濾波器,從而根據縮放系數大小來判斷濾波器的重要性。本文利用縮放系數γ從BN層角度更全面地判斷濾波器的冗余程度。

1.3 雙準則融合剪枝

雙準則融合剪枝是結合參數子空間和BN層縮放因子兩種剪枝算法去除冗余的濾波器以實現最精簡的網絡結構。參數子空間剪枝算法是從卷積層角度尋找網絡中冗余的濾波器,BN層縮放因子剪枝算法是從BN層角度尋找不重要的濾波器,本文將原始YOLOv3網絡結構通過上述兩種算法進行剪枝,以最大化壓縮網絡。

算法2雙準則融合剪枝算法

雙準則融合剪枝算法將訓練數據、原始YOLOv3網絡結構和初始化權重以及剪枝率P為輸入,以剪枝后網絡為輸出,具體過程如下:

1)原始YOLOv3網絡在訓練數據上進行訓練。

2)選取可剪枝的網絡卷積層。

3)對選取的卷積層運用肘部法則,得到每個卷積層剪枝需要的k值。

4)對選取的卷積層進行聚類操作,得到參數子空間。

5)在參數子空間進行權重排序,根據剪枝率得到需要刪除的濾波器。

6)在步驟2后,對每個卷積層的BN層縮放因子進行排序,根據剪枝率得到需去除的濾波器。

7)將步驟5和步驟6中得到的濾波器求并集。

8)在步驟2后去除步驟7中的濾波器總和,得到精簡的網絡結構。

9)在訓練數據上對新的網絡結構進行微調,得到最終需要的網絡模型。

10)若剪枝結果不理想,則重新選擇剪枝率并返回步驟5。

在上述過程中,剪枝率由實驗獲得,在保持網絡精度下結合參數子空間和BN層縮放因子兩種剪枝方法可最大限度地壓縮網絡。

2 實驗與結果分析

將本文提出的基于參數子空間和BN層縮放因子的雙準則剪枝算法(以下稱為本文雙準則剪枝算法)與其他剪枝算法在CIFAR10分類數據集上的網絡精度和浮點計算量進行對比,并將參數子空間剪枝算法、BN層縮放因子剪枝算法和本文雙準則剪枝算法在YOLOv3網絡中得到的實驗結果進行對比,以分析本文方法的剪枝性能。

2.1 不同剪枝算法的對比

將不同剪枝算法在CIFAR10數據集上實驗結果進行對比,如表1所示(“—”表示數據不詳,60U40是雙準則融合剪枝算法的剪枝率,其中60%的剪枝率屬于BN層縮放因子剪枝算法,40%的剪枝率屬于參數子空間剪枝算法)。可以看出,PF[17]算法的浮點計算量僅減少27.6%,網絡精度卻下降1.73%,這是因為該算法主要考慮濾波器權重的絕對值問題,默認了權重分布需遵循濾波器范數標準差較大以及濾波器最小范數接近0這兩個條件,對剪枝網絡和數據有一定的限制。CP[18]算法采用LASSO回歸方式選擇剪枝通道,但由于是逐層剪枝,因此剪枝后的網絡精度下降較多。LCCT[19]算法由于在卷積結構中加入LCCL加速卷積層,增加了訓練難度,因此浮點計算量無明顯減少。SFP[20]算法采用動態剪枝方式,但由于其剪枝策略仍根據權重的范數并保留BN層的偏置系數,因此造成剪枝精度隨機下降。AMFSF[10]算法引入注意力機制進行剪枝,并采用范數計算注意力的重要性,但其會忽略部分剪枝細節從而降低網絡穩定性。與其他算法相比,本文雙準則剪枝算法從權重和BN層兩個角度進行剪枝,在保證剪枝精度基本不變的情況下,其在ResNet56網絡中浮點計算量減少46.3%,在ResNet110網絡中浮點計算量減少45.6%。與其他剪枝算法相比,本文雙準則剪枝算法在分類過程中具有較好的剪枝效果。

表1 不同剪枝算法在CIFAR10數據集上實驗結果的對比Table 1 Comparison of experimental results of different pruning algorithms on CIFAR10 dataset

2.2 YOLOv3剪枝效果對比

本文以Ubuntu18.04軟件為實驗平臺,采用i9-9900K CPU和2080ti顯卡,使用Deer數據集,其中訓練集有4 367張圖像,測試集有519張圖像。將參數子空間剪枝算法、BN層縮放因子剪枝算法和本文雙準則融合剪枝算法在YOLOv3網絡中不同剪枝率下的剪枝效果進行對比,結果如表2~表4所示(70U40是雙準則融合剪枝算法的剪枝率,其中70%的剪枝率屬于BN層縮放因子剪枝算法,40%的剪枝率屬于參數子空間剪枝算法)。可以看出:參數子空間剪枝算法可去除所選卷積層50%的濾波器,MAP值下降約0.029,計算時間從每張圖像0.010 3 s下降到每張圖像0.008 0 s,網絡參數量下降約50%;BN層縮放因子剪枝算法可去除所選卷積層80%的濾波器,MAP值僅下降約0.007,計算時間下降到每張圖像0.007 3 s,網絡參數量下降約80%;本文雙準則剪枝算法的MAP值下降約0.032,計算時間下降到每張圖像0.006 6 s,網絡參數量下降約85%。

表2 YOLOv3網絡中參數子空間剪枝算法在不同剪枝率下的實驗結果Table 2 Experimental results of parameter subspace pruning algorithm in YOLOv3 network at different pruning rates

表3 YOLOv3網絡中BN層縮放因子剪枝算法在不同剪枝率下的實驗結果Table 3 Experimental results of BN layer scaling factor pruning algorithm in YOLOv3 network at different pruning rates

表4 YOLOv3網絡中本文雙準則融合剪枝算法在不同剪枝率下的實驗結果Table 4 Experimental results of double criteria fusion pruning algorithm in YOLOv3 network at different pruning rates

3 結束語

為保證目標檢測YOLOv3網絡在嵌入式設備上正常運行,本文提出一種結合參數子空間和BN層縮放因子的雙準則剪枝算法。采用參數子空間剪枝算法避免權重分布過于集中,使用BN層縮放因子剪枝算法去除不重要的濾波器,同時利用卷積層和BN層進行剪枝以最大化壓縮網絡。實驗結果表明,與PF、CP等剪枝算法相比,該算法可保持較高網絡精度且計算量更少。下一步將對網絡量化進行研究,在保證網絡精度的同時進一步壓縮網絡并提升計算速度。

主站蜘蛛池模板: 精品99在线观看| 日韩精品资源| 日韩高清一区 | 欧美一区二区三区欧美日韩亚洲 | 亚洲日韩第九十九页| 一本色道久久88| 亚洲精品第五页| 呦视频在线一区二区三区| 99re在线视频观看| 中文字幕无码制服中字| 大陆精大陆国产国语精品1024| 欧美日在线观看| 久久久久免费看成人影片| 99久久精品视香蕉蕉| 国产91视频免费观看| 成人福利一区二区视频在线| 日韩国产高清无码| 国产亚洲精品自在线| 五月天久久婷婷| 一本综合久久| 国产91久久久久久| 亚洲成人网在线观看| a级毛片免费网站| 欧美亚洲一二三区| 国产视频自拍一区| 五月婷婷欧美| 欧洲极品无码一区二区三区| 日韩天堂视频| 国产亚洲精品97在线观看| 一区二区三区国产| 欧美午夜一区| 国产精女同一区二区三区久| 香蕉久久国产超碰青草| 国产Av无码精品色午夜| 青青草原国产| 99色亚洲国产精品11p| 国产精品一区二区在线播放| 亚洲天堂高清| 欧洲日本亚洲中文字幕| 亚洲精品色AV无码看| 久久这里只有精品2| 久久精品中文字幕免费| 久久亚洲黄色视频| 国产福利在线观看精品| 国内丰满少妇猛烈精品播| 欧美日韩午夜| 久久91精品牛牛| 精品少妇人妻无码久久| 国产网站免费观看| 色婷婷电影网| 国产高清毛片| 国产特级毛片| 日韩成人在线网站| 最新国语自产精品视频在| 激情综合网址| 国产欧美日韩免费| 91麻豆精品国产高清在线| 国产91无码福利在线| 福利国产微拍广场一区视频在线| 久久久久青草大香线综合精品| 精品国产aⅴ一区二区三区| 国产午夜福利在线小视频| 亚洲国产欧美国产综合久久| 在线看片免费人成视久网下载| 国产成人亚洲精品蜜芽影院| 色有码无码视频| 99热这里都是国产精品| 呦系列视频一区二区三区| 精品国产91爱| 国产丝袜啪啪| 亚洲第一成年网| 青青网在线国产| 国产成人在线小视频| www精品久久| 少妇被粗大的猛烈进出免费视频| 欧美一级特黄aaaaaa在线看片| аⅴ资源中文在线天堂| 国产精品亚洲五月天高清| av在线手机播放| 日韩专区欧美| 91精品综合| 99热国产这里只有精品9九 |