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

        ?

        基于中間圖特征提取的卷積網(wǎng)絡(luò)雙標(biāo)準(zhǔn)剪枝

        2023-03-16 10:20:58程小輝康燕萍
        計(jì)算機(jī)工程 2023年3期
        關(guān)鍵詞:互信息剪枝殘差

        程小輝,李 鈺,康燕萍

        (1.桂林理工大學(xué) 信息科學(xué)與工程學(xué)院,廣西 桂林 541006;2.廣西嵌入式技術(shù)與智能系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541006)

        0 概述

        近年來,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在圖像識別、文本翻譯等領(lǐng)域應(yīng)用越來越廣泛,引起了國內(nèi)外諸多學(xué)者的關(guān)注。然而,卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算和存儲上存在大量開銷,尤其是近些年出現(xiàn)的大規(guī)模CNN 模型,如VGGNet[1]、GoogleNet[2]、ResNet[3]、AlexNet[4]等,網(wǎng)絡(luò)模型均存在巨量的參數(shù),對設(shè)備的內(nèi)存和計(jì)算性能要求較高,難以在嵌入式等算力和存儲資源均有限的設(shè)備上部署[5]。文獻(xiàn)[6]指出,卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)存在大量冗余權(quán)值。因此,對大型卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行壓縮極為重要[7]。

        神經(jīng)網(wǎng)絡(luò)的壓縮方法主要包括低秩分解、量化、知識蒸餾、剪枝等[8-9],其中,低秩分解是通過分解權(quán)重矩陣的方式來減少網(wǎng)絡(luò)的計(jì)算量。LI 等[10]提出一種基于內(nèi)核分解的算法,同時(shí)設(shè)計(jì)相關(guān)的微架構(gòu),可以最大限度地優(yōu)化卷積網(wǎng)絡(luò)。量化算法以占用較少存儲空間的低精度參數(shù)權(quán)值來替代卷積神經(jīng)網(wǎng)絡(luò)中的高精度浮點(diǎn)型參數(shù),目前最常見的是采用8 位整型參數(shù)來替代原有網(wǎng)絡(luò)中的32 位浮點(diǎn)型參數(shù)。HAN 等[11]提出基于量化和哈夫曼編碼的網(wǎng)絡(luò)壓縮方法,在AlexNet 網(wǎng)絡(luò)上獲得了35 倍的壓縮比。知識蒸餾的主要思想是通過大網(wǎng)絡(luò)訓(xùn)練小網(wǎng)絡(luò),將大網(wǎng)絡(luò)的輸出作為小網(wǎng)絡(luò)的監(jiān)督信息,讓小網(wǎng)絡(luò)的準(zhǔn)確率逐漸逼近大網(wǎng)絡(luò),從而達(dá)到模型剪枝的目的。針對ResNet 等多分支殘差網(wǎng)絡(luò),AGHLI[12]提出了相應(yīng)的知識蒸餾架構(gòu)和損失函數(shù),能夠在保持基線模型精度的情況下較好地壓縮模型結(jié)構(gòu)。

        通過剪枝方法縮小網(wǎng)絡(luò)規(guī)模的方式在設(shè)備部署、應(yīng)用等方面更有普適性,因此,本文采用剪枝方法對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行壓縮。從剪枝粒度的角度可以將剪枝分成非結(jié)構(gòu)化剪枝(unstructured pruning)和結(jié)構(gòu)化剪枝(structured pruning)兩個(gè)大類。其中,非結(jié)構(gòu)化剪枝直接對單體權(quán)重進(jìn)行剪枝,剪枝后模型的部署不易實(shí)現(xiàn),結(jié)構(gòu)化剪枝則是通過修剪整個(gè)過濾器的方法對模型進(jìn)行剪枝,對硬件部署更為友好。

        LI 等[13]根據(jù)卷積核的L1 范 數(shù)來衡量卷積核的重要性,通過裁剪L1 范數(shù)較小的卷積核來實(shí)現(xiàn)模型剪枝。HE 等[14]通過在歐氏空間中計(jì)算每個(gè)卷積核對應(yīng)的幾何中位數(shù),將中心點(diǎn)附近的卷積核進(jìn)行裁剪,從而實(shí)現(xiàn)模型剪枝。文獻(xiàn)[15]所提出的CP 算法通過使用LASSO 回歸方式來完成對卷積神經(jīng)網(wǎng)絡(luò)通道的逐層剪枝。文獻(xiàn)[16]提出的剪枝方法采用計(jì)算權(quán)重的范數(shù)以保留BN 層偏置。文獻(xiàn)[17]提出一種融合卷積層和BN 層參數(shù)信息的動(dòng)態(tài)剪枝方法,引入注意力機(jī)制來評判卷積核的重要性。文獻(xiàn)[18]提出一種基于BN 層縮放因子和輸出的剪枝方法,對較小縮放因子匹配的通道進(jìn)行剪枝,并對剪枝后的整個(gè)網(wǎng)絡(luò)進(jìn)行微調(diào)。文獻(xiàn)[19]提出一種基于矩陣余弦相似度的剪枝方法,通過度量不同通道間的余弦相似度來對網(wǎng)絡(luò)進(jìn)行剪枝。除此之外,文獻(xiàn)[20-23]也都提出關(guān)于網(wǎng)絡(luò)剪枝的方法。然而,上述方法幾乎都采用固定的剪枝率對卷積層逐層進(jìn)行操作,忽略了卷積層之間存在的差異性,另一方面,對于模型權(quán)重過于重視而忽略了其在實(shí)際數(shù)據(jù)集或者應(yīng)用場景下的情況,從而在剪枝后造成較大的精度下降。

        本文提出一種基于中間圖特征提取的雙標(biāo)準(zhǔn)卷積核剪枝算法,結(jié)合BN 層的gamma 因子和卷積核輸出的信息特征與實(shí)際標(biāo)簽之間的互信息,對卷積核的重要性進(jìn)行全局評測。同時(shí),針對一些如VGG網(wǎng)絡(luò)全連接層參數(shù)冗余的情況,提出一種基于節(jié)點(diǎn)相似度和K-means++聚類的全連接層剪枝算法。

        1 卷積網(wǎng)絡(luò)的全連接層和卷積層剪枝方法

        全連接層存在大量節(jié)點(diǎn),占用較大的存儲空間,針對該問題,本文提出一種基于節(jié)點(diǎn)相似度和K-means++聚類的全連接層剪枝方法以及剪枝后的權(quán)重融合策略,按照指定剪枝率大幅裁剪全連接層的節(jié)點(diǎn)。

        另外,本文提出一種基于中間圖特征提取的卷積核雙標(biāo)準(zhǔn)剪枝方法,結(jié)合卷積核輸出特征與樣本標(biāo)簽之間的互信息以及BN 層的縮放系數(shù)來衡量卷積核提取特征的能力,將其作為評判卷積核重要性的依據(jù),對重要性較小的卷積核進(jìn)行裁剪。

        1.1 基于相似度和K-means++聚類的全連接層剪枝

        考慮一個(gè)簡單的三層全連接層網(wǎng)絡(luò),如圖1 所示,3 個(gè)全連接層分別為Layer1、Layer2 和Layer3,其中,Layer1 的權(quán)重矩陣 為,節(jié)點(diǎn)S與節(jié)點(diǎn)Q以及節(jié)點(diǎn)P與節(jié)點(diǎn)Q之間的權(quán)重分別為,網(wǎng)絡(luò)的輸入為x。

        圖1 三層全連接層網(wǎng)絡(luò)Fig.1 Network of three full connectivity layers

        現(xiàn)在欲將節(jié)點(diǎn)S與節(jié)點(diǎn)P合并,即裁減掉節(jié)點(diǎn)P。在忽略偏置的情況下,節(jié)點(diǎn)S和節(jié)點(diǎn)P輸出的差值OutSP為:

        其中:F(·)為激活函數(shù),可以是ReLU或Sigmiod等函數(shù)。從式(1)可以看出,在不考慮輸入x的情況下,當(dāng)和十分接近時(shí),輸出的差值可以近似看作0,而這也是P節(jié)點(diǎn)能被S節(jié)點(diǎn)近似代替的條件。對于同一全連接層i的權(quán)重和,本文通過計(jì)算兩者差值的L2 范數(shù)(即歐氏距離)來衡量兩個(gè)向量的近似程度:

        其中:Sim(,)表示向量和的相似度;L為wix和的長度。通過式(2)能夠得到同一全連接層任意兩個(gè)權(quán)重向量之間的相似程度,然后根據(jù)節(jié)點(diǎn)之間的相似度進(jìn)行聚類,對于每個(gè)類的節(jié)點(diǎn)集合,只保留一個(gè)作為該類的節(jié)點(diǎn)參與構(gòu)成剪枝后的新網(wǎng)絡(luò)結(jié)構(gòu),稱這個(gè)節(jié)點(diǎn)為代表節(jié)點(diǎn)。獲取代表節(jié)點(diǎn)的過程可以使用K-means++聚類算法的思想來實(shí)現(xiàn)。K-means++是一種基于樣本集合劃分的聚類算法,可以篩選出代表節(jié)點(diǎn)集合。

        傳統(tǒng)的K-means 算法對初值具有很強(qiáng)的敏感性,K-means++算法在選擇初值時(shí)使用概率化選擇方法,以樣本的距離權(quán)值作為選擇依據(jù),可以很好地避免原始K-means 算法對初值敏感的問題。K-means++聚類算法以N個(gè)數(shù)據(jù)作為輸入,將數(shù)據(jù)聚類成k類的結(jié)果R*作為輸出,其具體過程如下:

        1)令t=0,隨機(jī)選擇一個(gè)數(shù)據(jù)點(diǎn)a1作為第一個(gè)中心。

        2)對于其他數(shù)據(jù)點(diǎn),計(jì)算其與當(dāng)前最近的已選擇聚類中心的距離D(n),根據(jù)D(n)計(jì)算每個(gè)數(shù)據(jù)點(diǎn)被選擇為下一個(gè)聚類中心的概率P(n)。

        3)選擇P(n)最大的節(jié)點(diǎn)作為下一個(gè)聚類中心。

        4)重復(fù)第2 步和第3 步,直至選擇出初始的k個(gè)聚類中心at=a1,a2,…,ak。

        5)對n中的每個(gè)樣本ni,計(jì)算其到聚類中心的距離,并且據(jù)此進(jìn)行聚類,得到聚類結(jié)果Rt。

        6)針對每個(gè)類別aj,重新計(jì)算其聚類中心,得到新的聚類中心集合at+1。

        7)判斷是否滿足停止條件,如果滿足,則令R*=Rt;否則,令t=t+1,返回第5 步。

        文獻(xiàn)[21]分析,權(quán)重的L2 范數(shù)越大,其重要程度越高?;诖怂枷?,對于給定剪枝率的全連接層,可以計(jì)算當(dāng)前層每個(gè)節(jié)點(diǎn)與當(dāng)前層權(quán)重L2 范數(shù)最大的節(jié)點(diǎn)的相似度,將其作為分組結(jié)合的依據(jù),以此保證該節(jié)點(diǎn)不被裁剪,然后基于K-means++聚類算法和剪枝率來確定剪枝的分組集合,這樣可以在不設(shè)置閾值的情況下,基于確定的剪枝率完成對該全連接層的剪枝,而且能夠減少計(jì)算量。本文提出的基于相似度和K-means++聚類的全連接層剪枝算法描述如算法1 所示。

        算法1基于相似度和K-means++聚類的全連接層剪枝算法

        剪枝后網(wǎng)絡(luò)的精確度必然會受到影響,而且會隨著剪枝率的增加而提高。對于圖1,剪去節(jié)點(diǎn)P之后,將會影響當(dāng)前層以及下一層的權(quán)重,從而造成部分特征信息丟失,而這也是剪枝后準(zhǔn)確率下降的原因。通過權(quán)重融合的方法可以在一定程度上消除裁剪節(jié)點(diǎn)對網(wǎng)絡(luò)結(jié)構(gòu)的影響。

        在采用權(quán)重補(bǔ)償?shù)那闆r下,對節(jié)點(diǎn)P進(jìn)行剪枝前后,Layer3 層任意節(jié)點(diǎn)Q所獲得的來自Layer2 層所有節(jié)點(diǎn)的特征值之差ValueQ的平方為:

        設(shè)?=-,而F(·)的導(dǎo)數(shù) 不大于1,因此,由拉格朗日中值定理可知:

        由Cauchy-Schwarz 不等式可知:

        其中:x是與網(wǎng)絡(luò)結(jié)構(gòu)無關(guān)的輸入。通過式(2)可知,在和相似的情況下,Sim(,)≈0,即。因此,當(dāng)裁剪P節(jié)點(diǎn)時(shí),可以通過將其權(quán)重融合到其他節(jié)點(diǎn)來彌補(bǔ)精度損失。

        在已知某全連接層剪枝后的節(jié)點(diǎn)數(shù)以及節(jié)點(diǎn)聚類結(jié)果的情況下,可以根據(jù)聚類結(jié)果中所有子類節(jié)點(diǎn)對于下一全連接層各個(gè)節(jié)點(diǎn)的權(quán)重,然后通過權(quán)重融合的方式去彌補(bǔ)裁剪該全連接層節(jié)點(diǎn)后所造成的精度損失。

        圖2(a)和 圖2(b)分別為VGG16 網(wǎng)絡(luò)在CIFAR100[24]和CIFAR10[24]數(shù)據(jù)集上對全連接層采用不同剪枝策略時(shí)的準(zhǔn)確率對比,可以看到,與隨機(jī)剪枝相比,采用基于節(jié)點(diǎn)相似度和K-means++聚類思想的剪枝策略能夠在剪去大量節(jié)點(diǎn)后依然保持較高的準(zhǔn)確率。相較于不進(jìn)行權(quán)重融合的剪枝,權(quán)重融合剪枝能夠在一定程度上彌補(bǔ)剪枝帶來的影響,當(dāng)分類難度、剪枝比例更大時(shí),權(quán)重融合方法對精度的補(bǔ)償效果更為明顯。

        圖2 不同剪枝策略的準(zhǔn)確率對比Fig.2 Comparison of accuracy of different pruning strategies

        1.2 基于中間圖特征提取的卷積層雙標(biāo)準(zhǔn)剪枝方法

        本節(jié)提出一種新的卷積核重要性評估框架,使用卷積核輸出特征與樣本標(biāo)簽之間的互信息以及BN 層的縮放系數(shù)作為雙標(biāo)準(zhǔn),衡量卷積核的特征提取能力,以此作為卷積核的重要程度評判指標(biāo)。然后將卷積核按照重要程度進(jìn)行排序,裁剪重要性較小的卷積核。使用這一框架可以裁減掉不重要的卷積核,從而達(dá)到對復(fù)雜模型進(jìn)行加速和壓縮的目的,使其適用于不帶殘差結(jié)構(gòu)的普通卷積神經(jīng)網(wǎng)絡(luò)以及帶有殘差結(jié)構(gòu)的殘差神經(jīng)網(wǎng)絡(luò)。

        1.2.1 卷積核重要性評價(jià)指標(biāo)

        互信息是衡量兩個(gè)變量之間相關(guān)性的信息度量,廣泛應(yīng)用于圖像處理領(lǐng)域,尤其是圖像配準(zhǔn)任務(wù)。對于配準(zhǔn)多模圖像而言,互信息不需要對圖像進(jìn)行預(yù)處理而且魯棒性強(qiáng),是一種經(jīng)典的相似性測度方法。對于兩個(gè)變量X和Y而言,其互信息計(jì)算公式如下:

        其中:p(x,y)表示x和y的聯(lián)合概率;p(x)和p(y)分別表示x和y的邊緣概率。式(6)是概率層面上的互信息計(jì)算公式。

        對于卷積神經(jīng)網(wǎng)絡(luò)的某一卷積層而言,結(jié)合文獻(xiàn)[25]提出的使用全局平均池化(GAP)層構(gòu)建網(wǎng)中網(wǎng)的思想,本文提出一種卷積核重要性評價(jià)框架,即在每個(gè)卷積核后放置一個(gè)全局平均池化層,得到這一層輸入對于該卷積核的特征,然后求解特征所對應(yīng)的真實(shí)標(biāo)簽之間的互信息,并且結(jié)合該通道對應(yīng)的BN 層縮放因子來判斷卷積核的重要性。

        首先劃定一部分?jǐn)?shù)據(jù)作為計(jì)算卷積核與標(biāo)簽之間互信息的計(jì)算集E,將計(jì)算集E輸入到要剪枝的網(wǎng)絡(luò)中,對于某一卷積層,可以得到一個(gè)特征矩陣F∈RN×C×W×H,其中,N為計(jì)算集E所包含的數(shù)據(jù)量,C為該卷積層的通道數(shù),W和H分別代表輸出特征矩陣的寬和高。

        對于特征矩陣F,可以認(rèn)為是計(jì)算集E的圖像在經(jīng)過卷積后形成的“子圖”,即中間生成特征矩陣。全局平均池化層的工作機(jī)理如圖3 所示。全局平均池化層可以提取子圖在某一通道上對于計(jì)算集E圖像的特征向量,具有提取并且簡化特征的作用,可以將原本的四維特征矩陣縮放到二維空間,然后基于計(jì)算集E和子圖通道輸出的特征向量完成互信息計(jì)算。

        圖3 全局平均池化層Fig.3 Global average pooling layer

        BN(Batch Normalization)層[26]一般放在卷積層后,用于對特征圖進(jìn)行歸一化,BN 層歸一化過程如式(11)~式(14)所示:

        其中:D為數(shù)值集合,D={d1,2,…,m};γ和β分別為可學(xué)習(xí)參數(shù)縮放因子和平移因子;數(shù)值集合E={e1,2,…,m}為批歸一化后的輸出。

        式(11)和式(12)分別計(jì)算D的均值和方差,式(13)和式(14)分別為歸一化和重構(gòu)變換的過程。γ和β是可訓(xùn)練參數(shù),在基礎(chǔ)模型的訓(xùn)練過程中,添加系數(shù)約束后每個(gè)卷積核對應(yīng)的γ參數(shù)會呈現(xiàn)分化趨勢,重要卷積核所對應(yīng)的γ參數(shù)會越大,不重要卷積核的γ參數(shù)會變小。BN 層進(jìn)行批量歸一化后,γ小的通道對應(yīng)的激活也會更小,修剪這樣的通道能夠在縮減網(wǎng)絡(luò)規(guī)模的同時(shí)盡可能地減小對網(wǎng)絡(luò)輸出的影響。

        文獻(xiàn)[20]分析表明,BN 層的縮放因子γ與卷積層通道的重要性密切相關(guān)。根據(jù)此思想,結(jié)合互信息的特點(diǎn),本文提出一種結(jié)合BN 層縮放因子與互信息的卷積核重要性衡量方法。對于某一卷積層的卷積核f,通過計(jì)算其與標(biāo)簽的互信息及所對應(yīng)的BN層縮放因子γ得出重要程度Im(f) :

        根據(jù)卷積核的重要程度,可以對卷積層進(jìn)行裁剪。本文提出的基于中間圖特征提取的卷積層雙標(biāo)準(zhǔn)剪枝算法描述如算法2 所示。對卷積神經(jīng)網(wǎng)絡(luò)卷積核進(jìn)行裁剪的具體過程如圖4 所示。

        圖4 卷積核裁剪流程Fig.4 The clipping process of convolution kernel

        算法2基于中間圖特征提取的卷積層雙標(biāo)準(zhǔn)剪枝算法

        在CIFAR100 測試集上利用式(15)對已經(jīng)訓(xùn)練好的VGG16 卷積神經(jīng)網(wǎng)絡(luò)模型的卷積層進(jìn)行重要性計(jì)算,得到的結(jié)果如圖5 所示,圖中橫軸代表VGG16 模型的13 層卷積層,縱軸表示不同剪枝率下保留及裁減掉的節(jié)點(diǎn)分布,其中,越靠近圖像上方的卷積核重要程度越高。從圖5 可以看到,卷積核的重要性大體上隨著層次的加深呈遞減趨勢,處于網(wǎng)絡(luò)中間部分的卷積層的卷積核攜帶大量特征信息,而這也與經(jīng)驗(yàn)相符。將卷積核按照重要性進(jìn)行全局排序,根據(jù)設(shè)定的卷積層剪枝率的大小,裁剪重要程度較小的卷積核,便可達(dá)到對卷積神經(jīng)網(wǎng)絡(luò)卷積核進(jìn)行裁剪的目的。

        圖5 不同剪枝率下裁剪的節(jié)點(diǎn)個(gè)數(shù)Fig.5 Number of cut nodes under different pruning rates

        1.2.2 帶有殘差結(jié)構(gòu)的卷積網(wǎng)絡(luò)卷積核剪枝方法

        與VGG 網(wǎng)絡(luò)不同,殘差網(wǎng)絡(luò)模型一般都含有殘差模塊(也就是shortcut),存在“分支”結(jié)構(gòu)。以ResNet網(wǎng)絡(luò)模型為例,其兩種主要的殘差模塊如圖6 所示。

        圖6 兩種殘差模塊對比Fig.6 Comparison of two residual modules

        本文所提基于卷積核互信息與縮放因子的卷積核剪枝方法同樣可以應(yīng)用于殘差網(wǎng)絡(luò),但是需要進(jìn)行以下兩點(diǎn)補(bǔ)充:

        1)對于Conv1、Conv1_1 和Conv2_1 而 言,直接采用本文所提卷積核剪枝方法進(jìn)行裁剪即可。

        2)殘差結(jié)構(gòu)存在權(quán)重依賴,對于兩種殘差結(jié)構(gòu)而言,都要求分支1 的輸出通道和分支2 的輸出通道數(shù)量保持一致,因此,如果在同一層次內(nèi),對于Conv2、Conv1_2 和Conv2_2,在剪枝時(shí),取兩者通道的并集作為整個(gè)模塊的保留通道數(shù)。以殘差結(jié)構(gòu)2為例,分支1 的通道剪枝掩碼mask1={1,0,1,…,1,0},分支2 的通道剪枝掩碼mask2={0,1,1,…,1,0},其中,0 表示經(jīng)過重要性計(jì)算后該通道應(yīng)該舍棄,1 表示應(yīng)當(dāng)保留。因此,最終保留通道為mask1∪mask2={1,1,1,…,1,0},即只要兩個(gè)分支 中有一個(gè)分支認(rèn)為該通道重要,裁剪便跳過該通道。

        對于不同層之間,本文采用每層保留通道數(shù)中的最大值作為整個(gè)層次串聯(lián)模塊的保留通道數(shù)。

        在CIFAR10 和CIFAR100 數(shù)據(jù)集上,對同時(shí)含有圖6 中兩種殘差結(jié)構(gòu)的殘差網(wǎng)絡(luò)ResNet34 進(jìn)行實(shí)驗(yàn),結(jié)果如表1 所示。表2 為采用本文所提針對卷積核的剪枝方法,對ResNet34 網(wǎng)絡(luò)在CIFAR10上進(jìn)行60%剪枝前后ResNet34 網(wǎng)絡(luò)各卷積層的通道數(shù)變化情況,其中,含有“^”的數(shù)組表示圖5 中的殘差結(jié)構(gòu)2,含有該符號的元素表示圖5 中的殘差結(jié)構(gòu)2 的分支2 部分。從表2 可以看出,本文所提針對殘差網(wǎng)絡(luò)的基于互信息和BN 縮放因子的聯(lián)合剪枝算法,能夠在滿足殘差網(wǎng)絡(luò)權(quán)重依賴的情況下實(shí)現(xiàn)剪枝。除此之外,通過觀察ResNet34 剪枝前后保留通道數(shù)可以發(fā)現(xiàn),相對于單分支網(wǎng)絡(luò),殘差網(wǎng)絡(luò)由于加入了跨層連接,其剪枝掉的節(jié)點(diǎn)在各層的分布更加“均勻”。

        表1 ResNet34 剪枝前后性能對比Table 1 Performance comparison of ResNet34 before and after pruning %

        表2 ResNet34 剪枝前后通道數(shù)對比Table 2 Comparison of the number of channels on ResNet34 before and after pruning

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

        2.1 實(shí)驗(yàn)設(shè)置

        本文以Ubuntu18.04 系統(tǒng)、英偉達(dá)2080Ti 顯卡和i7-6700HQ CPU 為實(shí)驗(yàn)環(huán)境,將本文所提基于相似度和K-means++聚類的全連接層剪枝算法與基于中間圖特征提取的卷積核雙標(biāo)準(zhǔn)剪枝算法,分別在CIFAR10 和CIFAR100 兩個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。CIFAR10 是深度學(xué)習(xí)中經(jīng)常使用的一種數(shù)據(jù)集,共包含60 000 張長、寬均為32 像素的彩色圖片,總共分為10 類,每類含有6 000 張圖片,訓(xùn)練集總共為50 000 張圖片,測試集為10 000 張圖片。CIFAR100的圖片大小與CIFAR10 一致,測試集和訓(xùn)練集的數(shù)目也相同,但是分類數(shù)量為100 類。

        對于不同算法的對比實(shí)驗(yàn),在網(wǎng)絡(luò)結(jié)構(gòu)上采用VGG16 卷積神經(jīng)網(wǎng)絡(luò)與ResNet56 卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)。其中,VGG16 為傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò),ResNet56為帶有殘差的卷積神經(jīng)網(wǎng)絡(luò)。訓(xùn)練基準(zhǔn)網(wǎng)絡(luò)用于剪枝。對于VGG16,設(shè)定訓(xùn)練輪次為160,初始學(xué)習(xí)率為0.1,在訓(xùn)練輪次達(dá)到1/2 和3/4 時(shí)學(xué)習(xí)率分別變?yōu)樵瓉淼?/10。對于ResNet56,設(shè)置訓(xùn)練輪次為200,其他設(shè)置與VGG16 相同。兩個(gè)網(wǎng)絡(luò)均使用SGD 優(yōu)化方法,采用交叉熵函數(shù)計(jì)算損失。在CIFAR10 和CIFAR100 上分別按照上述參數(shù)訓(xùn)練VGG16 和ResNet56 網(wǎng)絡(luò)得到基準(zhǔn)網(wǎng)絡(luò),然后在基準(zhǔn)網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行剪枝。

        實(shí)驗(yàn)中的對比算法包括:文獻(xiàn)[20]提出的PF 算法,即基于L1 范數(shù)的剪枝方法;文獻(xiàn)[14]提出的FPGM 算法,即基于幾何中位數(shù)的剪枝策略;文獻(xiàn)[27]提出的SFP 算法,即柔性剪枝策略;文獻(xiàn)[28]提出的Taylor 算法,即基于Taylor 展開的剪枝標(biāo)準(zhǔn);文獻(xiàn)[29]提出的VCNNP 算法,即基于變分貝葉斯的剪枝策略;文獻(xiàn)[15]提出的CP 算法,即基于LASSO回歸和最小二乘法的剪枝策略。

        2.2 不同剪枝算法的比較

        在CIFAR10 數(shù)據(jù)集上不同剪枝算法的比較結(jié)果如表3 所示。從表3 可以看出:

        表3 在CIFAR10 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 3 Experimental results on CIFAR10 dataset %

        1)對于單分支的卷積神經(jīng)網(wǎng)絡(luò)VGG16,本文所提針對卷積層和全連接層的剪枝算法,在剪枝率為60%的情況下分別能夠剪掉網(wǎng)絡(luò)94.5%的參數(shù)量和64.4%的計(jì)算量,而準(zhǔn)確率幾乎保持不變。相較PF等剪枝算法,本文算法因?yàn)榉謩e針對卷積層和全連接層進(jìn)行剪枝,在保持精度基本不變的情況下獲得了更大的參數(shù)量和FLOPs 的剪枝比例。

        2)對于殘差網(wǎng)絡(luò)ResNet56,本文所提剪枝算法在剪枝率為40%時(shí),能夠在保持精度僅下降0.19%的情況下裁減掉48.2%的參數(shù)量和46.7%的計(jì)算量,如果再犧牲不到1%的精度,能夠獲得60.7%的參數(shù)量裁剪率和57.6%和計(jì)算量裁剪率。隨著剪枝比例的提高,網(wǎng)絡(luò)保留的卷積核數(shù)量減少,但是帶來了精度上的損失。當(dāng)剪枝率設(shè)置為60%時(shí),能夠獲得參數(shù)量減少71.3%和計(jì)算量減少66.0%的網(wǎng)絡(luò)模型,但是準(zhǔn)確率減少比例也達(dá)到了1.83%。

        使用本文針對卷積層的聯(lián)合剪枝算法與針對全連接層的基于相似度和K-means++聚類的剪枝算法,在CIFAR100數(shù)據(jù)集上與其他算法進(jìn)行對比實(shí)驗(yàn),結(jié)果如表4所示。從表4可以看出:VGG16網(wǎng)絡(luò)能夠在裁減掉95.0%參數(shù)量和51.2%計(jì)算量的情況下保持準(zhǔn)確率基本不變;ResNet56在經(jīng)過大幅裁剪后準(zhǔn)確率僅下降很小幅度,在設(shè)置剪枝率為30%時(shí),在準(zhǔn)確率、參數(shù)量和FLOPs上基本達(dá)到了平衡。盡管本文算法相對于PF算法在準(zhǔn)確率的減少比例上高了0.5%,但是獲得了更大的剪枝比例,在參數(shù)量和計(jì)算量的裁剪上比PF算法表現(xiàn)更好。當(dāng)剪枝比例設(shè)置為40%時(shí),本文算法能夠裁減掉41.3%的參數(shù)量和61.2%的FLOPs,準(zhǔn)確率僅下降1.96%。

        表4 在CIFAR100 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 4 Experimental results on CIFAR100 dataset %

        相對于其他剪枝算法,本文所提算法能夠在準(zhǔn)確率下降幅度很小的情況下實(shí)現(xiàn)對參數(shù)量和計(jì)算量的大幅裁剪,這是因?yàn)楸疚牟扇〉尼槍矸e層的聯(lián)合剪枝算法,結(jié)合了網(wǎng)絡(luò)的權(quán)重參數(shù)和網(wǎng)絡(luò)在實(shí)際數(shù)據(jù)集應(yīng)用場景下的雙重表現(xiàn)。

        2.3 剪枝前后通道數(shù)對比

        在CIFAR10 數(shù)據(jù)集上,使用本文提出的剪枝算法在剪枝率為60%的情況下對VGG16 網(wǎng)絡(luò)進(jìn)行剪枝,剪枝前后各個(gè)卷積層的通道數(shù)對比情況如圖7所示。在CIFAR10 數(shù)據(jù)集上,使用本文算法在40%剪枝率下對ResNet56 進(jìn)行剪枝,剪枝前后各個(gè)卷積層模塊的通道數(shù)對比如表5 所示。

        圖7 VGG16 剪枝前后通道數(shù)對比Fig.7 Comparison of the number of channels on VGG16 before and after pruning

        表5 ResNet56 剪枝前后通道數(shù)對比Table 5 Comparison of the number of channels on ResNet56 before and after pruning

        從圖7可以看出,對于VGG16卷積網(wǎng)絡(luò)而言,其淺層的卷積核蘊(yùn)含了大量的特征信息,而深層的卷積核攜帶的信息較少,對其進(jìn)行剪枝,不會對網(wǎng)絡(luò)結(jié)構(gòu)和精度產(chǎn)生較大影響。表5的結(jié)果也證明了這一點(diǎn),ResNet56網(wǎng)絡(luò)呈現(xiàn)出和VGG16 網(wǎng)絡(luò)一樣的特征,即淺層網(wǎng)絡(luò)剪枝比例較小,深層網(wǎng)絡(luò)剪枝比例較大。

        3 結(jié)束語

        針對現(xiàn)有卷積神經(jīng)網(wǎng)絡(luò)參數(shù)量和計(jì)算量過大,較難在存儲能力和算力均有限的設(shè)備上進(jìn)行部署的問題,本文提出一種新的卷積核重要性評估框架,使用卷積核輸出特征與樣本標(biāo)簽之間的互信息以及BN 層的縮放系數(shù)來衡量卷積核的特征提取能力,更好地兼顧權(quán)重在實(shí)際應(yīng)用數(shù)據(jù)集上的表現(xiàn)。在此基礎(chǔ)上,提出一種基于相似度和K-means++聚類的全連接層剪枝算法,在確定的剪枝率下完成對網(wǎng)絡(luò)模型的優(yōu)化。實(shí)驗(yàn)結(jié)果表明,該算法在對模型進(jìn)行大幅剪枝的同時(shí)能夠保持較小的精度損失。下一步將分析剪枝后的權(quán)重優(yōu)化問題并探索量化等網(wǎng)絡(luò)模型壓縮方法,在不損失準(zhǔn)確率的情況下更大幅度地壓縮卷積神經(jīng)網(wǎng)絡(luò),使其能夠在端設(shè)備上進(jìn)行部署。

        猜你喜歡
        互信息剪枝殘差
        人到晚年宜“剪枝”
        基于雙向GRU與殘差擬合的車輛跟馳建模
        基于YOLOv4-Tiny模型剪枝算法
        基于殘差學(xué)習(xí)的自適應(yīng)無人機(jī)目標(biāo)跟蹤算法
        基于遞歸殘差網(wǎng)絡(luò)的圖像超分辨率重建
        剪枝
        天津詩人(2017年2期)2017-03-16 03:09:39
        基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)
        聯(lián)合互信息水下目標(biāo)特征選擇算法
        改進(jìn)的互信息最小化非線性盲源分離算法
        電測與儀表(2015年9期)2015-04-09 11:59:22
        平穩(wěn)自相關(guān)過程的殘差累積和控制圖
        河南科技(2015年8期)2015-03-11 16:23:52
        国产我不卡在线观看免费| 999国内精品永久免费观看| 国产白袜脚足j棉袜在线观看 | 国产三级黄色的在线观看| 狠狠亚洲婷婷综合久久久| 久久久99精品国产片| 亚洲女同av在线观看| 日本亲近相奷中文字幕| 丰满多毛的大隂户毛茸茸| 人与禽交av在线播放| 日本一区二区不卡视频| 美女高潮流白浆视频在线观看| 亚洲精品二区在线观看| 蜜桃噜噜一区二区三区| 一区二区三区美女免费视频| 成人偷拍自拍视频在线观看| 在厨房被c到高潮a毛片奶水| 成人免费777777被爆出| 人妻影音先锋啪啪av资源| 久久精品人妻一区二区三区| 美女一级毛片免费观看97| 国产三级国产精品三级在专区| 亚洲综合国产精品一区二区| 午夜福利影院成人影院| 国产后入清纯学生妹| 亚洲 精品 综合 精品 自拍| 中文亚洲日韩欧美| 亚洲一区二区三区偷拍自拍| 在线成人影院国产av| 风韵少妇性饥渴推油按摩视频 | 欧美人妻精品一区二区三区| 国产一区二区牛影视| 亚洲一码二码在线观看| 男女啪啪啪的高清视频| 日韩精品在线视频一二三| 人妻av无码一区二区三区| 国产成人一区二区三区在线观看| 国产精品爆乳在线播放| 在线亚洲精品国产成人二区| 亚洲成av人片极品少妇| 厨房人妻hd中文字幕|