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

        ?

        采用可替代濾波器的卷積神經(jīng)網(wǎng)絡模型剪枝方法

        2022-03-13 04:04:16周密張維緯陶英杰余浩然
        華僑大學學報(自然科學版) 2022年2期
        關鍵詞:浮點壓縮率剪枝

        周密, 張維緯 , 陶英杰, 余浩然

        (1. 華僑大學 工學院, 福建 泉州 362021;2. 華僑大學 工業(yè)智能化與系統(tǒng)福建省高校工程研究中心, 福建 泉州 362021)

        近年來,深度學習和神經(jīng)網(wǎng)絡的發(fā)展使神經(jīng)網(wǎng)絡模型的效果越來越好,但隨著無人駕駛與智能移動設備等相關領域的不斷發(fā)展與創(chuàng)新,對計算能力較弱的邊緣設備上的深度神經(jīng)網(wǎng)絡模型的要求越來越高.當神經(jīng)網(wǎng)絡模型部署在移動設備上時,由于深度神經(jīng)網(wǎng)絡的特性,參數(shù)量及浮點計算量都是極其龐大的.例如,當使用107層YOLO v3網(wǎng)絡結構檢測分辨率為416 px416 px的圖像時,將產(chǎn)生240 MB的參數(shù)量及多達650億次的乘法累加計算量.然而,支持百億次計算量的邊緣設備的成本是相對較高的,例如,在NVIDIA Tesla T4上運行YOLOv3網(wǎng)絡結構,每秒可實時檢測40幀圖像,該設備市場售價近3萬元人民幣,遠超出普遍的經(jīng)濟承受能力,而現(xiàn)有的神經(jīng)網(wǎng)絡模型在低成本設備上很難兼顧神經(jīng)網(wǎng)絡模型的精確性與計算速度.因此,對于移動邊緣設備來說,應在保持精度不降低或者略微降低的情況下,盡可能保證低的存儲空間及少的浮點計算量[1].

        將神經(jīng)網(wǎng)絡模型剪枝部署于移動邊緣設備具有優(yōu)勢[1],在非結構化修剪方式方面,Guo 等[2]提出一種動態(tài)的參數(shù)剪枝算法以逼近神經(jīng)網(wǎng)絡模型壓縮的理論極限.Carreira-Perpinán等[3]通過兩步(學習和壓縮)交替優(yōu)化的剪枝方法將原參數(shù)向約束表示的可行集投影,自動找到每層的最優(yōu)稀疏比.Ding等[4]通過一階泰勒展開式判斷剪枝對最終輸出造成的影響排序,網(wǎng)絡中的權重根據(jù)排序進行分類.對造成影響較大的權重,采用常規(guī)的隨機梯度下降(SGD)更新,對其他的權重則進行權重衰減,從而實現(xiàn)動態(tài)網(wǎng)絡剪枝.非結構化的權重修剪方式能夠有效降低神經(jīng)網(wǎng)絡模型的大小,但是剪枝完成以后的神經(jīng)網(wǎng)絡模型需要特定的硬件支持,故其泛化性較差.在結構化修剪中,He等[5]提出CP(channel-pruning)算法,通過添加范數(shù)約束權重L1進行LASSO(least absolute shrinkage and selection operator)回歸,選擇合適的稀疏通道對訓練好的神經(jīng)網(wǎng)絡模型進行剪枝.Huang等[6]使用數(shù)據(jù)驅動的方式移除神經(jīng)網(wǎng)絡模型中多余的濾波器.You等[7]將通過純殘差方式連接的GBN分配到同一組,對全局濾波器重要性進行排序,并對排名較后的進行分組剪枝.He等[8]通過計算幾何中心的方式對處于幾何中心的冗余濾波器進行剪枝.

        上述大部分剪枝策略都是基于啟發(fā)式規(guī)則,此類方法著重于濾波器重要性的排序與修剪,但可能導致次優(yōu)修剪,并且需要專家不斷調(diào)節(jié)參數(shù).確定性策略梯度算法中試錯與獎懲的結合能夠很好地檢索剪枝策略[9].He等[10]通過使用深度確定性策略梯度(DDPG)算法得到各層剪枝率的最優(yōu)組合,提出一種自動化剪枝AMC(automl for model compression and acceleration on mobile devices)算法.對神經(jīng)網(wǎng)絡模型所有層采用同一剪枝率的剪枝方法[8]可能會導精度下降,本文結合濾波器可替代的特性與強化學習,提出自動化可替代濾波器剪枝方法.

        1 自動化可替代濾波器的剪枝方法

        1.1 總體框架

        手動剪枝方法依賴手動調(diào)節(jié)參數(shù),對神經(jīng)網(wǎng)絡模型每一層進行相同壓縮率的剪枝方法可能會降低神經(jīng)網(wǎng)絡模型的精度.受AMC算法的啟發(fā)[10],利用強化學習的方式進行自動化剪枝,不需要專家手動調(diào)節(jié)參數(shù),不僅避免耗時,還能獲得組合剪枝策略.策略針對神經(jīng)網(wǎng)絡模型不同層實施不同的壓縮率,使整體上達到目標壓縮率.相較于隨機性策略的強化學習方法,DDPG算法的效率更高,能夠通過更少的數(shù)據(jù)獲得連續(xù)且確定的動作輸出.同時,DDPG算法中離線策略能夠很好地避免確定性策略對環(huán)境探索存在的不足.在自動化剪枝過程中,引入可替代濾波器的搜索,搜索神經(jīng)網(wǎng)絡模型每一層中能夠被同一層中其他濾波器表示的可替代濾波器.通過對可替代濾波器的剪枝,能最大程度保留原有神經(jīng)網(wǎng)絡模型的精度.

        算法完整框架,如圖1所示.算法由DDPG算法、獲取剪枝的目標濾波器和濾波器的剪枝操作3部分組成.在算法運行過程中, DDPG算法在獲得當前神經(jīng)網(wǎng)絡模型層的屬性特征以后, 經(jīng)過降維轉化,將原本的離散變量轉化為連續(xù)的變量,并傳導給演員網(wǎng)絡與評論家網(wǎng)絡,由演員網(wǎng)絡輸出確定性的神經(jīng)網(wǎng)絡模型的每一層剪枝壓縮率,指導可替代濾波器進行剪枝.將可替代濾波器的參數(shù)值歸零,從而達到剪枝效果,在執(zhí)行完神經(jīng)網(wǎng)絡模型所有層的剪枝后,算法在驗證集上根據(jù)浮點計算量進行準確性獎勵,并將結果返回給評論家網(wǎng)絡,同時,將當前的剪枝策略保存到經(jīng)驗采樣池中,然后,執(zhí)行下一輪的網(wǎng)絡剪枝,直到所有剪枝周期結束.

        圖1 算法完整框架Fig.1 Complete framework of algorithm

        1.2 可替代濾波器的檢索

        在可替代濾波器搜索策略上,通過幾何中位數(shù)的方式進行搜索[11],如果該濾波器可以被幾何中心點周圍其余濾波器表示,即可判定其為可替代濾波器.由于幾何中位數(shù)是歐幾里得空間中數(shù)據(jù)中心性的經(jīng)典魯棒性估計[11],因此,可以使用幾何中位數(shù)的方法獲取第i層網(wǎng)絡中所有濾波器的信息.同時,對處于幾何中心的濾波器進行選擇,神經(jīng)網(wǎng)絡模型第i層中某一個濾波器到其他濾波器的距離之和為

        (1)

        在尋找可替代濾波器的過程中,如果一個濾波器到神經(jīng)網(wǎng)絡模型某一層中所有其他濾波器的整個距離最短,就可以認為它是處于最靠近中心的濾波器.通過求解該濾波器與其他濾波器的最小歐氏距離,就能夠找到其中最接近幾何中心的濾波器,即認為選定的濾波器Fi,j*含有的信息能夠被同一層中其他的濾波器含有的信息表示,所以修剪這些濾波器對于網(wǎng)絡的性能幾乎沒有影響.由于計算幾何中心十分耗時,且在濾波器的分布中可能存在沒有任何一個濾波器處于幾何中心的情形.所以,距離最短問題可以轉化為所有候選層中的濾波器距離其他濾波器的距離和最小問題,即

        (2)

        在實際檢索中,計算獲得的幾何中心并不能保證濾波器在該層中一定存在[8],即如果在該層的幾何中心處不存在濾波器,那么距離其他濾波器距離和最小的濾波器可以認定為該層的幾何中心濾波器.

        在實際剪枝過程中,根據(jù)層次的不同,執(zhí)行不同數(shù)量的濾波器剪枝,即通過不同層的壓縮率與該層的濾波器數(shù)量計算執(zhí)行剪枝的濾波器數(shù)量.在濾波器距離的排序中,將所有的濾波器進行幾何中心距離計算,獲得距離排序.按照需要剪枝的濾波器數(shù)量進行剪枝.該選定的濾波器為

        (3)

        剔除中心濾波器后,迭代計算,剔除選定距離的濾波器,直到滿足該層剪枝數(shù)量的濾波器被全部找到為止.因此,所有選定的濾波器Fi,j*和該層剩余的濾波器共享絕大多數(shù)的基本信息,也即該濾波器所包含的信息可以被其他濾波器代替表示.為了避免刪除濾波器導致網(wǎng)絡模型的不規(guī)則,將冗余濾波器的權重參數(shù)設置為零,而不是直接將濾波器刪除,剪枝以后的模型經(jīng)過微調(diào)能夠很快恢復到原始性能.

        1.3 強化學習

        對于模型所有層(敏感層與非敏感層)均進行相同壓縮率的剪枝操作[8],模型每一層的濾波器剪枝數(shù)量為目標壓縮率與該層的所有濾波器數(shù)量之積.此方式可能導致參數(shù)重要性高的敏感層的剪枝率過高,導致不必要的精度損失.以DDPG算法作為代理連續(xù)控制壓縮比,對不同神經(jīng)網(wǎng)絡模型層次以不同壓縮率進行自動化剪枝.DDPG算法由評論家當前網(wǎng)絡、評論家目標網(wǎng)絡,演員當前網(wǎng)絡、演員目標網(wǎng)絡4個神經(jīng)網(wǎng)絡構成.環(huán)境狀態(tài)St的10個屬性特征分別為n,c,h,w,stride,k,F(xiàn)LOPs[t],Reall,Rest,at-1.DDPG代理能夠很好地將所有的卷積層區(qū)分開,卷積核大小為n×c×k×k,輸入值為c×h×w;FLOPs[t]為第t層的浮點計算次數(shù);Reall為前面所有已剪枝層減少的浮點計算量(FLOPs)的總數(shù);Rest為余下各層中剩余的FLOPs總數(shù).在這些屬性特征傳遞給代理之前,所有的屬性特征都會被壓縮到[0,1],以避免因為數(shù)值大小對模型訓練產(chǎn)生的影響.

        由于模型的剪枝對于模型的稀疏程度十分敏感,隨著離散動作數(shù)量的急劇增加,動作空間的搜索難度也急劇加大,導致很難做到高效且快速的檢索.所以,通過選擇a∈(0,1]的連續(xù)動作空間進行更精確的壓縮.在強化學習指導剪枝的過程中,代理從濾波器剪枝的環(huán)境中獲得其所處的第t層的環(huán)境狀態(tài)St,獲得當前特征向量φ(S).將St狀態(tài)下的動作At作為當前層的壓縮率,將目標壓縮率下需要剪枝的濾波器的總數(shù)與已完成剪枝的濾波器數(shù)量的差值作為剩余需要剪枝的濾波器的數(shù)量,通過DDPG算法反饋的壓縮率執(zhí)行當前層剪枝過程.完成當前層的剪枝后,得到當前層剪枝完成以后的短期獎勵R及第t層剪枝完成以后的新環(huán)境狀態(tài)St+1.

        將φ(S),At,R,St+1對應的特征向量φ(St+1)及判斷是否為終止狀態(tài)的is_end存放到經(jīng)驗回放池中,其中,is_end用來評估是否處于剪枝模型的最后一層.對于模型的下一層,代理會接收上一層剪枝完成后所產(chǎn)生的新環(huán)境狀態(tài)St+1.執(zhí)行與第t層網(wǎng)絡模型相同的自動化剪枝流程,直到濾波器的剪枝數(shù)量達到目標剪枝數(shù)量.在判斷完成最后一層的剪枝后,當is_end值為真時,模型會在驗證集上評估剪枝完成的模型的準確性獎勵RFLOPs并返回給代理,同時,將此次的剪枝策略及獎勵RFLOPs存放到字典中.

        (4)

        每一次演員當前網(wǎng)絡選擇的動作A會增加一定的噪聲N,并且噪聲會在每輪剪枝完后呈指數(shù)衰減.最終和環(huán)境交互的動作A為

        A=πθ(S)+N.

        (5)

        DDPG算法通過均方差損失函數(shù)、梯度反響傳播的方式更新評論家當前網(wǎng)絡的所有參數(shù),并定期將其復制到評論家目標網(wǎng)絡.即

        (6)

        式(6)中:φ(Sj)為當前Sj狀態(tài)獲得的特征向量;Q(φ(Sj),Aj,ω)由評論家當前網(wǎng)絡獲得.

        損失函數(shù)通過梯度反響傳播的方式更新演員當前網(wǎng)絡的所有參數(shù)θ,即

        (7)

        式(7)中:Q(Sj,Aj,θ)由評論家當前網(wǎng)絡計算所得.

        在不損失模型精度情況下,為了準確找出壓縮情況,算法通過總結文獻[10]的研究經(jīng)驗,將獎勵函數(shù)設置為

        RFLOPs=-Error·ln(FLOPs).

        (8)

        式(8)中:ln(FLOPs)以e為底的對數(shù),且與Error成反比,該獎勵函數(shù)對誤差敏感,能更好支持模型剪枝中對FLOPs的減少.

        提出的自動化可替代濾波器剪枝算法,如算法1所示.

        算法1

        Input:training data:X.

        Initialize:model parameter W = {W(i),0 ≤ i ≤ L} Action,Ni

        for episode=1;episode≤episodemax;episode + + do

        Update the model parameter W based on X

        for i = 1;i ≤ L; i + + do

        Initialize the reduced model size so far

        Wall=∑LWL

        Wrest=∑L=i+1WL

        Wduty=α*Wall-Actionmax*Wrest-Wreduced

        Actioni=max(Actiont,Wduty/Wi)

        Wreduced=Wreduced+Actioni*Wi

        Find Actioni*Ni+1filters that satisfy Equation 2

        Zeroize selected filters

        If i==L

        Update the Reward

        end if

        end for

        end for

        Obtain the compact model W*from W

        Output:The compact model and its parameters W*

        2 實驗結果與分析

        2.1 實驗環(huán)境

        搭建Pytorch環(huán)境進行訓練,系統(tǒng)為Ubuntu18.04,電腦硬件配置為Intel(R)Core(TM)i7-6700 CPU@3.4 GHz,NVIDIA GeForce TITAN Xp;軟件配置為CUDAToolkitv10.0,Anaconda3和Pycharm 2019.

        2.2 數(shù)據(jù)集與網(wǎng)絡模型

        算法在公開的CIFAR-10數(shù)據(jù)集的VGGNet-16和ResNet-56[12]兩種模型及公開的ImageNet[13]數(shù)據(jù)集的Mobilenet-V1和Mobilenet-V2兩種模型上進行實驗.CIFAR-10數(shù)據(jù)集包含10類,每一類包含6 000張圖片,共60 000張圖片,每張圖片均是分辨率為32 px×32 px的三通道RGB(三原色)圖片,其中:50 000張為訓練集圖片,10 000張為測試集圖片.ImageNet數(shù)據(jù)集作為大型數(shù)據(jù)集,訓練集包含分辨率為224 px×224 px的1 000類圖片,每類圖片包含1 300張圖片.測試集包含50 000張圖片.

        2.3 對比算法

        對比算法有CP算法[5]與AMC算法[10].實驗效果衡量指標主要有算法準確率、參數(shù)量及浮點計算量.算法準確率用來衡量模型分類結果的好壞.參數(shù)量用來衡量神經(jīng)網(wǎng)絡所占計算機內(nèi)存的大小,參數(shù)量的壓縮比例是指剪枝后的參數(shù)量與未剪枝的參數(shù)量的減少比例.浮點計算量指的是浮點運算次數(shù),用來衡量網(wǎng)絡模型復雜程度,浮點計算量的減少說明網(wǎng)絡在實際運算中可以取得加速效果,減少量越大,說明加速效果越明顯.

        2.4 CIFAR-10數(shù)據(jù)集實驗結果

        將提出的算法運用到不含直連的VGGNet-16與含有直連的ResNet-56神經(jīng)網(wǎng)絡模型上,VGGNet-16模型,ResNet-56模型在CIFAR-10數(shù)據(jù)集上的剪枝比較,如表1所示.表1中:η為壓縮率;ε為精度,Δε為精度變化.

        表1 VGGNet-16模型,ResNet-56模型在CIFAR-10數(shù)據(jù)集上的剪枝算法比較Tab.1 Comparison of pruning algorithms using VGG-16 model and ResNet-56 model On CIFAR-10 dataset

        由表1可知:VGGNet-16神經(jīng)網(wǎng)絡模型的壓縮率為20%時,相較于CP算法與AMC算法,文中算法性能降低得最小,精度僅降低了1.1%;ResNet-56神經(jīng)網(wǎng)絡模型壓縮率為50%時,相較于CP算法與AMC算法,文中算法性能降低得較小,精度僅降低了0.7%.

        對于FLOPs約束下的常用模型的剪枝,文中算法通過強化學習執(zhí)行不同剪枝率,保證學習過程產(chǎn)生最優(yōu)剪枝組合策略,能夠很好地避免敏感層的過度剪枝.對比根據(jù)經(jīng)驗手動調(diào)參方法與啟發(fā)式方法,處于幾何中心的冗余濾波器的剪枝能獲得更好的剪枝效果,能夠很好地保留對模型精度影響大的濾波器.對比引入靜態(tài)正則項進行自動化剪枝的AMC算法,文中算法通過對可替代濾波器進行冗余濾波器剪枝,能夠很好地保留包含較多有用信息的濾波器,從而獲得更低的精度損失.

        2.5 ImageNet數(shù)據(jù)集實驗結果

        將提出的算法運用到ImageNet數(shù)據(jù)集上,在保持相同壓縮率下,文中算法在Mobilenet-V1模型和Mobilenet-V2模型上的剪枝效果比較,如表2所示.表2中:-表示未執(zhí)行剪枝操作;ε(Top-1)為排名第一的類別與實際相符的精度.

        由表2可知:在保持相同壓縮率條件下,文中算法保留的模型能夠獲得更好的精度保留;當FLOPs為41×106次時,相比于基準算法,文中算法在Mobilenet-V1模型上的精確度高出7.5%,文中算法在Mobilenet-V2模型上的精確度高出4.7%.

        表2 文中算法在Mobilenet-V1模型和Mobilenet-V2模型上的剪枝效果比較Tab.2 Comparison of pruning effect of proposed algorithm on Mobilenet-V1 model and Mobilenet-V2 model

        文中算法與AMC算法的Top-1準確性比較,如表3所示.由表3可知:與AMC算法相比,文中算法能夠更好地保留模型中重要的濾波器.同時,對于保留相同數(shù)量的濾波器,能夠保證更小的精度損失,而獲得更好的結果.具體表現(xiàn)為在保持基本相同的FLOPs減少量的基礎上,文中算法在精度損失上更小,剪枝完成后的Mobilenet-V1模型精度提高了0.1%,Mobilenet-V2模型精度提高了0.9%.

        表3 文中算法與AMC算法的Top-1準確性比較Tab.3 Accuracy comparison of proposed algorithm and AMC algorithms

        3 結束語

        針對卷積神經(jīng)網(wǎng)絡龐大的浮點計算量,提出對可替代濾波器進行自動化剪枝的方法.在保證精度基本不降低的情況下,文中算法大幅度了降低浮點計算量,保證了對不同結構的神經(jīng)網(wǎng)絡模型的良好適應性.對于要求極嚴苛的超小型邊緣設備的小存儲量,未來的工作將在保證精度降低不大的前提下進行模型的進一步壓縮與加速.

        猜你喜歡
        浮點壓縮率剪枝
        人到晚年宜“剪枝”
        LEO星座增強GNSS PPP模糊度浮點解與固定解性能評估
        基于YOLOv4-Tiny模型剪枝算法
        基于浮點DSP的鐵路FSK信號檢測
        水密封連接器尾部接電纜的優(yōu)化設計
        纏繞墊片產(chǎn)品質量控制研究
        剪枝
        天津詩人(2017年2期)2017-03-16 03:09:39
        多載波通信系統(tǒng)中CQI無損壓縮法研究
        分布式多視點視頻編碼在應急通信中的應用
        基于FPGA的浮點FIR濾波器設計
        亚洲素人日韩av中文字幕| 亚洲精品无播放器在线播放| 香色肉欲色综合| 久久婷婷国产综合精品| 我揉搓少妇好久没做高潮| 色综合久久中文娱乐网| 国产在线精品一区二区三区不卡| 丰满人妻无套中出中文字幕| 国产91久久精品成人看网站| 一本无码中文字幕在线观| 亚洲精华国产精华液的福利| 欧美日韩中文亚洲另类春色| 亚洲一区二区岛国高清| 精品无码人妻夜人多侵犯18| 老熟妻内射精品一区| 亚洲午夜看片无码| 爱爱免费视频一区二区三区| 综合色就爱涩涩涩综合婷婷| 婷婷亚洲综合五月天小说| 国产精品自在在线午夜出白浆| 邻居人妻的肉欲满足中文字幕| 亚洲av午夜福利精品一区二区 | 国内精品久久人妻互换| 天天干天天日夜夜操| 成人免费看吃奶视频网站| 亚洲区偷拍自拍29p| 国产爽快片一区二区三区| 欧美老妇多毛xxxxx极瑞视频| 亚洲av熟妇高潮30p| 男女干逼视频免费网站| 精品人伦一区二区三区蜜桃91| 免费人成在线观看视频播放| 国产精品视频免费的| 精品人妻在线一区二区三区在线 | 国产免费人成视频在线播放播| 国产丝袜长腿在线看片网站| 西西午夜无码大胆啪啪国模| 国内少妇人妻丰满av| 在线免费观看亚洲毛片| 午夜人妻久久久久久久久| 午夜不卡久久精品无码免费|