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

        ?

        基于貝葉斯優(yōu)化的無標(biāo)簽網(wǎng)絡(luò)剪枝算法

        2023-02-03 03:01:22高媛媛余振華宋麗娟
        計(jì)算機(jī)應(yīng)用 2023年1期
        關(guān)鍵詞:優(yōu)化模型

        高媛媛,余振華,杜 方,2,宋麗娟,2

        (1.寧夏大學(xué) 信息工程學(xué)院,銀川 750021;2.寧夏大數(shù)據(jù)與人工智能省部共建協(xié)同創(chuàng)新中心(寧夏大學(xué)),銀川 750021)

        0 引言

        近年來,深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)在計(jì)算機(jī)視覺[1]、自然語言處理[2]等多種應(yīng)用中呈現(xiàn)出卓越的性能,用于計(jì)算機(jī)視覺任務(wù)的傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)[3]逐漸被深度神經(jīng)網(wǎng)絡(luò)所取代。深度神經(jīng)網(wǎng)絡(luò)對復(fù)雜的特征空間分布具有很強(qiáng)的擬合能力,因此已經(jīng)在各類大型計(jì)算機(jī)視覺比賽中占據(jù)主導(dǎo)地位。但最近的研究[4]表明,深度神經(jīng)網(wǎng)絡(luò)在視覺任務(wù)上的性能可能受益于網(wǎng)絡(luò)的深度和寬度,盡管取得了成功,但深度神經(jīng)網(wǎng)絡(luò)每層中存在大量冗余信息,模型推理過程中需要較高的計(jì)算量和存儲成本,例如,使用AlexNet[5]處理一幅圖像約產(chǎn)生6 000 萬的參數(shù),這顯然限制了AlexNet在資源受限設(shè)備上的部署與應(yīng)用。輕量化網(wǎng)絡(luò)旨在保持模型精度基礎(chǔ)上近一步減少模型參數(shù)量、降低復(fù)雜度,逐漸成為計(jì)算機(jī)視覺中的一個(gè)研究熱點(diǎn)。輕量化網(wǎng)絡(luò)既包含了對網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì),又包含了模型壓縮技術(shù)的運(yùn)用,而網(wǎng)絡(luò)剪枝算法就是一種模型壓縮技術(shù)[6-7]。

        網(wǎng)絡(luò)剪枝是提高模型推理速度和縮小模型尺寸的有效算法,通過有效去除網(wǎng)絡(luò)模型中冗余的參數(shù)來減小模型的體積,從而使模型輕量化。近年來網(wǎng)絡(luò)修剪的發(fā)展大致可分為非結(jié)構(gòu)化和結(jié)構(gòu)化兩類,在早期,研究人員主要集中在非結(jié)構(gòu)化剪枝上。Han 等[8]提出了一種基于幅度的剪枝算法來去除模型中的冗余權(quán)重,絕對值小的連接被認(rèn)為不重要而被丟棄;為了得到一個(gè)彈性損失,Guo 等[9]將拼接操作加入到網(wǎng)絡(luò)修剪中,一旦發(fā)現(xiàn)被修剪的連接很重要,它們可以在任何時(shí)候被恢復(fù)。然而,非結(jié)構(gòu)化剪枝的缺點(diǎn)是顯而易見的,由于不規(guī)則連接導(dǎo)致的緩存和內(nèi)存訪問問題,會對其實(shí)際推理速度產(chǎn)生不良影響,相比之下,結(jié)構(gòu)化剪枝可以更好地壓縮網(wǎng)絡(luò)。Li 等[10]將之前的基于幅度的準(zhǔn)則引入到過濾器修剪中,根據(jù)L1 范數(shù)計(jì)算過濾器重要性得分進(jìn)行網(wǎng)絡(luò)剪枝;He等[11]計(jì)算了層內(nèi)過濾器的幾何中值來指導(dǎo)修剪網(wǎng)絡(luò)中的冗余信息;Lin 等[12]利用特征圖的平均秩來評判每個(gè)過濾器的重要性,認(rèn)為秩越低的特征圖對模型性能的貢獻(xiàn)越小,并對低秩特征圖的過濾器進(jìn)行修剪;Wang 等[13]提出一種全面的剪枝框架,不同于之前的研究中只對單個(gè)維度進(jìn)行剪枝,它是對網(wǎng)絡(luò)的三個(gè)維度進(jìn)行全面的剪枝以獲得最佳的結(jié)果。上述剪枝算法在小型或大型數(shù)據(jù)集上都取得了很好的效果,為網(wǎng)絡(luò)剪枝的發(fā)展作出了很大的貢獻(xiàn)。

        網(wǎng)絡(luò)結(jié)構(gòu)搜索描述的是一個(gè)高維空間的最優(yōu)參數(shù)搜索問題,它也是當(dāng)下模型壓縮的研究熱點(diǎn)之一。隨著深度學(xué)習(xí)的快速發(fā)展,神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)正在從人工設(shè)計(jì)轉(zhuǎn)型為機(jī)器自動設(shè)計(jì)。這一進(jìn)程的標(biāo)志事件發(fā)生在2016 年,由Zoph 等[14]首次提出利用強(qiáng)化學(xué)習(xí)進(jìn)行神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索(Neural Architecture Search,NAS),并在圖像分類和語言建模任務(wù)上超越了此前人工設(shè)計(jì)的網(wǎng)絡(luò)。隨后,不斷有新的網(wǎng)絡(luò)結(jié)構(gòu)搜索策略被提出,Real 等[15]將進(jìn)化算法應(yīng)用在NAS 任務(wù)中,并在圖像分類任務(wù)上取得了不錯(cuò)的成績。該算法首次對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行編碼構(gòu)成種群,然后從種群中挑選網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練并評估,留下高性能網(wǎng)絡(luò)而淘汰低性能網(wǎng)絡(luò)。后續(xù)Real 等[16]對該算法進(jìn)行改進(jìn),為候選網(wǎng)絡(luò)結(jié)構(gòu)引入“年代”的概念,即將整個(gè)種群放入一個(gè)隊(duì)列,在隊(duì)尾新加入一個(gè)元素就移除一個(gè)隊(duì)首元素,使進(jìn)化更趨于年輕化,也取得了網(wǎng)絡(luò)性能上的突破。此外,為了避免對候選子網(wǎng)的廣泛搜索,Cao 等[17]使用貝葉斯優(yōu)化(Bayesian Optimization,BO)算法尋找子網(wǎng)的優(yōu)先順序,以便進(jìn)行高效的評估。Liu 等[18]提出一種自動化結(jié)構(gòu)剪枝算法,將結(jié)構(gòu)化剪枝方案的組合有效地融入自動搜索剪枝過程,剪枝過程不依賴人工設(shè)計(jì),實(shí)現(xiàn)了較高的壓縮率。

        雖然現(xiàn)有的網(wǎng)絡(luò)剪枝算法與結(jié)構(gòu)搜索策略都取得了很大的成功,但仍存在一些亟待解決的問題。在深層網(wǎng)絡(luò)中,現(xiàn)有的很多算法以逐層剪枝的方式來確定最終的網(wǎng)絡(luò)稀疏結(jié)構(gòu),這種逐層剪枝策略缺乏對網(wǎng)絡(luò)結(jié)構(gòu)全局信息的有效利用,往往會得到次優(yōu)的壓縮結(jié)果。而且,現(xiàn)有的網(wǎng)絡(luò)剪枝策略大多建立在數(shù)據(jù)有標(biāo)簽的情況下,在剪枝過程中需要依賴標(biāo)簽數(shù)據(jù),限制了在無標(biāo)簽情況下的應(yīng)用。針對網(wǎng)絡(luò)結(jié)構(gòu)搜索策略,當(dāng)下可將結(jié)構(gòu)搜索策略分為兩大類,分別是基于強(qiáng)化學(xué)習(xí)和基于進(jìn)化算法策略。雖然這兩類策略都取得了不錯(cuò)的成績,但網(wǎng)絡(luò)結(jié)構(gòu)搜索本質(zhì)上是一個(gè)優(yōu)化問題,以上策略的設(shè)計(jì)都沒有過多關(guān)注評估神經(jīng)網(wǎng)絡(luò)所產(chǎn)生的計(jì)算代價(jià),而是強(qiáng)調(diào)如何謹(jǐn)慎地選擇下一步要嘗試的網(wǎng)絡(luò)結(jié)構(gòu)。如筆者團(tuán)隊(duì)前期工作LFGCL(Lable-Free Global Compression Learning)[19]提出利用強(qiáng)化學(xué)習(xí)作為網(wǎng)絡(luò)結(jié)構(gòu)搜索策略,該算法每一次迭代策略選擇的過程中計(jì)算代價(jià)都很高。而貝葉斯優(yōu)化算法使用貝葉斯模型來確定未來的評估,可以在低維空間內(nèi)通過累加的先驗(yàn)知識更快地確定下一個(gè)網(wǎng)絡(luò)結(jié)構(gòu),在更小的計(jì)算代價(jià)下能更有效地評估。

        為解決上述問題,本文提出一種基于貝葉斯優(yōu)化的無標(biāo)簽網(wǎng)絡(luò)剪枝算法。首先,算法采用全局剪枝策略來有效避免以逐層方式修剪而導(dǎo)致的次優(yōu)壓縮率;其次,在網(wǎng)絡(luò)模型進(jìn)行壓縮過程中該算法不依賴于數(shù)據(jù)標(biāo)簽,通過最小化剪枝網(wǎng)絡(luò)與基線網(wǎng)絡(luò)輸出特征之間的差異性對剪枝網(wǎng)絡(luò)體系結(jié)構(gòu)進(jìn)行優(yōu)化;最后,算法通過貝葉斯優(yōu)化去尋找一個(gè)最優(yōu)的稀疏網(wǎng)絡(luò)結(jié)構(gòu)。

        1 相關(guān)工作

        1.1 貝葉斯優(yōu)化

        貝葉斯優(yōu)化是一類基于機(jī)器學(xué)習(xí)的優(yōu)化算法,該算法可以靈活解決黑盒優(yōu)化問題,并能在功能評估中容忍隨機(jī)噪聲[20],也是一種十分有效的全局優(yōu)化算法,目標(biāo)是找到式(1)中的全局最優(yōu)解,它假設(shè)超參數(shù)與最后所需要優(yōu)化的損失函數(shù)存在一個(gè)函數(shù)關(guān)系:

        其中:ai為超參數(shù),A=a1,a2,…,an是一組超參數(shù)集合,f(ai)為目標(biāo)優(yōu)化函數(shù)。貝葉斯優(yōu)化算法在優(yōu)化過程中利用了著名的“貝葉斯定理”:

        其中:D1:t={(a1,(fa1)),(a2,(fa2)),…,(at,(fat))}表示觀測數(shù)據(jù)樣本的集合;f表示未知目標(biāo)函數(shù);p(D1:t|f)表示在目標(biāo)函數(shù)值中包含特定觀測值的概率,即觀測值的一個(gè)似然分布;p(f)表示目標(biāo)函數(shù)f的先驗(yàn)概率分布;p(D1:t)表示觀測值的先驗(yàn)概率;p(f|D1:t)表示給定觀測數(shù)據(jù)樣本D1:t,假設(shè)f成立的概率,即目標(biāo)函數(shù)f的后驗(yàn)概率分布。

        貝葉斯優(yōu)化主要包含兩個(gè)核心部分——概率代理模型和收益函數(shù)。

        概率代理模型通過一個(gè)近似的函數(shù)來最大化擬合真實(shí)的目標(biāo)函數(shù)。它包含先驗(yàn)概率模型p(f)和觀測模型p(D1:t|f)。其思想為:利用先驗(yàn)概率模型產(chǎn)生一個(gè)更新后的后驗(yàn)概率分布,因此,更新概率代理模型意味著根據(jù)式(2)得到包含更多數(shù)據(jù)信息的后驗(yàn)概率分布p(f|D1:t)。

        收益函數(shù)E(a|D1:t)是建立在后驗(yàn)概率分布上的,它判斷一個(gè)樣本能否給后驗(yàn)概率分布提供更多的收益,收益越大,其修正的概率代理模型會越接近目標(biāo)函數(shù)的真實(shí)分布。

        貝葉斯優(yōu)化算法的本質(zhì)是通過先驗(yàn)知識,產(chǎn)生一個(gè)后驗(yàn)函數(shù)去選擇下一個(gè)新的信息。它是一個(gè)通過算法迭代去尋找目標(biāo)函數(shù)最優(yōu)值的過程,每一次迭代,算法通過最大化收益函數(shù)采樣新的評估點(diǎn),然后作為輸入傳入算法,獲得新的輸出,以此來更新觀測數(shù)據(jù)集和概率代理模型。算法1 為貝葉斯優(yōu)化算法的偽代碼。

        算法1 貝葉斯優(yōu)化算法。

        1.2 模型壓縮

        模型壓縮是深度學(xué)習(xí)領(lǐng)域中一個(gè)較為熱門的研究方向,通過對模型的網(wǎng)絡(luò)結(jié)構(gòu)或者權(quán)重表示方式進(jìn)行簡化,在精度損失可控的前提下,降低模型的計(jì)算復(fù)雜度和參數(shù)規(guī)模,以解決深度學(xué)習(xí)模型計(jì)算效率較低的問題。此技術(shù)對于實(shí)時(shí)應(yīng)用有著重要的意義,本節(jié)將簡要描述模型壓縮的相關(guān)技術(shù),這些技術(shù)大致可以分為網(wǎng)絡(luò)剪枝、低秩分解、知識蒸餾和權(quán)值量化。其中,網(wǎng)絡(luò)剪枝算法已經(jīng)在本文引言中進(jìn)行了介紹,本節(jié)將對其他算法進(jìn)行介紹。

        低秩分解技術(shù)主要利用矩陣分解對深度神經(jīng)網(wǎng)絡(luò)模型中的原始卷積核進(jìn)行拆分。卷積運(yùn)算在深度神經(jīng)網(wǎng)絡(luò)中產(chǎn)生了大量的計(jì)算操作,因此減少卷積層可以有效提高壓縮率以及整體運(yùn)算速率,為此不直接使用卷積層,而使用奇異值分解(Singular Value Decomposition,SVD)原理將其分解為低維度矩陣,以減少參數(shù)量達(dá)到壓縮網(wǎng)絡(luò)模型的效果。最初的工作主要是將三維卷積核分解為三個(gè)可分離的一維濾波器[21]。Minnehan 等[22]提出了一種基于低秩映射的壓縮算法,將連續(xù)層的輸出和輸入濾波通道映射到統(tǒng)一低維空間,在不損失精度的情況下,減少了網(wǎng)絡(luò)的參數(shù)量、計(jì)算負(fù)載和內(nèi)存消耗。Gupta 等[23]通過用兩個(gè)濾波器組替換原始濾波器,在top-5 錯(cuò)誤率僅增加1.66%的情況下,使計(jì)算速度提升了3 倍。雖然低秩分解技術(shù)逐漸應(yīng)用于模型壓縮中,但是這類算法增加了網(wǎng)絡(luò)的層次,在訓(xùn)練過程中容易造成梯度消失;并且低秩分解技術(shù)通常都會導(dǎo)致較大的精度下降,因此需要消耗更多的時(shí)間通過微調(diào)來緩解精度的下降。

        知識蒸餾是一種經(jīng)典的模型壓縮技術(shù),其目的是將知識從一個(gè)訓(xùn)練好的教師網(wǎng)絡(luò)遷移到更小、更快的學(xué)生網(wǎng)絡(luò)中?,F(xiàn)有的知識蒸餾工作大致可分為兩類,第一類是使用教師網(wǎng)絡(luò)生成的軟標(biāo)簽來指導(dǎo)學(xué)生網(wǎng)絡(luò),該算法由Ba 等[24]首先提出。之后Hinton 等[25]通過最小化網(wǎng)絡(luò)輸出之間的KL(Kullback-Leibler)散度,將有用信息從復(fù)雜教師網(wǎng)絡(luò)轉(zhuǎn)移到學(xué)生網(wǎng)絡(luò),然而,當(dāng)教師網(wǎng)絡(luò)變深時(shí),僅僅學(xué)習(xí)軟標(biāo)簽還不足以學(xué)到完整的網(wǎng)絡(luò)特征信息。為解決這一問題,第二類知識蒸餾提出利用教師網(wǎng)絡(luò)的內(nèi)部表征來指導(dǎo)學(xué)生網(wǎng)絡(luò)訓(xùn)練。Wang 等[26]提出了一種基于知識蒸餾的預(yù)訓(xùn)練模型的壓縮算法,通過讓小模型深度模仿復(fù)雜模型的最后一層自注意力知識,進(jìn)一步提升知識蒸餾性能。Zhao 等[27]提出了一種循序漸進(jìn)的分塊蒸餾算法來學(xué)習(xí)教師網(wǎng)絡(luò)的部分中間特征圖,在蒸餾過程中緩解了聯(lián)合優(yōu)化的難度,但增大了學(xué)生模型和教師模型之間的差距。知識蒸餾不需要與原始網(wǎng)絡(luò)具有相似結(jié)構(gòu),也意味著知識的提煉比較靈活,但是,如果沒有預(yù)先訓(xùn)練好的教師網(wǎng)絡(luò),則需要更大的數(shù)據(jù)集和更多的時(shí)間來進(jìn)行蒸餾。

        量化技術(shù)通過減少網(wǎng)絡(luò)參數(shù)所占的浮點(diǎn)數(shù)位數(shù)來降低網(wǎng)絡(luò)模型所占的存儲空間。量化的實(shí)現(xiàn)一般是將網(wǎng)絡(luò)操作從高位轉(zhuǎn)換為8 位以壓縮存儲空間,同時(shí)根據(jù)存儲一個(gè)權(quán)重元素所需的位數(shù),可以包含二進(jìn)制神經(jīng)網(wǎng)絡(luò)和三元權(quán)重網(wǎng)絡(luò)。Courbariaux 等[28]提出的二值化是一種極端的量化算法,其中權(quán)重和激活都用一個(gè)位表示,可以是+1 或-1。Li 等[29]在二值化的基礎(chǔ)上,將權(quán)重約束用+1,0,-1 表示,提出了神經(jīng)網(wǎng)絡(luò)三值化算法。Hubara 等[30]提出一種新算法,使用4 位而不是8 位去訓(xùn)練網(wǎng)絡(luò)子集,并使4 位網(wǎng)絡(luò)模型能夠?qū)崿F(xiàn)接近全精度值。雖然量化技術(shù)可以減小深度網(wǎng)絡(luò)模型的計(jì)算規(guī)模,加速計(jì)算,但是不恰當(dāng)?shù)膲嚎s算法可能會導(dǎo)致模型性能大退化,比如,裁剪掉過多的連接或者將網(wǎng)絡(luò)中所有數(shù)據(jù)都二值化,將使壓縮后的模型失去應(yīng)用能力。

        2 算法描述

        2.1 問題定義

        本文將基線網(wǎng)絡(luò)最終的輸出特征用f(Y,W)表示,其中Y和W分別表示基線網(wǎng)絡(luò)的輸入和權(quán)重。剪枝網(wǎng)絡(luò)的輸出特征定義為g(Y,W′)。網(wǎng)絡(luò)剪枝的目的是在保持模型一定精度的情況下最大限度地去除模型中的冗余參數(shù),從而得到一個(gè)壓縮的權(quán)重張量W′,經(jīng)過剪枝后的網(wǎng)絡(luò)結(jié)構(gòu)記為s。算法通過減少f(Y,W)和g(Y,W′)之間的差異來定義均方誤差(Mean Squared Error,MSE)損失:

        其中:n為輸入樣本的總數(shù)量,i為網(wǎng)絡(luò)結(jié)構(gòu)的層數(shù)。算法通過最小化MSE 損失來定義模型性能指標(biāo)Ras,用來評估不同的剪枝網(wǎng)絡(luò)架構(gòu):

        為了區(qū)分具有相似性能的不同剪枝網(wǎng)絡(luò)架構(gòu),本文進(jìn)一步定義了一種模型效率度量指標(biāo),如式(5)所示。該算法將每秒浮點(diǎn)運(yùn)算次數(shù)(Floating Point of Operations,F(xiàn)LOPs)壓縮率作為剪枝網(wǎng)絡(luò)的效率度量,保證在小范圍內(nèi)的精度損失下將較大壓縮率的剪枝網(wǎng)絡(luò)給予更高的分?jǐn)?shù)指標(biāo)。

        其中:Fs和Fb分別代表剪枝網(wǎng)絡(luò)和基線網(wǎng)絡(luò)的FLOPs;C表示剪枝網(wǎng)絡(luò)相對基線網(wǎng)絡(luò)的FLOPs 壓縮率。

        通過將網(wǎng)絡(luò)模型性能與模型效率結(jié)合起來,本文進(jìn)一步定義了新的度量指標(biāo):

        因此,模型壓縮問題被重新定義為:尋找最優(yōu)的網(wǎng)絡(luò)體系結(jié)構(gòu)等價(jià)于搜索最高度量指標(biāo)Rs的網(wǎng)絡(luò)體系結(jié)構(gòu)。在下面的章節(jié)中,本文通過貝葉斯優(yōu)化算法,為優(yōu)化問題提供了一個(gè)可行的解決方案。

        2.2 算法框架

        基于貝葉斯優(yōu)化的無標(biāo)簽網(wǎng)絡(luò)剪枝算法的工作流程如圖1 所示。首先,使用基線網(wǎng)絡(luò)對剪枝網(wǎng)絡(luò)進(jìn)行初始化;其次,在指定范圍內(nèi)的搜索空間中生成剪枝率,再由剪枝策略對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行壓縮;最后,通過貝葉斯優(yōu)化算法搜索最優(yōu)的一組剪枝率,得到最佳的網(wǎng)絡(luò)稀疏結(jié)構(gòu)。算法框架主要可分為三部分,分別是指定網(wǎng)絡(luò)搜索空間、網(wǎng)絡(luò)架構(gòu)搜索和剪枝策略。算法具體流程如下。

        圖1 本文算法框架Fig.1 Framework of proposed algorithm

        1)指定網(wǎng)絡(luò)搜索空間。在[0,1],步長為0.1 區(qū)間范圍內(nèi),隨機(jī)產(chǎn)生網(wǎng)絡(luò)相應(yīng)層數(shù)的剪枝率,保留指定FLOPs 范圍下的剪枝率作為網(wǎng)絡(luò)搜索的空間域。

        2)網(wǎng)絡(luò)架構(gòu)搜索。選取若干組指定FLOPs 搜索空間下的剪枝率和其所對應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)度量指標(biāo)作為先驗(yàn)知識Dt-1,然后更新高斯過程代理函數(shù)解析求得均值μ(xt-1)和方差σ(xt-1),利用均值和方差計(jì)算收益函數(shù),通過最大化收益函數(shù)選擇下一個(gè)需要采樣的剪枝率xt。

        3)網(wǎng)絡(luò)剪枝。將卷積核權(quán)重的L1 范數(shù)作為評價(jià)每個(gè)過濾器的重要性分?jǐn)?shù),并對分?jǐn)?shù)從大到小排序,然后根據(jù)每層的剪枝率對網(wǎng)絡(luò)進(jìn)行剪枝。剪枝策略流程詳見2.4 節(jié)。

        4)網(wǎng)絡(luò)微調(diào)。使用式(7)定義的度量指標(biāo)來對剪枝算法進(jìn)行評估,對剪枝后的網(wǎng)絡(luò)進(jìn)行微調(diào),恢復(fù)模型精度。

        2.3 基于貝葉斯優(yōu)化的網(wǎng)絡(luò)架構(gòu)搜索

        貝葉斯優(yōu)化作為一種十分有效的全局優(yōu)化算法,通過設(shè)計(jì)合適的概率代理模型和收益函數(shù),只需經(jīng)過少量的迭代次數(shù),即可獲得一個(gè)理想解。本文算法使用的概率代理模型為高斯過程(Gaussian Process,GP),收益函數(shù)為EI(Expected Improvement)函數(shù),在指定FLOPs 范圍內(nèi),通過貝葉斯優(yōu)化在剪枝網(wǎng)絡(luò)中去探索一組剪枝率,使剪枝后的網(wǎng)絡(luò)性能損失最小,從而得到一個(gè)最優(yōu)的網(wǎng)絡(luò)稀疏結(jié)構(gòu)。本文算法從貝葉斯的角度出發(fā),通過不確定的后驗(yàn)參數(shù)探索網(wǎng)絡(luò)最優(yōu)的一組剪枝率,可以設(shè)計(jì)如下最優(yōu)化問題加以求解:

        其中:網(wǎng)絡(luò)各層的剪枝率用向量x表示,X表示指定FLOPs 范圍內(nèi)剪枝率的域空間;f(x)=Rs,Rs為式(7)所定義。

        貝葉斯優(yōu)化算法中概率代理模型用于擬合真實(shí)目標(biāo)函數(shù),高斯過程是多元高斯概率分布的范化,采用基于高斯過程的貝葉斯優(yōu)化算法來實(shí)現(xiàn)函數(shù)f(x)的最大化。高斯過程是由均值函數(shù)μ(·):K?R 和協(xié)方差函數(shù)k(·,·):K×K?R組成。為了尋找解決方案,首先從任意選擇的架構(gòu)x1開始,在經(jīng)歷步驟t后,評估網(wǎng)絡(luò)架構(gòu)xt,即獲得函數(shù)f(xt)的值。然后利用前t個(gè)評估架構(gòu)的先驗(yàn)知識,計(jì)算函數(shù)f的后驗(yàn)分布:

        其中:Et表示p(f(x)|f(x1:t))在經(jīng)歷t步后的后驗(yàn)分布期望;函數(shù)=max[f(x1),f(x2),…,f(xt)]。一旦獲得第t+1 神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu),算法將重復(fù)上述過程,直到達(dá)到最大迭代次數(shù),然后返回最佳的剪枝率作為最終解。

        2.4 網(wǎng)絡(luò)剪枝算法

        L1 范數(shù)是指向量中各個(gè)元素的絕對值之和。在之前的研究[31]中卷積核權(quán)重的絕對值之和可以評價(jià)過濾器的重要性,卷積核權(quán)重的絕對值越大表明此過濾器在本層的重要性越高,因此本文使用L1 范數(shù)評分功能對每層過濾器進(jìn)行降序排名,然后僅保留每層中得分最高的過濾器。對每層過濾器修剪過程的流程如圖2 所示,其中,顏色越深表明該過濾器分?jǐn)?shù)越高,具體流程如下:

        圖2 網(wǎng)絡(luò)剪枝過程Fig.2 Network pruning process

        1)計(jì)算層中每一個(gè)過濾器的L1 范數(shù)作為評估當(dāng)前過濾器的重要性分?jǐn)?shù)Si(i=1,2,…,n),通過L1 范數(shù)的值對當(dāng)前層的過濾器進(jìn)行降序排序。

        2)計(jì)算當(dāng)前層要?jiǎng)h除過濾器的個(gè)數(shù)。假設(shè)該層剪枝率為a,過濾器的個(gè)數(shù)為n,則要?jiǎng)h除的過濾器個(gè)數(shù)為t=a×n,如果t為小數(shù)則對其進(jìn)行向下取整操作,只保留整數(shù)部分。

        3)刪除當(dāng)前層不重要的過濾器。如果t<n則直接刪除排名靠后的t個(gè)過濾器;如果t=n,則要將當(dāng)前層上所有的過濾器進(jìn)行刪除,但為了保證網(wǎng)絡(luò)前后層之間的連通性,對該層上重要性分?jǐn)?shù)最高的過濾器給予保留。

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

        本文采用CIFAR-10 和CIFAR-100 數(shù)據(jù)集,對VGG-16 和ResNet 兩個(gè)網(wǎng)絡(luò)模型進(jìn)行評估。

        CIFAR-10 和CIFAR-100 是許多計(jì)算機(jī)視覺方法中常用的測試數(shù)據(jù)集。CIFAR-10 數(shù)據(jù)集共包含60 000 張圖像,分為10 個(gè)類別,每個(gè)類別有6 000 張圖像。CIFAR-100 數(shù)據(jù)集和CIFAR-10 數(shù)據(jù)集類似,共包含60 000 張彩色圖像,與CIFAR-10 不同的是,CIFAR-100 將類別從10 增加至100 類,每個(gè)類別分別包含600 個(gè)圖像。

        VGG-16 網(wǎng)絡(luò)由13 個(gè)卷積層和3 個(gè)全連接層組成,為了提高VGG-16 網(wǎng)絡(luò)的收斂性,將VGG-16 網(wǎng)絡(luò)結(jié)構(gòu)重新更改為由13 個(gè)卷積層和2 個(gè)全連接層組成,前13 個(gè)卷積層保持不變,最后2 個(gè)全連接層中過濾器的個(gè)數(shù)分別是512 和10。

        本文中評估的ResNet 模型包括ResNet-20、ResNet-32、ResNet-56 和ResNet-110,為保證每個(gè)殘差塊的輸出通道不變,本實(shí)驗(yàn)只壓縮每個(gè)殘差塊中除最后一層之外的卷積層。

        3.1 實(shí)驗(yàn)參數(shù)設(shè)置

        CIFAR-10 和CIFAR-100 數(shù)據(jù)集都包含60 000 幅圖像,本文將原始訓(xùn)練集分割為包含45 000 張圖像的訓(xùn)練集和包含5 000 張圖像的驗(yàn)證集。

        網(wǎng)絡(luò)模型訓(xùn)練過程的參數(shù)設(shè)置如下:使用隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)算法訓(xùn)練基線網(wǎng)絡(luò)300 次,動量大小為0.9,權(quán)重衰減大小為5 × 10-4,學(xué)習(xí)率初始化為0.1,在第120、180 和240 次迭代時(shí)分別縮減為原來的1/10,批量大小為256。同時(shí),為了避免網(wǎng)絡(luò)模型在訓(xùn)練中出現(xiàn)過擬合現(xiàn)象,本文采用隨機(jī)打亂、零填充和隨機(jī)取樣等技術(shù)進(jìn)行數(shù)據(jù)增強(qiáng)。在每次網(wǎng)絡(luò)搜索過程中,剪枝網(wǎng)絡(luò)不進(jìn)行微調(diào),直至網(wǎng)絡(luò)修剪結(jié)束后,設(shè)置初始學(xué)習(xí)率為0.01,并將其他參數(shù)設(shè)置為與基線網(wǎng)絡(luò)相同的值來微調(diào)修剪后的網(wǎng)絡(luò)。

        貝葉斯優(yōu)化參數(shù)設(shè)置如下:采用高斯過程作為代理函數(shù),收益函數(shù)為EI 函數(shù),初始化1 000 個(gè)采樣點(diǎn),網(wǎng)絡(luò)搜索的空間域大小為1 000,算法迭代次數(shù)為3 000。

        3.2 VGG-16的實(shí)驗(yàn)結(jié)果與分析

        在網(wǎng)絡(luò)剪枝過程中,為了探究在不同的FLOPs 壓縮目標(biāo)下網(wǎng)絡(luò)的參數(shù)壓縮率和精度損失情況,指定62%±1%和55%±1%范圍內(nèi)的FLOPs 的剪枝率約束網(wǎng)絡(luò)每次探索的空間域,在CIFAR-10 數(shù)據(jù)集上對VGG-16 網(wǎng)絡(luò)進(jìn)行壓縮實(shí)驗(yàn),結(jié)果如表1 所示,精度損失指網(wǎng)絡(luò)壓縮后與基線精度的差值。將本文算法與SSS(Sparse Structure Selection)[31]、GAL(Generative Adversarial Learning)[32]、LFGCL 和HRank(High Rank)進(jìn)行對比,實(shí)驗(yàn)結(jié)果如表1 所示。

        由表1 可以看出,LFGCL 的FLOPs 壓縮率為62.70%時(shí),參數(shù)壓縮率為92.32%,精度損失為0.37 個(gè)百分點(diǎn);而本文算法的FLOPs 壓縮率為63.00%時(shí),參數(shù)壓縮率為84.80%,精度損失僅0.34 個(gè)百分點(diǎn),優(yōu)于LFGCL。在接近的FLOPs下,本文算法無論是在參數(shù)壓縮率還是精度損失上都優(yōu)于HRank、SSS、GAL。由此可見在常規(guī)深度神經(jīng)網(wǎng)絡(luò)中,本文算法能夠進(jìn)行有效的網(wǎng)絡(luò)壓縮。

        表1 CIFAR-10數(shù)據(jù)集上壓縮VGG-16網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果Tab.1 Results of compressing VGG-16 on CIFAR-10 dataset

        此外,進(jìn)一步分析了VGG-16 網(wǎng)絡(luò)每層的壓縮率,如圖3所示,F(xiàn)LOPs 壓縮目標(biāo)分別為62%±1%和55%±1%,第8、9、10 層都顯示了較高的壓縮率,表明這些層在整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中存在大量不重要的過濾器;同時(shí),第5、7 層的剪枝力度最小,表明在VGG-16 網(wǎng)絡(luò)中,這些層存在較多對該層輸出值貢獻(xiàn)大的過濾器,刪除該過濾器會嚴(yán)重影響模型識別精度。實(shí)驗(yàn)結(jié)果表明,通過貝葉斯優(yōu)化算法尋找網(wǎng)絡(luò)最佳的體系結(jié)構(gòu),可以有效找到網(wǎng)絡(luò)中每一層適當(dāng)?shù)募糁嚎s率。

        圖3 VGG-16在不同F(xiàn)LOPs壓縮目標(biāo)下各層的壓縮率Fig.3 Compression ratios of VGG-16 layers under different FLOPs compression targets

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

        為了評估本文算法在具有殘差結(jié)構(gòu)的網(wǎng)絡(luò)模型中的適用性,分別在ResNet-20,ResNet-32,ResNet-56 和ResNet-110上進(jìn)行了壓縮實(shí)驗(yàn)。在CIFAR-10 數(shù)據(jù)集上壓縮ResNet-20(如表2 所示),本文算法的FLOPs 壓縮率為47.70%時(shí),參數(shù)壓縮率為36.20%,精度損失為0.09 個(gè)百分點(diǎn);在FLOPs 壓縮率為38.50%時(shí),參數(shù)壓縮率為37.70%,模型精度提高了0.12 個(gè)百分點(diǎn)。此外,在模型精度損失極小的情況下壓縮ResNet-32,模型的參數(shù)壓縮率為48.20%,F(xiàn)LOPs 壓縮率為33.25%。上述實(shí)驗(yàn)結(jié)果表明,本文算法可在模型精度損失極小的情況下,得到更加稀疏的網(wǎng)絡(luò)結(jié)構(gòu)。

        表2 在CIFAR-10數(shù)據(jù)集上壓縮ResNet(20,32)的結(jié)果Tab.2 Results of compressing ResNet(20,32)on CIFAR-10 dataset

        為驗(yàn)證本文算法對深度復(fù)雜網(wǎng)絡(luò)壓縮的有效性,首先在CIFAR-10 和CIFAR-100 數(shù)據(jù)集上對ResNet-56 進(jìn)行壓縮實(shí)驗(yàn);然后在CIFAR-10 數(shù)據(jù)集上對更深層的ResNet-110 進(jìn)行實(shí)驗(yàn),對比算法有:GAL、TAS(Transformable Architecture Search)[33]、FPGM(Filter Pruning via Geometric Median)[11]、LFPC(Learning Filter Pruning Criteria)[34]、HRank 和LFGCL。

        表3 和表4 分別為在CIFAR-10 和CIFAR-100 數(shù)據(jù)集上壓縮ResNet-56 的實(shí)驗(yàn)結(jié)果。在表3 中,GAL 的FLOPs 壓縮率為60.20%時(shí),精度損失1.68 個(gè)百分點(diǎn);而本文算法在相同的FLOPs 壓縮率下,精度損失了0.69 個(gè)百分點(diǎn),前者的損失值大約是本算法的2 倍多。相較于TAS、FPGM 和LFPC,在相似的FLOPs 壓縮率下,本文算法在參數(shù)壓縮率為49.10%時(shí),精度只損失0.27 個(gè)百分點(diǎn),在模型壓縮和加速上有更好的效果。在表4 中,在接近的FLOPs 壓縮率下,本文算法的精度損失為0.53 個(gè)百分點(diǎn),與其他三種算法性能相比具有一定優(yōu)勢。但在更深的網(wǎng)絡(luò)結(jié)構(gòu)ResNet-110 中,如表5 所示,LFPC、HRank 與LFGCL 都要優(yōu)于本文算法,這是因?yàn)樨惾~斯優(yōu)化算法使用高斯過程對神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)建模并定義其先驗(yàn),而高斯過程是非參數(shù)模型,每次迭代推理都需要對所有的先驗(yàn)數(shù)據(jù)點(diǎn)進(jìn)行運(yùn)算,對于沒有經(jīng)過任何優(yōu)化的高斯過程,n個(gè)樣本點(diǎn)時(shí)間復(fù)雜度大概是O(n3),在數(shù)據(jù)維數(shù)高的情況下高斯過程會產(chǎn)生巨大的計(jì)算量,而ResNet-110 結(jié)構(gòu)較深,使得網(wǎng)絡(luò)結(jié)構(gòu)的搜索空間顯著增大,因此,在計(jì)算量有限的情況下,本文算法易收斂到局部最優(yōu)。以上實(shí)驗(yàn)結(jié)果表明,本文算法也適用于具有殘差塊結(jié)構(gòu)的ResNet 模型。

        表3 在CIFAR-10數(shù)據(jù)集上壓縮ResNet-56的實(shí)驗(yàn)結(jié)果Tab.3 Results of compressing ResNet-56 on CIFAR-10 dataset

        表4 在CIFAR-100數(shù)據(jù)集上壓縮ResNet-56的實(shí)驗(yàn)結(jié)果Tab.4 Results of compressing ResNet-56 on CIFAR-100 dataset

        表5 在CIFAR-10數(shù)據(jù)集上壓縮ResNet-110的實(shí)驗(yàn)結(jié)果Tab.5 Results of compressing ResNet-110 on CIFAR-10 dataset

        4 結(jié)語

        本文提出一種基于貝葉斯優(yōu)化的無標(biāo)簽網(wǎng)絡(luò)剪枝算法。不同于現(xiàn)有的網(wǎng)絡(luò)剪枝算法,本文算法在剪枝過程中不需要依賴樣本的標(biāo)簽信息,因此其具有更強(qiáng)的適用性。此外,通過利用貝葉斯優(yōu)化算法,在不顯著影響模型精度的情況下能更加有效地對原始模型進(jìn)行壓縮。實(shí)驗(yàn)結(jié)果表明,在常規(guī)的神經(jīng)網(wǎng)絡(luò)模型上,本文算法可以有效地壓縮和加速模型。下一步將在原模型剪枝算法的基礎(chǔ)上結(jié)合其他壓縮算法,特別是知識蒸餾思想,在高維空間內(nèi)進(jìn)一步壓縮網(wǎng)絡(luò)模型。

        猜你喜歡
        優(yōu)化模型
        一半模型
        超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
        民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        3D打印中的模型分割與打包
        FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
        亚洲一区二区三区一站| 大香伊蕉国产av| 亚洲视频天堂| 精品中文字幕手机在线| 日本精品久久不卡一区二区| 亚洲中文字幕久久精品无码a | 18精品久久久无码午夜福利| 18禁无遮挡羞羞污污污污网站| 无码欧亚熟妇人妻AV在线外遇| 色噜噜狠狠色综合中文字幕| 亚洲女同性恋在线播放专区| 色中文字幕在线观看视频| 2020年国产精品| 亚洲女同精品一区二区久久 | 国产另类人妖在线观看| 国产精品久久国产精麻豆99网站 | 久久久人妻精品一区bav| 亚洲无线一二三四区手机| 国产精品视频一区二区噜噜| 无码成年性午夜免费网站蜜蜂| 午夜宅男成人影院香蕉狠狠爱 | 亚洲av永久无码天堂网| 欧美mv日韩mv国产网站| 污污污国产免费网站| 亚洲一区二区三区日韩在线观看| 色综合久久蜜芽国产精品| 男男车车的车车网站w98免费| 人妻少妇偷人精品无码| 亚洲综合网中文字幕在线| 久久久久久夜精品精品免费啦| 午夜精品久久久久久99热| 亚洲日韩一区二区一无码| 国内国外日产一区二区| 亚洲国产日韩a在线乱码| 久久久国产一区二区三区四区小说 | 日本人妻三级在线观看| 欧美性生交大片免费看app麻豆| 亚洲成av人在线观看天堂无码| 免费人成毛片乱码| 亚洲高清自偷揄拍自拍| 国产成人精品无码免费看|