高媛媛,余振華,杜 方,2,宋麗娟,2
(1.寧夏大學 信息工程學院,銀川 750021;2.寧夏大數據與人工智能省部共建協同創新中心(寧夏大學),銀川 750021)
近年來,深度神經網絡(Deep Neural Network,DNN)在計算機視覺[1]、自然語言處理[2]等多種應用中呈現出卓越的性能,用于計算機視覺任務的傳統人工神經網絡[3]逐漸被深度神經網絡所取代。深度神經網絡對復雜的特征空間分布具有很強的擬合能力,因此已經在各類大型計算機視覺比賽中占據主導地位。但最近的研究[4]表明,深度神經網絡在視覺任務上的性能可能受益于網絡的深度和寬度,盡管取得了成功,但深度神經網絡每層中存在大量冗余信息,模型推理過程中需要較高的計算量和存儲成本,例如,使用AlexNet[5]處理一幅圖像約產生6 000 萬的參數,這顯然限制了AlexNet在資源受限設備上的部署與應用。輕量化網絡旨在保持模型精度基礎上近一步減少模型參數量、降低復雜度,逐漸成為計算機視覺中的一個研究熱點。輕量化網絡既包含了對網絡結構的設計,又包含了模型壓縮技術的運用,而網絡剪枝算法就是一種模型壓縮技術[6-7]。
網絡剪枝是提高模型推理速度和縮小模型尺寸的有效算法,通過有效去除網絡模型中冗余的參數來減小模型的體積,從而使模型輕量化。近年來網絡修剪的發展大致可分為非結構化和結構化兩類,在早期,研究人員主要集中在非結構化剪枝上。Han 等[8]提出了一種基于幅度的剪枝算法來去除模型中的冗余權重,絕對值小的連接被認為不重要而被丟棄;為了得到一個彈性損失,Guo 等[9]將拼接操作加入到網絡修剪中,一旦發現被修剪的連接很重要,它們可以在任何時候被恢復。然而,非結構化剪枝的缺點是顯而易見的,由于不規則連接導致的緩存和內存訪問問題,會對其實際推理速度產生不良影響,相比之下,結構化剪枝可以更好地壓縮網絡。Li 等[10]將之前的基于幅度的準則引入到過濾器修剪中,根據L1 范數計算過濾器重要性得分進行網絡剪枝;He等[11]計算了層內過濾器的幾何中值來指導修剪網絡中的冗余信息;Lin 等[12]利用特征圖的平均秩來評判每個過濾器的重要性,認為秩越低的特征圖對模型性能的貢獻越小,并對低秩特征圖的過濾器進行修剪;Wang 等[13]提出一種全面的剪枝框架,不同于之前的研究中只對單個維度進行剪枝,它是對網絡的三個維度進行全面的剪枝以獲得最佳的結果。上述剪枝算法在小型或大型數據集上都取得了很好的效果,為網絡剪枝的發展作出了很大的貢獻。
網絡結構搜索描述的是一個高維空間的最優參數搜索問題,它也是當下模型壓縮的研究熱點之一。隨著深度學習的快速發展,神經網絡的結構正在從人工設計轉型為機器自動設計。這一進程的標志事件發生在2016 年,由Zoph 等[14]首次提出利用強化學習進行神經網絡結構搜索(Neural Architecture Search,NAS),并在圖像分類和語言建模任務上超越了此前人工設計的網絡。隨后,不斷有新的網絡結構搜索策略被提出,Real 等[15]將進化算法應用在NAS 任務中,并在圖像分類任務上取得了不錯的成績。該算法首次對網絡結構進行編碼構成種群,然后從種群中挑選網絡結構訓練并評估,留下高性能網絡而淘汰低性能網絡。后續Real 等[16]對該算法進行改進,為候選網絡結構引入“年代”的概念,即將整個種群放入一個隊列,在隊尾新加入一個元素就移除一個隊首元素,使進化更趨于年輕化,也取得了網絡性能上的突破。此外,為了避免對候選子網的廣泛搜索,Cao 等[17]使用貝葉斯優化(Bayesian Optimization,BO)算法尋找子網的優先順序,以便進行高效的評估。Liu 等[18]提出一種自動化結構剪枝算法,將結構化剪枝方案的組合有效地融入自動搜索剪枝過程,剪枝過程不依賴人工設計,實現了較高的壓縮率。
雖然現有的網絡剪枝算法與結構搜索策略都取得了很大的成功,但仍存在一些亟待解決的問題。在深層網絡中,現有的很多算法以逐層剪枝的方式來確定最終的網絡稀疏結構,這種逐層剪枝策略缺乏對網絡結構全局信息的有效利用,往往會得到次優的壓縮結果。而且,現有的網絡剪枝策略大多建立在數據有標簽的情況下,在剪枝過程中需要依賴標簽數據,限制了在無標簽情況下的應用。針對網絡結構搜索策略,當下可將結構搜索策略分為兩大類,分別是基于強化學習和基于進化算法策略。雖然這兩類策略都取得了不錯的成績,但網絡結構搜索本質上是一個優化問題,以上策略的設計都沒有過多關注評估神經網絡所產生的計算代價,而是強調如何謹慎地選擇下一步要嘗試的網絡結構。如筆者團隊前期工作LFGCL(Lable-Free Global Compression Learning)[19]提出利用強化學習作為網絡結構搜索策略,該算法每一次迭代策略選擇的過程中計算代價都很高。而貝葉斯優化算法使用貝葉斯模型來確定未來的評估,可以在低維空間內通過累加的先驗知識更快地確定下一個網絡結構,在更小的計算代價下能更有效地評估。
為解決上述問題,本文提出一種基于貝葉斯優化的無標簽網絡剪枝算法。首先,算法采用全局剪枝策略來有效避免以逐層方式修剪而導致的次優壓縮率;其次,在網絡模型進行壓縮過程中該算法不依賴于數據標簽,通過最小化剪枝網絡與基線網絡輸出特征之間的差異性對剪枝網絡體系結構進行優化;最后,算法通過貝葉斯優化去尋找一個最優的稀疏網絡結構。
貝葉斯優化是一類基于機器學習的優化算法,該算法可以靈活解決黑盒優化問題,并能在功能評估中容忍隨機噪聲[20],也是一種十分有效的全局優化算法,目標是找到式(1)中的全局最優解,它假設超參數與最后所需要優化的損失函數存在一個函數關系:
其中:ai為超參數,A=a1,a2,…,an是一組超參數集合,f(ai)為目標優化函數。貝葉斯優化算法在優化過程中利用了著名的“貝葉斯定理”:
其中:D1:t={(a1,(fa1)),(a2,(fa2)),…,(at,(fat))}表示觀測數據樣本的集合;f表示未知目標函數;p(D1:t|f)表示在目標函數值中包含特定觀測值的概率,即觀測值的一個似然分布;p(f)表示目標函數f的先驗概率分布;p(D1:t)表示觀測值的先驗概率;p(f|D1:t)表示給定觀測數據樣本D1:t,假設f成立的概率,即目標函數f的后驗概率分布。
貝葉斯優化主要包含兩個核心部分——概率代理模型和收益函數。
概率代理模型通過一個近似的函數來最大化擬合真實的目標函數。它包含先驗概率模型p(f)和觀測模型p(D1:t|f)。其思想為:利用先驗概率模型產生一個更新后的后驗概率分布,因此,更新概率代理模型意味著根據式(2)得到包含更多數據信息的后驗概率分布p(f|D1:t)。
收益函數E(a|D1:t)是建立在后驗概率分布上的,它判斷一個樣本能否給后驗概率分布提供更多的收益,收益越大,其修正的概率代理模型會越接近目標函數的真實分布。
貝葉斯優化算法的本質是通過先驗知識,產生一個后驗函數去選擇下一個新的信息。它是一個通過算法迭代去尋找目標函數最優值的過程,每一次迭代,算法通過最大化收益函數采樣新的評估點,然后作為輸入傳入算法,獲得新的輸出,以此來更新觀測數據集和概率代理模型。算法1 為貝葉斯優化算法的偽代碼。
算法1 貝葉斯優化算法。
模型壓縮是深度學習領域中一個較為熱門的研究方向,通過對模型的網絡結構或者權重表示方式進行簡化,在精度損失可控的前提下,降低模型的計算復雜度和參數規模,以解決深度學習模型計算效率較低的問題。此技術對于實時應用有著重要的意義,本節將簡要描述模型壓縮的相關技術,這些技術大致可以分為網絡剪枝、低秩分解、知識蒸餾和權值量化。其中,網絡剪枝算法已經在本文引言中進行了介紹,本節將對其他算法進行介紹。
低秩分解技術主要利用矩陣分解對深度神經網絡模型中的原始卷積核進行拆分。卷積運算在深度神經網絡中產生了大量的計算操作,因此減少卷積層可以有效提高壓縮率以及整體運算速率,為此不直接使用卷積層,而使用奇異值分解(Singular Value Decomposition,SVD)原理將其分解為低維度矩陣,以減少參數量達到壓縮網絡模型的效果。最初的工作主要是將三維卷積核分解為三個可分離的一維濾波器[21]。Minnehan 等[22]提出了一種基于低秩映射的壓縮算法,將連續層的輸出和輸入濾波通道映射到統一低維空間,在不損失精度的情況下,減少了網絡的參數量、計算負載和內存消耗。Gupta 等[23]通過用兩個濾波器組替換原始濾波器,在top-5 錯誤率僅增加1.66%的情況下,使計算速度提升了3 倍。雖然低秩分解技術逐漸應用于模型壓縮中,但是這類算法增加了網絡的層次,在訓練過程中容易造成梯度消失;并且低秩分解技術通常都會導致較大的精度下降,因此需要消耗更多的時間通過微調來緩解精度的下降。
知識蒸餾是一種經典的模型壓縮技術,其目的是將知識從一個訓練好的教師網絡遷移到更小、更快的學生網絡中。現有的知識蒸餾工作大致可分為兩類,第一類是使用教師網絡生成的軟標簽來指導學生網絡,該算法由Ba 等[24]首先提出。之后Hinton 等[25]通過最小化網絡輸出之間的KL(Kullback-Leibler)散度,將有用信息從復雜教師網絡轉移到學生網絡,然而,當教師網絡變深時,僅僅學習軟標簽還不足以學到完整的網絡特征信息。為解決這一問題,第二類知識蒸餾提出利用教師網絡的內部表征來指導學生網絡訓練。Wang 等[26]提出了一種基于知識蒸餾的預訓練模型的壓縮算法,通過讓小模型深度模仿復雜模型的最后一層自注意力知識,進一步提升知識蒸餾性能。Zhao 等[27]提出了一種循序漸進的分塊蒸餾算法來學習教師網絡的部分中間特征圖,在蒸餾過程中緩解了聯合優化的難度,但增大了學生模型和教師模型之間的差距。知識蒸餾不需要與原始網絡具有相似結構,也意味著知識的提煉比較靈活,但是,如果沒有預先訓練好的教師網絡,則需要更大的數據集和更多的時間來進行蒸餾。
量化技術通過減少網絡參數所占的浮點數位數來降低網絡模型所占的存儲空間。量化的實現一般是將網絡操作從高位轉換為8 位以壓縮存儲空間,同時根據存儲一個權重元素所需的位數,可以包含二進制神經網絡和三元權重網絡。Courbariaux 等[28]提出的二值化是一種極端的量化算法,其中權重和激活都用一個位表示,可以是+1 或-1。Li 等[29]在二值化的基礎上,將權重約束用+1,0,-1 表示,提出了神經網絡三值化算法。Hubara 等[30]提出一種新算法,使用4 位而不是8 位去訓練網絡子集,并使4 位網絡模型能夠實現接近全精度值。雖然量化技術可以減小深度網絡模型的計算規模,加速計算,但是不恰當的壓縮算法可能會導致模型性能大退化,比如,裁剪掉過多的連接或者將網絡中所有數據都二值化,將使壓縮后的模型失去應用能力。
本文將基線網絡最終的輸出特征用f(Y,W)表示,其中Y和W分別表示基線網絡的輸入和權重。剪枝網絡的輸出特征定義為g(Y,W′)。網絡剪枝的目的是在保持模型一定精度的情況下最大限度地去除模型中的冗余參數,從而得到一個壓縮的權重張量W′,經過剪枝后的網絡結構記為s。算法通過減少f(Y,W)和g(Y,W′)之間的差異來定義均方誤差(Mean Squared Error,MSE)損失:
其中:n為輸入樣本的總數量,i為網絡結構的層數。算法通過最小化MSE 損失來定義模型性能指標Ras,用來評估不同的剪枝網絡架構:
為了區分具有相似性能的不同剪枝網絡架構,本文進一步定義了一種模型效率度量指標,如式(5)所示。該算法將每秒浮點運算次數(Floating Point of Operations,FLOPs)壓縮率作為剪枝網絡的效率度量,保證在小范圍內的精度損失下將較大壓縮率的剪枝網絡給予更高的分數指標。
其中:Fs和Fb分別代表剪枝網絡和基線網絡的FLOPs;C表示剪枝網絡相對基線網絡的FLOPs 壓縮率。
通過將網絡模型性能與模型效率結合起來,本文進一步定義了新的度量指標:
因此,模型壓縮問題被重新定義為:尋找最優的網絡體系結構等價于搜索最高度量指標Rs的網絡體系結構。在下面的章節中,本文通過貝葉斯優化算法,為優化問題提供了一個可行的解決方案。
基于貝葉斯優化的無標簽網絡剪枝算法的工作流程如圖1 所示。首先,使用基線網絡對剪枝網絡進行初始化;其次,在指定范圍內的搜索空間中生成剪枝率,再由剪枝策略對網絡結構進行壓縮;最后,通過貝葉斯優化算法搜索最優的一組剪枝率,得到最佳的網絡稀疏結構。算法框架主要可分為三部分,分別是指定網絡搜索空間、網絡架構搜索和剪枝策略。算法具體流程如下。
圖1 本文算法框架Fig.1 Framework of proposed algorithm
1)指定網絡搜索空間。在[0,1],步長為0.1 區間范圍內,隨機產生網絡相應層數的剪枝率,保留指定FLOPs 范圍下的剪枝率作為網絡搜索的空間域。
2)網絡架構搜索。選取若干組指定FLOPs 搜索空間下的剪枝率和其所對應的網絡結構度量指標作為先驗知識Dt-1,然后更新高斯過程代理函數解析求得均值μ(xt-1)和方差σ(xt-1),利用均值和方差計算收益函數,通過最大化收益函數選擇下一個需要采樣的剪枝率xt。
3)網絡剪枝。將卷積核權重的L1 范數作為評價每個過濾器的重要性分數,并對分數從大到小排序,然后根據每層的剪枝率對網絡進行剪枝。剪枝策略流程詳見2.4 節。
4)網絡微調。使用式(7)定義的度量指標來對剪枝算法進行評估,對剪枝后的網絡進行微調,恢復模型精度。
貝葉斯優化作為一種十分有效的全局優化算法,通過設計合適的概率代理模型和收益函數,只需經過少量的迭代次數,即可獲得一個理想解。本文算法使用的概率代理模型為高斯過程(Gaussian Process,GP),收益函數為EI(Expected Improvement)函數,在指定FLOPs 范圍內,通過貝葉斯優化在剪枝網絡中去探索一組剪枝率,使剪枝后的網絡性能損失最小,從而得到一個最優的網絡稀疏結構。本文算法從貝葉斯的角度出發,通過不確定的后驗參數探索網絡最優的一組剪枝率,可以設計如下最優化問題加以求解:
其中:網絡各層的剪枝率用向量x表示,X表示指定FLOPs 范圍內剪枝率的域空間;f(x)=Rs,Rs為式(7)所定義。
貝葉斯優化算法中概率代理模型用于擬合真實目標函數,高斯過程是多元高斯概率分布的范化,采用基于高斯過程的貝葉斯優化算法來實現函數f(x)的最大化。高斯過程是由均值函數μ(·):K?R 和協方差函數k(·,·):K×K?R組成。為了尋找解決方案,首先從任意選擇的架構x1開始,在經歷步驟t后,評估網絡架構xt,即獲得函數f(xt)的值。然后利用前t個評估架構的先驗知識,計算函數f的后驗分布:
其中:Et表示p(f(x)|f(x1:t))在經歷t步后的后驗分布期望;函數=max[f(x1),f(x2),…,f(xt)]。一旦獲得第t+1 神經網絡體系結構,算法將重復上述過程,直到達到最大迭代次數,然后返回最佳的剪枝率作為最終解。
L1 范數是指向量中各個元素的絕對值之和。在之前的研究[31]中卷積核權重的絕對值之和可以評價過濾器的重要性,卷積核權重的絕對值越大表明此過濾器在本層的重要性越高,因此本文使用L1 范數評分功能對每層過濾器進行降序排名,然后僅保留每層中得分最高的過濾器。對每層過濾器修剪過程的流程如圖2 所示,其中,顏色越深表明該過濾器分數越高,具體流程如下:
圖2 網絡剪枝過程Fig.2 Network pruning process
1)計算層中每一個過濾器的L1 范數作為評估當前過濾器的重要性分數Si(i=1,2,…,n),通過L1 范數的值對當前層的過濾器進行降序排序。
2)計算當前層要刪除過濾器的個數。假設該層剪枝率為a,過濾器的個數為n,則要刪除的過濾器個數為t=a×n,如果t為小數則對其進行向下取整操作,只保留整數部分。
3)刪除當前層不重要的過濾器。如果t<n則直接刪除排名靠后的t個過濾器;如果t=n,則要將當前層上所有的過濾器進行刪除,但為了保證網絡前后層之間的連通性,對該層上重要性分數最高的過濾器給予保留。
本文采用CIFAR-10 和CIFAR-100 數據集,對VGG-16 和ResNet 兩個網絡模型進行評估。
CIFAR-10 和CIFAR-100 是許多計算機視覺方法中常用的測試數據集。CIFAR-10 數據集共包含60 000 張圖像,分為10 個類別,每個類別有6 000 張圖像。CIFAR-100 數據集和CIFAR-10 數據集類似,共包含60 000 張彩色圖像,與CIFAR-10 不同的是,CIFAR-100 將類別從10 增加至100 類,每個類別分別包含600 個圖像。
VGG-16 網絡由13 個卷積層和3 個全連接層組成,為了提高VGG-16 網絡的收斂性,將VGG-16 網絡結構重新更改為由13 個卷積層和2 個全連接層組成,前13 個卷積層保持不變,最后2 個全連接層中過濾器的個數分別是512 和10。
本文中評估的ResNet 模型包括ResNet-20、ResNet-32、ResNet-56 和ResNet-110,為保證每個殘差塊的輸出通道不變,本實驗只壓縮每個殘差塊中除最后一層之外的卷積層。
CIFAR-10 和CIFAR-100 數據集都包含60 000 幅圖像,本文將原始訓練集分割為包含45 000 張圖像的訓練集和包含5 000 張圖像的驗證集。
網絡模型訓練過程的參數設置如下:使用隨機梯度下降(Stochastic Gradient Descent,SGD)算法訓練基線網絡300 次,動量大小為0.9,權重衰減大小為5 × 10-4,學習率初始化為0.1,在第120、180 和240 次迭代時分別縮減為原來的1/10,批量大小為256。同時,為了避免網絡模型在訓練中出現過擬合現象,本文采用隨機打亂、零填充和隨機取樣等技術進行數據增強。在每次網絡搜索過程中,剪枝網絡不進行微調,直至網絡修剪結束后,設置初始學習率為0.01,并將其他參數設置為與基線網絡相同的值來微調修剪后的網絡。
貝葉斯優化參數設置如下:采用高斯過程作為代理函數,收益函數為EI 函數,初始化1 000 個采樣點,網絡搜索的空間域大小為1 000,算法迭代次數為3 000。
在網絡剪枝過程中,為了探究在不同的FLOPs 壓縮目標下網絡的參數壓縮率和精度損失情況,指定62%±1%和55%±1%范圍內的FLOPs 的剪枝率約束網絡每次探索的空間域,在CIFAR-10 數據集上對VGG-16 網絡進行壓縮實驗,結果如表1 所示,精度損失指網絡壓縮后與基線精度的差值。將本文算法與SSS(Sparse Structure Selection)[31]、GAL(Generative Adversarial Learning)[32]、LFGCL 和HRank(High Rank)進行對比,實驗結果如表1 所示。
由表1 可以看出,LFGCL 的FLOPs 壓縮率為62.70%時,參數壓縮率為92.32%,精度損失為0.37 個百分點;而本文算法的FLOPs 壓縮率為63.00%時,參數壓縮率為84.80%,精度損失僅0.34 個百分點,優于LFGCL。在接近的FLOPs下,本文算法無論是在參數壓縮率還是精度損失上都優于HRank、SSS、GAL。由此可見在常規深度神經網絡中,本文算法能夠進行有效的網絡壓縮。
表1 CIFAR-10數據集上壓縮VGG-16網絡的實驗結果Tab.1 Results of compressing VGG-16 on CIFAR-10 dataset
此外,進一步分析了VGG-16 網絡每層的壓縮率,如圖3所示,FLOPs 壓縮目標分別為62%±1%和55%±1%,第8、9、10 層都顯示了較高的壓縮率,表明這些層在整個網絡結構中存在大量不重要的過濾器;同時,第5、7 層的剪枝力度最小,表明在VGG-16 網絡中,這些層存在較多對該層輸出值貢獻大的過濾器,刪除該過濾器會嚴重影響模型識別精度。實驗結果表明,通過貝葉斯優化算法尋找網絡最佳的體系結構,可以有效找到網絡中每一層適當的剪枝壓縮率。
圖3 VGG-16在不同FLOPs壓縮目標下各層的壓縮率Fig.3 Compression ratios of VGG-16 layers under different FLOPs compression targets
為了評估本文算法在具有殘差結構的網絡模型中的適用性,分別在ResNet-20,ResNet-32,ResNet-56 和ResNet-110上進行了壓縮實驗。在CIFAR-10 數據集上壓縮ResNet-20(如表2 所示),本文算法的FLOPs 壓縮率為47.70%時,參數壓縮率為36.20%,精度損失為0.09 個百分點;在FLOPs 壓縮率為38.50%時,參數壓縮率為37.70%,模型精度提高了0.12 個百分點。此外,在模型精度損失極小的情況下壓縮ResNet-32,模型的參數壓縮率為48.20%,FLOPs 壓縮率為33.25%。上述實驗結果表明,本文算法可在模型精度損失極小的情況下,得到更加稀疏的網絡結構。
表2 在CIFAR-10數據集上壓縮ResNet(20,32)的結果Tab.2 Results of compressing ResNet(20,32)on CIFAR-10 dataset
為驗證本文算法對深度復雜網絡壓縮的有效性,首先在CIFAR-10 和CIFAR-100 數據集上對ResNet-56 進行壓縮實驗;然后在CIFAR-10 數據集上對更深層的ResNet-110 進行實驗,對比算法有: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 數據集上壓縮ResNet-56 的實驗結果。在表3 中,GAL 的FLOPs 壓縮率為60.20%時,精度損失1.68 個百分點;而本文算法在相同的FLOPs 壓縮率下,精度損失了0.69 個百分點,前者的損失值大約是本算法的2 倍多。相較于TAS、FPGM 和LFPC,在相似的FLOPs 壓縮率下,本文算法在參數壓縮率為49.10%時,精度只損失0.27 個百分點,在模型壓縮和加速上有更好的效果。在表4 中,在接近的FLOPs 壓縮率下,本文算法的精度損失為0.53 個百分點,與其他三種算法性能相比具有一定優勢。但在更深的網絡結構ResNet-110 中,如表5 所示,LFPC、HRank 與LFGCL 都要優于本文算法,這是因為貝葉斯優化算法使用高斯過程對神經網絡結構建模并定義其先驗,而高斯過程是非參數模型,每次迭代推理都需要對所有的先驗數據點進行運算,對于沒有經過任何優化的高斯過程,n個樣本點時間復雜度大概是O(n3),在數據維數高的情況下高斯過程會產生巨大的計算量,而ResNet-110 結構較深,使得網絡結構的搜索空間顯著增大,因此,在計算量有限的情況下,本文算法易收斂到局部最優。以上實驗結果表明,本文算法也適用于具有殘差塊結構的ResNet 模型。
表3 在CIFAR-10數據集上壓縮ResNet-56的實驗結果Tab.3 Results of compressing ResNet-56 on CIFAR-10 dataset
表4 在CIFAR-100數據集上壓縮ResNet-56的實驗結果Tab.4 Results of compressing ResNet-56 on CIFAR-100 dataset
表5 在CIFAR-10數據集上壓縮ResNet-110的實驗結果Tab.5 Results of compressing ResNet-110 on CIFAR-10 dataset
本文提出一種基于貝葉斯優化的無標簽網絡剪枝算法。不同于現有的網絡剪枝算法,本文算法在剪枝過程中不需要依賴樣本的標簽信息,因此其具有更強的適用性。此外,通過利用貝葉斯優化算法,在不顯著影響模型精度的情況下能更加有效地對原始模型進行壓縮。實驗結果表明,在常規的神經網絡模型上,本文算法可以有效地壓縮和加速模型。下一步將在原模型剪枝算法的基礎上結合其他壓縮算法,特別是知識蒸餾思想,在高維空間內進一步壓縮網絡模型。