亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        楊民杰,梁亞玲,杜明輝

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

        0 概述

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

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

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

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

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

        1 雙準則剪枝算法

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

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

        1.1 基于參數(shù)子空間的剪枝算法

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

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

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

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

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

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

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

        圖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

        由于本文在聚類分析前先將卷積層每個濾波器的權重進行求和,再對求和后的權重進行聚類分析,因此聚類分析針對單層網(wǎng)絡進行,在單層網(wǎng)絡上使用肘部法則確定k值。使用該方法對每個卷積層用不同k值進行聚類分析得到各卷積層聚類結果。計算卷積層每個聚類類別中濾波器的權重,將其按照由大到小排序,并根據(jù)一定比例去除權重較小的濾波器。本文使用基于參數(shù)子空間的方法對單層卷積層進行剪枝實驗,剪枝率設置為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均值聚類再根據(jù)權重排序進行剪枝,可避免濾波器范數(shù)標準差較大以及濾波器最小范數(shù)接近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層可有效防止梯度爆炸并加速網(wǎng)絡收斂,因此其被應用于各種卷積層神經(jīng)網(wǎng)絡中,位于卷積層之后,以對卷積層后的特征圖完成歸一化操作。然而若BN層僅在卷積層后進行歸一化,再直接將數(shù)據(jù)送入下一層進行卷積計算,則網(wǎng)絡將無法學習輸出的特征分布。由于BN層后有ReLu激活層,若BN層后的特征圖數(shù)據(jù)大部分小于0,那么其經(jīng)過ReLu激活層后將失去大部分特征值,因此,BN層需通過優(yōu)化縮放系數(shù)γ和偏移系數(shù)β對數(shù)據(jù)進行歸一化處理,使網(wǎng)絡能學習到輸出的特征分布。

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

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

        1.3 雙準則融合剪枝

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

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

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

        1)原始YOLOv3網(wǎng)絡在訓練數(shù)據(jù)上進行訓練。

        2)選取可剪枝的網(wǎng)絡卷積層。

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

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

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

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

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

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

        9)在訓練數(shù)據(jù)上對新的網(wǎng)絡結構進行微調(diào),得到最終需要的網(wǎng)絡模型。

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

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

        2 實驗與結果分析

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

        2.1 不同剪枝算法的對比

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

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

        2.2 YOLOv3剪枝效果對比

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

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

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

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

        3 結束語

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

        人妻少妇满足中文字幕| 国产亚洲欧美精品一区| 国产高清女人对白av在在线| 看一区二区日本视频免费| 日本在线视频www色| 亚洲韩日av中文字幕| 国产人妻高清国产拍精品| 亚洲av国产精品色午夜洪2 | 国产精品白浆一区二区免费看| av免费一区在线播放| 2020国产在视频线自在拍| 岳好紧好湿夹太紧了好爽矜持| 在线精品免费观看| 国产女主播免费在线观看| 丰满少妇被猛进去高潮| 色欲av蜜桃一区二区三| 手机看片久久国产免费| 蜜桃视频在线免费观看一区二区| 漂亮丰满人妻被中出中文字幕| 天天爽夜夜爱| 久久国产精彩视频| 国产喷白浆精品一区二区豆腐 | 国产午夜精品一区二区三区不| 日日麻批视频免费播放器| 亚洲国产精品久久久av| 性色av无码久久一区二区三区| 国产成人美女AV| 色综合久久人妻精品日韩| 久久久亚洲欧洲日产国码二区| 人妻少妇看a偷人无码精品| 韩国主播av福利一区二区| 亚洲国产成人va在线观看天堂| 国产免费无遮挡吸奶头视频| 亚洲一区二区三区国产精华液| 亚洲精品一区二区三区播放| 日韩精品视频高清在线| 无码国产福利av私拍| 久久91综合国产91久久精品| 国产成人美涵人妖视频在线观看| 婷婷成人丁香五月综合激情| 国产人碰人摸人爱视频|