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

        ?

        基于梯度的自適應(yīng)閾值結(jié)構(gòu)化剪枝算法

        2022-09-15 06:59:08王國棟錢躍良
        計(jì)算機(jī)工程 2022年9期
        關(guān)鍵詞:模型

        王國棟,葉 劍,2,謝 縈,2,錢躍良,2

        (1.臨沂中科人工智能創(chuàng)新研究院,山東 臨沂 276000;2.中國科學(xué)院計(jì)算技術(shù)研究所 泛在計(jì)算系統(tǒng)研究中心,北京 100190)

        0 概述

        深度神經(jīng)網(wǎng)絡(luò)的發(fā)展使圖像分類、目標(biāo)檢測(cè)等計(jì)算機(jī)視覺任務(wù)得到了巨大的性能提升。隨著計(jì)算機(jī)視覺處理任務(wù)日趨復(fù)雜,研究人員所設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)規(guī)模也逐步增大。神經(jīng)網(wǎng)絡(luò)的規(guī)模能夠代表其學(xué)習(xí)能力,模型的參數(shù)量越多,模型容量越大,學(xué)習(xí)能力也越強(qiáng)。然而,針對(duì)不同的任務(wù)進(jìn)行網(wǎng)絡(luò)設(shè)計(jì)時(shí)很難確定神經(jīng)網(wǎng)絡(luò)的寬度和深度,通常研究者設(shè)計(jì)一個(gè)過參數(shù)化網(wǎng)絡(luò)來保證學(xué)習(xí)能力,同時(shí)保證模型訓(xùn)練階段能夠收斂到一個(gè)比較好的局部最優(yōu)點(diǎn)[1-2]。但復(fù)雜的網(wǎng)絡(luò)模型需要高額的存儲(chǔ)空間和計(jì)算資源,在邊緣設(shè)備的實(shí)際應(yīng)用中,設(shè)備的計(jì)算性能和存儲(chǔ)資源很難滿足過參數(shù)化網(wǎng)絡(luò)的性能需求。針對(duì)上述問題,可對(duì)模型進(jìn)行壓縮,以有效減少計(jì)算空間和時(shí)間消耗,提高模型的運(yùn)行效率。神經(jīng)網(wǎng)絡(luò)的壓縮方法主要有低秩分解、剪枝、量化、知識(shí)蒸餾、緊湊的網(wǎng)絡(luò)設(shè)計(jì)等,其中剪枝方法簡單有效,是目前的研究熱點(diǎn)。

        模型剪枝應(yīng)設(shè)計(jì)可保證模型精度不損失的有效壓縮模型,關(guān)鍵問題在于如何評(píng)價(jià)神經(jīng)元的重要性和怎樣移除神經(jīng)元。剪枝算法可分為非結(jié)構(gòu)化剪枝和結(jié)構(gòu)化剪枝兩種方式。非結(jié)構(gòu)化剪枝是一種細(xì)粒度的剪枝方式,其直接針對(duì)模型中的參數(shù)進(jìn)行剪枝,通常會(huì)根據(jù)權(quán)值、梯度等不同的方面衡量參數(shù)的重要性,不重要的參數(shù)會(huì)被剪除。非結(jié)構(gòu)化剪枝能夠有效地壓縮模型,但是得到的稀疏權(quán)重矩陣需要特殊的硬件設(shè)備支持。結(jié)構(gòu)化剪枝是對(duì)模型中的濾波器、通道等結(jié)構(gòu)進(jìn)行剪枝,通過在損失函數(shù)中加入卷積核中權(quán)值L1、L2 正則項(xiàng)的方法評(píng)價(jià)卷積核的重要性[3]。結(jié)構(gòu)化剪枝方式對(duì)于網(wǎng)絡(luò)每一層都需要設(shè)定超參數(shù),并且在進(jìn)行剪枝時(shí)網(wǎng)絡(luò)需要迭代多次才能收斂。除了在損失函數(shù)中對(duì)卷積核權(quán)重加入正則化的方式評(píng)價(jià)卷積核的重要性之外,也有研究利用Batch Normalization 中的γ參數(shù)來評(píng)價(jià)特征圖的重要性[4],通過卷積核與上層特征圖卷積得到本層特征圖,通過γ參數(shù)評(píng)價(jià)特征圖間接實(shí)現(xiàn)對(duì)卷積核的評(píng)價(jià)。結(jié)構(gòu)化剪枝算法實(shí)現(xiàn)簡單且不需要硬件設(shè)備支持,但是評(píng)價(jià)濾波器重要性時(shí)也同樣從卷積核、通道等結(jié)構(gòu)出發(fā),無法對(duì)單個(gè)神經(jīng)元的重要性進(jìn)行評(píng)價(jià)。

        模型的梯度信息與損失函數(shù)直接相關(guān),利用梯度信息能夠剔除影響模型收斂的冗余參數(shù),在保證壓縮參數(shù)量和計(jì)算量的同時(shí)提高模型性能。直接利用訓(xùn)練好的模型梯度信息相比加入懲罰因子、利用Batch Normalization 中的γ參數(shù)等學(xué)習(xí)化的方法更簡單有效。為了最大限度剔除神經(jīng)網(wǎng)絡(luò)中的冗余參數(shù),本文采用權(quán)重梯度的絕對(duì)值對(duì)卷積核中的神經(jīng)元進(jìn)行量化,設(shè)置不同閾值,利用網(wǎng)格搜索的方式獲取剪枝前后剩余參數(shù)量差值,通過計(jì)算參數(shù)量差值曲線的曲率最大值,確定參數(shù)量不發(fā)生明顯變化時(shí)網(wǎng)絡(luò)層的剪枝權(quán)重閾值。本文算法只需要對(duì)網(wǎng)絡(luò)進(jìn)行一次剪枝即能重新訓(xùn)練恢復(fù)模型精度,而無需經(jīng)歷多次剪枝-重訓(xùn)練的重復(fù)循環(huán)過程。

        1 相關(guān)工作

        利用模型參數(shù)的絕對(duì)值大小評(píng)估神經(jīng)元重要性是模型剪枝操作中用來剔除不重要神經(jīng)元最直接的評(píng)價(jià)方式。文獻(xiàn)[5]提出以模型中權(quán)重的大小表征其重要程度,并將模型中權(quán)值低于某個(gè)閾值的權(quán)重參數(shù)置為0,然后通過重新訓(xùn)練的方式恢復(fù)模型精度。這種將某個(gè)權(quán)重直接歸零的方式屬于非結(jié)構(gòu)化剪枝方法,此類方法能夠有效地壓縮模型,但是需要特殊的硬件設(shè)備支持。文獻(xiàn)[3]計(jì)算一個(gè)卷積核內(nèi)所有權(quán)值絕對(duì)值之和來表征每層中該卷積核的重要性,根據(jù)權(quán)重絕對(duì)值之和對(duì)卷積核進(jìn)行排序,剔除權(quán)重絕對(duì)值之和最小的卷積核。在CIFAR10 數(shù)據(jù)集上,該方法可使VGG-16 的推理成本相比剪枝前降低34%,ResNet-110 最高可降低38%,其通過在損失函數(shù)中加入L1、L2 正則項(xiàng)的方法評(píng)價(jià)卷積核的重要程度,對(duì)于每一層都需要設(shè)定超參數(shù),并且進(jìn)行剪枝時(shí)網(wǎng)絡(luò)需要迭代多次才能收斂。也有研究[6]以group Lasso 的方式獲取稀疏化權(quán)重,將濾波器的權(quán)重分成多個(gè)組,通過對(duì)每個(gè)組的權(quán)重值進(jìn)行L1 正則化獲取稀疏權(quán)重,實(shí)現(xiàn)對(duì)模型的壓縮。

        除了采用權(quán)值的方式之外,也有研究[7-9]結(jié)合梯度值與模型權(quán)重進(jìn)行剪枝。文獻(xiàn)[7]將模型剪枝視作優(yōu)化問題,通過泰勒展開式評(píng)價(jià)卷積核參數(shù)全部為0 時(shí)對(duì)損失函數(shù)的影響,最終得到參數(shù)值與其梯度值的乘積來評(píng)價(jià)神經(jīng)元的重要性。但該方法每完成一個(gè)卷積核的剪枝過程就需要重新訓(xùn)練一次網(wǎng)絡(luò)恢復(fù)模型精度。文獻(xiàn)[8]提出在深度模型訓(xùn)練之前多次采樣部分訓(xùn)練數(shù)據(jù),利用損失函數(shù)關(guān)于權(quán)重連接的梯度決定不同權(quán)重連接的重要性。該方法只需要一次剪枝操作即可實(shí)現(xiàn)權(quán)重重要性評(píng)價(jià),避免了剪枝-微調(diào)的迭代過程。文獻(xiàn)[9]通過計(jì)算數(shù)據(jù)的反向傳播梯度得到損失變化的估計(jì)值,使用權(quán)重對(duì)應(yīng)的梯度值量化所有權(quán)重元素的重要性,并將權(quán)重按梯度絕對(duì)值升序排序,去除不重要的權(quán)重。上述3 種方法都屬于結(jié)構(gòu)化剪枝方式,通常會(huì)對(duì)濾波器、通道等結(jié)構(gòu)進(jìn)行重要性評(píng)估,然后去除不重要的濾波器和通道。

        除了基于度量標(biāo)準(zhǔn)的方法判斷神經(jīng)元的重要性之外,還有采用參數(shù)的熵值[10-11]、最小化特征輸出重建誤差[12-13]等方法。這些方法以神經(jīng)網(wǎng)絡(luò)的卷積核或通道為最小單位進(jìn)行量化,通過度量剪枝前后信息傳遞的完整性對(duì)模型進(jìn)行剪枝,但都與結(jié)構(gòu)化剪枝的方法類似,在剪枝過程中需要對(duì)網(wǎng)絡(luò)進(jìn)行多次訓(xùn)練,耗費(fèi)了大量時(shí)間。非結(jié)構(gòu)化剪枝方法雖然在剪枝過程中無需多次訓(xùn)練并且對(duì)神經(jīng)網(wǎng)絡(luò)的單個(gè)神經(jīng)元進(jìn)行了細(xì)粒度評(píng)價(jià),能夠取得很好的壓縮效果,但是壓縮后的模型需要專用硬件和算法庫的支持,不具備通用性。

        2 卷積核自適應(yīng)閾值剪枝算法

        本文算法根據(jù)反向傳播的梯度絕對(duì)值來衡量神經(jīng)元的重要性,利用多次搜索到的參數(shù)閾值自適應(yīng)確定不同網(wǎng)絡(luò)層的剪枝閾值,通過剪枝閾值調(diào)整卷積核個(gè)數(shù),從而對(duì)模型進(jìn)行壓縮。在此過程中,網(wǎng)絡(luò)執(zhí)行一次數(shù)據(jù)迭代即可完成模型壓縮,對(duì)壓縮模型進(jìn)行重新訓(xùn)練即可恢復(fù)模型精度。

        2.1 基于梯度衡量準(zhǔn)則的剪枝算法

        本文算法采用梯度絕對(duì)值作為評(píng)判濾波器中權(quán)重重要性的依據(jù),統(tǒng)計(jì)模型中梯度絕對(duì)值的最大值GMl,在(0,GMl)范圍內(nèi)設(shè)置間隔值,利用梯度間隔值以網(wǎng)格搜索的方式獲取2 次剪枝后剩余參數(shù)量的差值,根據(jù)剩余參數(shù)量的差值求取曲率,據(jù)此確定濾波器的剪枝閾值。在算法自適應(yīng)獲取到剪枝閾值后,將濾波器中小于梯度閾值的權(quán)重設(shè)置為0,統(tǒng)計(jì)每個(gè)濾波器中非零權(quán)重的數(shù)量,將小于a×Nmax的濾波器剪去(0 <a<1),保留剩下的濾波器個(gè)數(shù),最后通過修改卷積核進(jìn)而決定下一層產(chǎn)生的通道數(shù)。本文算法流程如圖1 所示,具體步驟如下:

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

        步驟1載入利用圖像和標(biāo)注實(shí)例訓(xùn)練完成的基線模型,選擇需要剪枝的網(wǎng)絡(luò)層。

        步驟2統(tǒng)計(jì)基線模型第l層濾波器中所有卷積核個(gè)數(shù),其中,l表示當(dāng)前網(wǎng)絡(luò)層數(shù),l=1,2,…。

        步驟3計(jì)算第l層、第t個(gè)卷積核中的參數(shù)Plt、所有梯度值Glt及所有參數(shù)量。

        步驟9重復(fù)步驟2~步驟8 完成所有層的卷積核個(gè)數(shù)計(jì)算。

        步驟10獲取待剪枝的所有層卷積核個(gè)數(shù)后,對(duì)網(wǎng)絡(luò)模型進(jìn)行卷積核個(gè)數(shù)調(diào)整。

        步驟11進(jìn)行重新訓(xùn)練。

        2.2 卷積層自適應(yīng)剪枝閾值方法與通道調(diào)整

        本文算法中的自適應(yīng)閾值是在每層網(wǎng)絡(luò)中設(shè)置不同的剪枝參數(shù)量,通過網(wǎng)格搜索的方式查找神經(jīng)網(wǎng)絡(luò)中不同網(wǎng)絡(luò)層的卷積核所對(duì)應(yīng)的剪枝閾值,根據(jù)每次搜索后的剩余參數(shù)量確定不同卷積層中卷積核內(nèi)置零的冗余參數(shù)。對(duì)于剪枝算法流程中的閾值,先通過求取剩余參數(shù)量的曲率半徑,再根據(jù)最大曲率半徑對(duì)應(yīng)的剩余參數(shù)量得到不同卷積層對(duì)應(yīng)的剪枝閾值?,F(xiàn)有神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)多呈金字塔型,網(wǎng)絡(luò)層數(shù)越深,網(wǎng)絡(luò)的卷積核個(gè)數(shù)越多,參數(shù)量越大。針對(duì)不同網(wǎng)絡(luò)層的參數(shù)量,計(jì)算每個(gè)網(wǎng)絡(luò)層中權(quán)重參數(shù)對(duì)應(yīng)的梯度絕對(duì)值的最大值,根據(jù)設(shè)置的搜索步數(shù)上限和最大絕對(duì)值梯度確定該網(wǎng)絡(luò)層的多個(gè)搜索閾值,通常搜索步數(shù)上限設(shè)置為100。利用梯度絕對(duì)值衡量權(quán)值重要性,在設(shè)置不同梯度閾值時(shí),剩余參數(shù)量的變化如圖2 所示。

        圖2 VGG16 第1、4、8、12 層網(wǎng)絡(luò)參數(shù)搜索閾值Fig.2 Parameter searching thresholds of the 1st,4th,8th and 12th layer network for VGG16

        由圖2 可以看出,當(dāng)網(wǎng)格搜索達(dá)到20~50 步時(shí),剩余參數(shù)量會(huì)明顯減少,表明大量不重要參數(shù)需要被減除,通常達(dá)到50 步以后剩余參數(shù)量趨于穩(wěn)定。根據(jù)不同的梯度閾值能夠獲取所有網(wǎng)格搜索閾值下的剩余參數(shù)量,對(duì)所有離散點(diǎn)進(jìn)行數(shù)據(jù)平滑后,通過求取剩余參數(shù)量的最大曲率半徑,對(duì)不同濾波器自適應(yīng)地獲取梯度閾值。如圖2 所示,不同網(wǎng)絡(luò)層的閾值基本上在兩次間隔搜索的參數(shù)差值即將不發(fā)生變化之前確定。根據(jù)閾值確定不同濾波器所用的剪枝步數(shù)mi,最終由可得每個(gè)卷積核中剪枝的參數(shù)梯度閾值,將卷積核中梯度值小于的參數(shù)值置零,再統(tǒng)計(jì)所有濾波器中卷積核的非零個(gè)數(shù),對(duì)數(shù)量小于的卷積核進(jìn)行裁剪,具體如圖3 所示。整個(gè)剪枝過程通過自適應(yīng)搜索得到的梯度閾值確定置零的參數(shù)在每個(gè)卷積核中的占比,超參數(shù)a控制每層的剪枝比例。根據(jù)不同剪枝比例,一般設(shè)置a為0.1、0.2、0.3、0.4、0.5,a的值越大,剪枝比例越大。

        圖3 卷積核個(gè)數(shù)調(diào)整Fig.3 Adjustment of the number of convolution kernels

        對(duì)殘差網(wǎng)絡(luò)完成剪枝后,會(huì)存在通道不匹配的問題。ResNet50 的殘差結(jié)構(gòu)如圖4(a)所示,其中:殘差分支包含3 層卷積核用來改變?yōu)V波器核的尺寸和個(gè)數(shù);捷徑分支上有一個(gè)1×1 的卷積層。如果對(duì)Conv1 和Conv2 進(jìn)行剪枝只會(huì)影響到后一層的輸入,如果對(duì)Conv3 進(jìn)行剪枝會(huì)影響主分支和捷徑分支最后的相加操作。針對(duì)剪枝過程中殘差結(jié)構(gòu)內(nèi)部殘差分支和捷徑分支通道變化的情況,采取改變捷徑分支濾波器個(gè)數(shù)和殘差分支最后一層濾波器個(gè)數(shù)的方式進(jìn)行通道匹配,如圖4(b)所示。如果對(duì)Conv3 進(jìn)行剪枝,則要將殘差分支最后一層濾波器的個(gè)數(shù)和捷徑通道的濾波器個(gè)數(shù)設(shè)置為剪枝結(jié)果給出的M。

        圖4 ResNet50 殘差結(jié)構(gòu)剪枝處理Fig.4 Pruning treatment of ResNet50 residual structure

        3 實(shí)驗(yàn)結(jié)果與分析

        針對(duì)本文提出的結(jié)構(gòu)化剪枝算法,分別在VGGNet[14]、ResNet[15]等分類模型和SSD[16]、Yolov4[17]、MaskRCNN[18]等目標(biāo)檢測(cè)模型上進(jìn)行模型壓縮,所有的實(shí)驗(yàn)均基于PyTorch 框架。

        3.1 實(shí)驗(yàn)數(shù)據(jù)集

        對(duì)于分類模型,在深度學(xué)習(xí)領(lǐng)域常用的圖片數(shù)據(jù)集Cifar10 上進(jìn)行剪枝實(shí)驗(yàn)。Cifar10 數(shù)據(jù)集包含10 個(gè)不同類別,每個(gè)類別有6 000 張彩色圖片,每張圖片大小為32×32像素。Cifar10的訓(xùn)練集有50 000張圖片,測(cè)試集有10 000 張圖片。

        對(duì)于目標(biāo)檢測(cè)模型,分別在公開的EgoHands 數(shù)據(jù)集和安全頭盔佩戴數(shù)據(jù)集SHWD 上進(jìn)行剪枝實(shí)驗(yàn)。EgoHands 數(shù)據(jù)集有4 800 張彩色圖片,其中包含超過15 000 多只手的圖片,每張圖片大小為720×1 280 像素,3 874 張圖片用于訓(xùn)練,431張圖片用于驗(yàn)證,479張圖片用于測(cè)試。SHWD 數(shù)據(jù)集有7 581張彩色圖片,其中包含9 044 個(gè)佩戴安全頭盔對(duì)象和111 514 個(gè)未佩戴安全帽對(duì)象,圖像尺寸大小不一致,5 457 張圖片用于訓(xùn)練,607 張圖片用于驗(yàn)證,1 517 張圖片用于測(cè)試。

        3.2 剪枝算法對(duì)比與性能評(píng)價(jià)指標(biāo)

        將本文提出的剪枝算法與PF[3]、SFP[19]、Rethinking[20]等算法進(jìn)行性能對(duì)比,評(píng)價(jià)指標(biāo)為分類準(zhǔn)確率(目標(biāo)檢測(cè)中用mAP 衡量)、模型參數(shù)量和浮點(diǎn)運(yùn)算數(shù)(Floating Point Operations,F(xiàn)LOPs)。其中:分類準(zhǔn)確率表示分類模型的分類正確率;模型參數(shù)量表示神經(jīng)網(wǎng)絡(luò)模型在計(jì)算機(jī)中內(nèi)存的占用量,決定模型文件的大?。籉LOPs 表示神經(jīng)網(wǎng)絡(luò)模型的計(jì)算量,用于衡量模型的復(fù)雜度。

        3.3 結(jié)果分析

        3.3.1 分類模型剪枝實(shí)驗(yàn)

        對(duì)分類模型VGG16、ResNet50 和resnet56 采 用如下超參數(shù)設(shè)置訓(xùn)練:Epoch 設(shè)置為200,初始學(xué)習(xí)率設(shè)置為0.1。優(yōu)化方法采用隨機(jī)梯度下降法,其中,momentum 設(shè)置為0.9,weight_decay 設(shè)置為0.000 5。學(xué)習(xí)率衰減策略采用余弦退火學(xué)習(xí)方法。表1 為利用不同算法對(duì)這兩種分類模型剪枝后的實(shí)驗(yàn)結(jié)果對(duì)比,表中粗體表示最優(yōu)結(jié)果,“—”表示文獻(xiàn)中缺少對(duì)應(yīng)數(shù)據(jù),對(duì)比算法的實(shí)驗(yàn)結(jié)果直接使用文獻(xiàn)[3,19-21]中的數(shù)據(jù)。

        表1 不同剪枝算法對(duì)分類模型的剪枝實(shí)驗(yàn)結(jié)果Table 1 Pruning experiment results of different pruning algorithms on classification models %

        由表1 可知,當(dāng)設(shè)置不同超參數(shù)a時(shí),本文算法較其他算法使VGG16、ResNet50 參數(shù)量減少了92%以上,計(jì)算量分別減少了70.96%和96.92%,網(wǎng)絡(luò)參數(shù)量和計(jì)算量的壓縮比例遠(yuǎn)高于其他算法。在VGG16 的剪枝實(shí)驗(yàn)中,設(shè)置a=0.5 時(shí)剪枝效率最高,剪枝后模型精度相比原模型并沒有明顯下降,設(shè)置a=0.4 時(shí)精度損失最小。在ResNet50 的剪枝實(shí)驗(yàn)中,網(wǎng)絡(luò)的參數(shù)量和計(jì)算量最高分別壓縮了98.60%和96.92%,壓縮后的模型參數(shù)量僅為327.06 Kb,對(duì)比Winning Ticket 和Random Init 算法,本文算法在保證模型精度的同時(shí)能夠大幅減少模型的參數(shù)量和計(jì)算量。在resnet56 的剪枝實(shí)驗(yàn)中,原始模型參數(shù)量和計(jì)算量分別為853.02 Kb 和0.13 GMac,遠(yuǎn)小于其他兩種模型,對(duì)resnet56 模型完成50%以上的參數(shù)量剪枝后模型更小,恢復(fù)精度訓(xùn)練更加困難。在權(quán)衡模型容量和精度損失后,resnet56 設(shè)置超參數(shù)a=0.2 時(shí)達(dá)到最優(yōu)剪枝效果,最終剪枝后模型分類準(zhǔn)確率能達(dá)到92.18%。

        3.3.2 目標(biāo)檢測(cè)模型剪枝實(shí)驗(yàn)

        目前,目標(biāo)檢測(cè)模型剪枝實(shí)驗(yàn)相對(duì)較少,并且所用數(shù)據(jù)集和算法并不統(tǒng)一。本文使用EgoHands 和SHWD 這兩個(gè)公開數(shù)據(jù)集對(duì)本文提出的剪枝算法進(jìn)行測(cè)試,選擇經(jīng)典的目標(biāo)檢測(cè)模型進(jìn)行剪枝實(shí)驗(yàn),直接采用文獻(xiàn)[22-26]中的數(shù)據(jù)進(jìn)行對(duì)比,分別對(duì)比Faster RCNN[22]、SSD[23]、Yolo 系列[24-26]等目標(biāo)檢測(cè)模型采用不同剪枝算法的剪枝效果。訓(xùn)練模型的硬件設(shè)備設(shè)置為處理器Xeon Silver 4216、GPU 顯卡RTX 3070 8 GB;操作系統(tǒng)為Ubuntu18.0.4,python 環(huán)境為3.6.10。在不同數(shù)據(jù)集上的訓(xùn)練超參數(shù)如表2所示,其中,學(xué)習(xí)率衰減策略中的等間隔調(diào)整學(xué)習(xí)率gamma 設(shè)置為0.91,剪枝前模型訓(xùn)練step_size 設(shè)置為1,迭代次數(shù)設(shè)置為200,剪枝后的網(wǎng)絡(luò)模型相對(duì)較小,恢復(fù)精度需要迭代更多的次數(shù),通常將模型訓(xùn)練step_size 設(shè)置為3,迭代次數(shù)設(shè)置為300。CSPdarknet53 的網(wǎng)絡(luò)設(shè)計(jì)相對(duì)輕量化,在達(dá)到同樣參數(shù)壓縮比例的情況下影響了模型的特征提取能力。CSPdarknet53 模型壓縮后恢復(fù)精度訓(xùn)練容易出現(xiàn)梯度爆炸的情況,損失函數(shù)會(huì)出現(xiàn)NaN 的問題。為了防止CSPdarknet53 出現(xiàn)梯度爆炸,加速網(wǎng)絡(luò)收斂,先凍結(jié)全部的骨干網(wǎng)絡(luò)迭代10 次,再解凍訓(xùn)練全部參數(shù)恢復(fù)模型精度。

        表2 不同目標(biāo)檢測(cè)模型的訓(xùn)練超參數(shù)設(shè)置Table 2 Training hyperparameters setting of different target detection models

        利用本文算法和文獻(xiàn)[22-26]算法對(duì)3 種模型剪枝前后的實(shí)驗(yàn)結(jié)果對(duì)比如表3 所示,其中,“—”表示文獻(xiàn)中缺少對(duì)應(yīng)數(shù)據(jù)。表中給出了不同剪枝算法實(shí)驗(yàn)所用數(shù)據(jù)集,在不同剪枝算法對(duì)比上主要分析模型壓縮比率和精度損失情況。由表3 可以看出:利用文獻(xiàn)[22]算法對(duì)骨干網(wǎng)絡(luò)為ResNet50 的FasterRCNN 模型壓縮后精度下降1.6%,但是模型參數(shù)量只壓縮了26.21%;利用文獻(xiàn)[23]算法對(duì)骨干網(wǎng)絡(luò)為VGG16 的SSD 檢測(cè)模型進(jìn)行壓縮,模型參數(shù)量壓縮超過60%,但模型精度下降10.48%;文獻(xiàn)[24]算法采用權(quán)值、激活值、梯度3 種方式衡量神經(jīng)元的重要性,最終Yolov3 模型參數(shù)量壓縮80.38%,精度下降5.2%。文獻(xiàn)[22-24]實(shí)驗(yàn)數(shù)據(jù)都采用Pascal VOC數(shù)據(jù)集,該數(shù)據(jù)集中目標(biāo)相對(duì)明顯但是需要檢測(cè)的物體種類較多,對(duì)模型過度壓縮會(huì)影響模型精度。Drones 和Deer 數(shù)據(jù)集中目標(biāo)種類相比Pascal VOC類別要少,但是目標(biāo)像素占比相對(duì)較小,并且目標(biāo)數(shù)量較多。利用文獻(xiàn)[25-26]算法分別對(duì)Yolov4 和Yolov3 進(jìn)行模型壓縮,雖然能夠達(dá)到較高的模型壓縮比率,但是精度損失相對(duì)較大。

        模型壓縮多針對(duì)特定數(shù)據(jù)集進(jìn)行壓縮,以方便模型在邊緣設(shè)備上部署。本實(shí)驗(yàn)采用EgoHands 和SHWD 兩種數(shù)據(jù)集對(duì)3 種算法進(jìn)行測(cè)試。EgoHands數(shù)據(jù)集相對(duì)比較簡單,3 種原始檢測(cè)模型精度相對(duì)比較高。實(shí)驗(yàn)結(jié)果表明,采用本文算法剪枝前后模型的參數(shù)量減少都超過80%,計(jì)算量減少都超過65%。SHWD數(shù)據(jù)集相比EgoHands較為復(fù)雜,相比EgoHands數(shù)據(jù)集上的實(shí)驗(yàn),模型精度相對(duì)較低。為了保證剪枝以后模型精度不受太大影響,對(duì)模型壓縮比例進(jìn)行限制,在表3 中給出在兩種數(shù)據(jù)集實(shí)驗(yàn)中權(quán)衡剪枝比率和模型精度最優(yōu)的超參數(shù)a。

        3 種模型的骨干網(wǎng)絡(luò)不同,SSD 采用VGG16 作為骨干網(wǎng)絡(luò),VGG16 整體結(jié)構(gòu)比較簡單,采用堆疊規(guī)整的卷積塊結(jié)構(gòu)進(jìn)行特征提取,提取特征的能力有限。對(duì)SSD 過度壓縮容易影響模型精度,SSD 在兩個(gè)數(shù)據(jù)集上的壓縮比率都超過了75%,在3 種模型中SSD 壓縮比率最小。ResNet50 采用殘差模塊解決訓(xùn)練退化問題,增強(qiáng)了深度網(wǎng)絡(luò)的特征提取能力。從表3 的實(shí)驗(yàn)結(jié)果也可以發(fā)現(xiàn),MaskRCNN 的參數(shù)量壓縮比例在SHWD 數(shù)據(jù)集上達(dá)到81.57%,在EgoHands 數(shù)據(jù)集上達(dá)到91.33%,而MaskRCNN 的精度損失也最小,這充分證明了ResNet50 相比其他兩種骨干網(wǎng)絡(luò)特征提取能力更強(qiáng)。CSPdarknet53 同樣采用了殘差結(jié)構(gòu),但是相比其他兩種骨干網(wǎng)絡(luò)更輕量化,對(duì)應(yīng)的模型容量也更小,在達(dá)到其他兩種模型相當(dāng)?shù)膲嚎s比例情況下會(huì)影響模型的精度。對(duì)比本文算法與其他算法的實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),在模型達(dá)到同樣壓縮比例的前提下,本文算法精度損失更小。

        表3 不同算法對(duì)目標(biāo)檢測(cè)模型的剪枝實(shí)驗(yàn)結(jié)果Table 3 Pruning experiment results of different algorithms on target detection models %

        4 結(jié)束語

        為了細(xì)粒度地評(píng)價(jià)卷積核中每個(gè)神經(jīng)元的重要性,本文提出采用權(quán)重的梯度絕對(duì)值來衡量卷積核中每個(gè)權(quán)重的影響,采用網(wǎng)格搜索的方式獲取剪枝前后剩余參數(shù)量差值,通過計(jì)算剩余參數(shù)量差值的曲率大小獲取不同網(wǎng)絡(luò)層的剪枝權(quán)重閾值,利用超參數(shù)a控制最終的剪枝比例。在Cifar10 數(shù)據(jù)集上對(duì)3 種模型的超參數(shù)a設(shè)置進(jìn)行實(shí)驗(yàn)分析,在2 種數(shù)據(jù)集上對(duì)常用的目標(biāo)檢測(cè)模型進(jìn)行剪枝實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,與Rethinking、PF 等剪枝算法相比,本文算法能夠在高壓縮比例的情況下保證模型的精度,在常用目標(biāo)檢測(cè)模型上能夠在保證模型精度的同時(shí)有效減少模型的參數(shù)量和計(jì)算量。后續(xù)將對(duì)知識(shí)蒸餾進(jìn)行研究,通過多種網(wǎng)絡(luò)壓縮方法相融合的方式進(jìn)一步提高壓縮比例,同時(shí)使算法能夠?qū)W習(xí)原網(wǎng)絡(luò)的知識(shí),保證壓縮后的模型精度。

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機(jī)模型
        提煉模型 突破難點(diǎn)
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達(dá)及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        3D打印中的模型分割與打包
        加勒比东京热一区二区| 挺进朋友人妻雪白的身体韩国电影| 中文字幕人妻av一区二区| 亚洲av片不卡无码久久| 中文字幕人成人乱码亚洲| 国产一区二区三区高清视频| 亚洲av手机在线一区| 国产一区二区av免费观看| 99精品国产在热久久无毒不卡| 久久亚洲精品成人无码| 天天天天躁天天爱天天碰| 午夜福利视频合集1000| 99久久综合狠狠综合久久一区| 婷婷开心五月综合基地| 国产不卡在线播放一区二区三区| 久久av不卡人妻出轨一区二区| 视频在线观看免费一区二区| 国产综合无码一区二区辣椒| 亚洲国产18成人中文字幕久久久久无码av | 亚洲最全av一区二区| 性生交大全免费看 | 另类人妖在线观看一区二区| 字幕网中文字幕精品一区| 波多野结衣av一区二区全免费观看| а天堂中文在线官网| 丰满少妇愉情中文字幕18禁片| 日韩爱爱网站| 国产真实乱XXXⅩ视频| 男女午夜视频一区二区三区| 亚洲国产色一区二区三区| 成人免费看www网址入口| 亚洲依依成人综合在线网址| 国产精品视频一区二区三区,| 国产一区二区三区成人 | 国产精品多人P群无码| 中文字幕一区二区va| 国产极品少妇一区二区| 亚洲成av人片在线观看无码| 国产一区二区三区免费在线视频 | 国产精品v片在线观看不卡| 装睡被陌生人摸出水好爽|