ICCV 2019 提前看|三篇論文,解讀神經網絡壓縮

2020-12-13 機器之心Pro

機器之心原創

作者:立早

編輯:H4O

本文是一篇關於神經網絡壓縮領域的論文解讀,通過對ICCV 2019中的三篇論文進行分析,讀者可以了解目前的發展趨勢。

神經網絡壓縮方向是目前深度學習研究的一個熱門的方向,其主要的研究方向是壓縮,蒸餾,網絡架構搜索,量化等。在 ICCV2019 中,不少的研究單位和學者都發表了神經網絡壓縮方向的論文。本文主要以其中三篇論文來研究神經網絡壓縮的目前發展趨勢。

論文 1:基於元學習的模型壓縮《MetaPruning: Meta Learning for Automatic Neural Network Channel Pruning》

論文地址:https://arxiv.org/abs/1903.10258

1 論文主旨概述

Meta learning 論文是曠世研究院提出的一種神經網絡壓縮方法。通道剪枝 [1] 作為一種神經網絡的壓縮方法被廣泛的實現和應用,一般剪枝算法通過對預訓練的大網絡裁剪次要的通道,之後微調,得到最終的剪枝網絡。隨著 AutoML[2] 的發展,metapruning 利用 autoML 的自動尋找最優結構的特點,脫離了人工設計的局限以及彌補剪枝算法的依賴數據的不足。本文從元學習的角度出發,直接用元學習得到剪枝網絡(pruned networks)的結構以及自生成權重,而不是保留原始網絡的重要參數。

2 方法:

近年來,有研究 [3] 表明無論是否保存了原始網絡的權值,剪枝網絡都可以達到一個和原始網絡相同的準確率。因此,通道剪枝的本質是逐層的通道數量,也就是網絡結構。鑑於此項研究,Metapruning 決定直接保留裁剪好的通道結構,區別於剪枝的裁剪哪些通道。

本文提出來一個 Meta network,名為 PruningNet,可以生成所有候選的剪枝網絡的權重,並直接在驗證集上評估,有效的搜索最佳結構。

Pruningnet training

PruningNet 是一個 meta network,以一組網絡編碼向量 (c1,c2,,,cl) 為輸入,輸出為剪枝網絡的權重。一個 PruningNet 的訓練方式如下圖 (1) 所示:

圖(1)PruningNet 的隨機訓練方法

圖 (1) 中,PruningNet 由多個 block 組成,其中的每個 block 由兩個全連接層組成。

在前向過程中,PruningNet 以網絡編碼向量(即剪枝網絡的每層通道數)為輸入,生成權重矩陣。同時,剪枝網絡以網絡編碼向量中的數值為輸出通道,並將生成的權重矩陣裁剪匹配剪枝網絡的輸入輸出。對於一個 batach 的輸入圖像,我們可以計算帶權重的剪枝網絡的前向損失。

在反向過程中,本文並不是更新剪枝網絡的權重,而是計算 PruningNet 的梯度,更新 PruningNet 的權重(全連接層參數)。

在整個訓練過程中,由於所有的操作都是可微的,所以能夠進行端到端的學習。通過隨機生成不同的網絡編碼向量,可以得到不同的剪枝網絡結構。

Pruned-network search-evolutionary algorithm

本文中,網絡向量編碼為 pruned networks 的基因。在硬約束的前提下,我們首先隨機選擇大量的基因並獲得相關的剪枝網絡的準確率。選擇前 top k 的基因,對其做變異和交叉,生成新的基因。同時對不符合要求的基因添加約束來消除。如此迭代數次,最終可以得到既滿足約束又獲得最高準確率的基因。具體算法如圖(2)所示:

圖(2)進化搜索算法

3 實驗和結果

圖(3)mobilenetV1 結構實驗

圖(4)mobilenet V2 實驗

圖(3)(4)表明 metaPruning 相比較一般基線模型相比,metaPruning 得到的結構在效率和 top1 上都有較大的優勢。

4 總結

本文提出的 metaPruning 的方法,從本質上來講屬於一種結構搜索的方法。跳出傳統剪枝的思路,不僅僅可以去除數據的約束,同時避免了微調的耗時。

該方法將根據不同的約束加入搜索中,靈活調整算法;可以應對帶 short-cut 的網絡結構;端到端的學習十分高效,且無需更新剪枝網絡的權重。

但是,這個網絡的生成過程中,需要注意以下的幾個問題:

(1)對訓練的硬體要求,PruningNet 和生成的剪枝網絡同時在訓練過程中,是否帶來了較大的 GPU 資源的消耗,導致生成過程較慢。

(2)在生成過程中雖說對樣本不做要求,但是簡單的幾個 batch 的樣本對模型的影響應該比較大。

參考文獻

[1] Hao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, and Hans Peter Graf. Pruning lters for efcient convnets. arXiv preprint arXiv:1608.08710, 2016.

[2] Tien-Ju Yang, Andrew Howard, Bo Chen, Xiao Zhang, Alec Go, Mark Sandler, Vivienne Sze, and Hartwig Adam. Netadapt: Platform-aware neural network adaptation for mobile applications. In Proceedings of the European Conference on Computer Vision (ECCV), pages 285–300, 2018.

[3] Zhuang Liu, Mingjie Sun, Tinghui Zhou, Gao Huang, and Trevor Darrell. Rethinking the value of network pruning.arXiv preprint arXiv:1810.05270, 2018.

論文 2:無需數據的蒸餾方法《Data-Free Learning of Student Networks》

論文地址:https://arxiv.org/abs/1904.01186v1

該篇論文是華為提出的一篇蒸餾方向的論文,其主要的創新點是提出的蒸餾過程不需要原始訓練數據的參與。

1 論文概述

通常來說,知識蒸餾需要原始訓練數據的參與,才能達到一個較好的蒸餾效果,那麼在缺乏原始數據甚至無數據的時候,或者,老師模型只知道接口不知道其模型結構的時候,如何才能達到一個蒸餾的效果呢?此文章的出發點就在此,文章利用 GAN 生成圖像的特性來生成蒸餾所需數據。

2 Data-free 網絡壓縮方法

在神經網絡壓縮領域,SVD(singular value decomposition)[1],KD(knowledge distillation)[2],基本都是需要數據驅動的,在有原始數據參與的時候能達到一個較好的壓縮效果。無需數據驅動的壓縮方法較少,比如合併相似單元 [3],但是這些方法的效果並不如數據驅動的方法。

GAN 生成訓練樣本

網絡通常被用與生成樣本,包括生成器 G 和辨別器 D。對於一個普通的 GAN 網絡而言,給定一個帶噪聲的向量 z,其損失函數表示為公式(1):

利用公式(1)分別訓練 G 和 D。與普通 GAN 網絡不同的是,傳統 GAN 網絡中,D 網絡對於輸入的圖像,其輸出是判別真假的二分類。在本文中,我們給定 D 為預訓練完成的老師網絡,其輸出是圖像的類別數。為了適應這種情況下的 GAN 網絡,本文利用新的損失函數來更新訓練 G。具體的公式如下所示:

其中:

(1)Loh 表示 one-hot loss , 此時的 D 網絡輸出為類別數。假設對一個輸入為 X={X1,X2,,,Xn} 的圖像來說,D 的輸出為 {y1,y2,,,yn},根據輸出得到的預測的 label 為 {t1,t2,,,tn},Loh 則可以表示為輸出和預測值之間的交叉熵損失:

(2)La 表示激活損失,如果一個輸入圖像是真實的圖像而不是隨機向量生成的,那麼在 D 網絡中,經過 D 提取進過全連接層之前得到的輸出值 ft,其激活值應該為一個較高的值。所以,La 可以表示為如下的公式:

(3)Lie 損失表示的信息熵的大小。用于衡量生成樣本中的類別平衡情況。對於給定的輸出集合 {y1,y2,,,yn},每個類別的頻率分布可以表示為輸出的均值。那麼 Lie 可以用如下表示:

利用 GAN 蒸餾的算法步驟

本文算法主要分為兩步:

第一步,訓練生成器 G。利用預訓練的給定老師模型作為 D,訓練生成器 G。第二步,訓練學生網絡。利用 G 網絡生成訓練樣本,然後用這些樣本來進行知識蒸餾。其蒸餾的示意過程如圖(1)所示:

圖(1)利用 GAN 的知識蒸餾過程

3 實驗結果

圖(2)無數據蒸餾方法在 MNIST 上的實驗

圖(3)在 CIFAR 上的實驗

從圖(2)(3)中,我們可以看出無數據的 GAN 蒸餾方法相比較其他無數據的蒸餾方法能夠大幅度的提升蒸餾的效果。

4 總結

本文從無數據的情況出發,考慮到了蒸餾領域的一個比較常見的情況。本文提出的利用 GAN 的方法新穎且有效,利用 GAN 學習原始數據的分布情況,做到了一個神似而形不似的學習。但是這種 GAN 的生成樣本在蒸餾過程中保留了數據的分布,從而在蒸餾中也能達到一個好的效果。

但是,這種利用 GAN 的生成數據的方法在筆者看來是不是更適合作為一種數據增強的方式,從訓練時間上來看,加入了 G 網絡的生成過程,訓練過程較長且不太好控制收斂情況。

參考文獻

[1] Emily L Denton, Wojciech Zaremba, Joan Bruna, Yann LeCun, and Rob Fergus. Exploiting linear structure within convolutional networks for efcient evaluation. In NIPS, 2014.1, 2

[2] Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015. 1, 2, 3, 5, 7, 8

[3] Suraj Srinivas and R Venkatesh Babu. Data-free parameter pruning for deep neural networks. arXiv preprint arXiv:1507.06149, 2015. 2, 3

論文 3:基於樣本之間相關性的蒸餾方法《Correlation Congruence for Knowledge Distillation》

論文地址:https://arxiv.org/abs/1904.01802

這篇論文是由商湯提出的一篇蒸餾方向論文,其主要的亮點在於研究樣本之間的相關性,利用這種相關性作為蒸餾的知識輸出。

1 論文概述

知識蒸餾方法 [1] 是老師-學生網絡的基礎方法,通常的知識蒸餾方法都是關注實例(instance level)層的約束,但是這種約束經常會忽略多示例之間的相關性。本文提出了一種基於實例之間的相關性的蒸餾方法。

2 Correlation Congruence 知識蒸餾

傳統蒸餾定義

傳統的蒸餾方法主要是用 kl 散度等距離度量的方法來表徵老師網絡和學生網絡的特徵之間的距離,例如公式(1)和(2)所示:

其中,fs 和 ft 分別表示學生和老師網絡的特徵,ps 和 Pt 分別表示學生和老師網絡的 softmax 輸出值。

這種蒸餾方法關注的是特徵圖之間的距離,但是由於學生網絡和老師網絡在擬合能力本質上的鴻溝,這種蒸餾方法並不能學到一個恆等映射使得學生網絡能夠更好的學習。

樣本間的關係一致性(correlation congruence):

不同於之前的方法,CCKD(correlation congruence knowledge distillation)方法不僅僅關注樣本實例層面的一致性,同時也關注實例之間的一致性,如圖 1 所示:

圖 1:CCKD 算法圖示

如圖 1 所示,CC(correlation congruence)為圖中最右邊的部分,表示實例之間的相關性信息,IC(instance congruence)則是實例層的相關信息。

我們用 Ft 和 Fs 來分別表示老師學生網絡的特徵表示的集合。可以用公式表示如下:

定義 C 為相關性矩陣,其中每一個元素表示 xi 和 yi 的關係,因此可以表示為公式(5):

其中,距離度量的方法可以有很多種。基於公式(5),我們可以得到 CCloss。如公式(6)所示:

蒸餾算法

CCKD 算法的 loss 由三部分組成,如公式(7)所示:

其中 Lce 為交叉熵所示,Lkd 為 t-s 之間的實例層的蒸餾損失,Lcc 則是實例間一致性的損失。

3 實驗結果

圖 2 CCKD 算法在 mnist 的實驗

圖3 CCKD 算法在 ImageNet1k 的實驗

圖 4 CCKD 在 MSMT17 的實驗

4 總結

在 KD 領域中,[2] 文章也提出來類似的思想,用特徵實例之間的距離來做知識蒸餾,就思想上來說並無差異。所以,如果從創新性上來說,本文應該對比同等論文的思想對比。

本文在做蒸餾的時候用上了三個損失的結合,做了充分的實驗證明算法的有效性。但是,在之後的研究中,三種損失的比重也是一個值得研究的方向。

參考文獻

[1] G. Hinton, O. Vinyals, and J. Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015.1, 2, 3, 5, 6

[2]Passalis N , Tefas A . Learning Deep Representations with Probabilistic Knowledge Transfer[J]. 2018.

作者介紹:工學碩士,研究方向為模式識別。目前從事人臉識別、檢測和神經網絡壓縮方向的工作。希望能夠一直學習,多多交流,不斷進步。

相關焦點

  • 三篇論文,解讀神經網絡壓縮
    機器之心原創 作者:立早 編輯:H4O 本文是一篇關於神經網絡壓縮領域的論文解讀,通過對ICCV 2019中的三篇論文進行分析,讀者可以了解目前的發展趨勢
  • ICCV 引用量最高的10篇論文!何愷明兩篇一作論文:Mask R-CNN和PReLU,Facebook佔據四席!
    本文就來盤點ICCV 2015-2019年引用量最高的10篇論文。根據此數據,一方面能看出這段深度學習黃金時期的研究熱點,另一方面查漏補缺,看看這些必看的Top級論文是不是都掌握了。論文連結(收錄於ICCV 2015):https://openaccess.thecvf.com/content_iccv_2015/html/Girshick_Fast_R-CNN_ICCV_2015_paper.htmlFast R-CNN 是R-CNN系列的第二篇論文(站在R-CNN和SPPnet上),極大提高了訓練和測試速度以及mAP。
  • 麻省理工解讀神經網絡歷史,三篇論文剖析基礎理論
    選自MIT News作者:Larry Hardesty機器之心編譯參與:吳攀、李亞洲、晏奇最近幾年來,深度神經網絡已經成為了人工智慧技術發展的主要推動力。近日,麻省理工學院官網上刊登了一篇解讀神經網絡的發展過程的文章,梳理介紹了神經網絡在過去 70 年來的起起伏伏。
  • ICLR 2019論文解讀:量化神經網絡
    今年五月舉辦 ICLR 2019 會議共接收論文 502 篇,本文將解讀其中兩篇有關量化神經網絡的研究。神經網絡包含兩部分:訓練和推理。由於計算神經元輸入的加權和以及執行神經網絡所需的運算需要大量乘法-累加運算(MAC),所以在傳統的(通用型)數字硬體上訓練神經網絡以及使用神經網絡執行推理的效率很低。DNN 基本上都是在一個或多個圖形處理單元(GPU)上訓練的。本質上而言,GPU 速度很快且支持高度並行,但功耗卻很高。
  • CVPR 2019Oral論文解讀|百度提出關於網絡壓縮和加速的新剪枝算法
    雷鋒網(公眾號:雷鋒網) AI 科技評論按:百度關於網絡壓縮和加速的論文《 Filter Pruning via Geometric Median for Deep Convolutional Neural Networks Acceleration》被 CCF A 類學術會議 CVPR 2019 收錄為 Oral 論文,這篇論文提出了新的基於濾波器的幾何中心
  • ICLR 2019最佳論文揭曉!NLP深度學習、神經網絡壓縮成焦點
    兩篇最佳論文分別來自Mila/加拿大蒙特婁大學、微軟蒙特婁研究院和MIT CSAIL,主題分別集中在NLP深度學習模型和神經網絡壓縮。今天,ICLR 2019在官網公布了最佳論文獎!兩篇最佳論文分別來自Mila/加拿大蒙特婁大學、微軟蒙特婁研究院和MIT CSAIL,主題分別集中在NLP深度學習模型和神經網絡壓縮。ICLR 是深度學習領域的頂級會議,素有深度學習頂會 「無冕之王」 之稱。今年的 ICLR 大會從5月6日到5月9日在美國紐奧良市舉行。
  • 尋找最佳的神經網絡架構,韓松組兩篇論文解讀
    第二篇則是利用強化學習自動尋找在特定 latency 標準上精度最好的量化神經網絡結構,它分別為網絡的每一層搜索不同 bit 的權值和激活,得到一個經過優化的混合精度模型。.pdfv2: _https://arxiv.org/pdf/1812.00332v2.pdf2018 年 12 月份在 arxiv 上發布 v1 版本時,之心就已經出過一篇本論文的講解啦,2019 年 2 月份作者上傳了 v2 版本,最終該論文收錄於 ICLR2019。
  • 六篇 CIKM 2019 最新公布的【圖神經網絡(GNN)】長文論文
    CIKM 2019共計收到1030篇長文有效投稿,其中200篇論文被大會錄用,總錄用率約19.4%。圖神經網絡(GNN)相關的論文依然很火爆,小編在官網上查看了,CIKM專門有專題,大約10篇長文接受為GNN專題論文。為此,專知小編提前為大家篩選了六篇GNN 長文論文供參考和學習!
  • 論文推薦|[ICCV 2019]一種無需原始訓練數據的Teacher-Student模型壓縮方法
    本文簡要介紹ICCV 2019論文「Data-Free Learning of Student Networks」的主要工作。
  • IJCAI 2019 提前看|神經網絡後門攻擊、對抗攻擊
    本文對 3 篇神經網絡安全相關論文進行了介紹。近年來,深度學習在計算機視覺任務中獲得了巨大成功,但與此同時,神經網絡的安全問題逐漸引起重視,對抗樣本熱度持續不下,神經網絡後門攻擊也悄然興起。本文選取了 IJCAI2019 的 3 篇論文,從目標檢測對抗攻擊、實時對抗攻擊、神經網絡後門攻擊三個方面,為大家梳理最新進展。
  • 專欄 | 阿里 AI LAB ICCV 2017 錄用論文詳解:語言卷積神經網絡應用於圖像標題生成的經驗學習
    阿里巴巴在 ICCV 2017 上有多篇論文入選。本文是阿里 AI LAB 首席科學家王剛與南洋理工大學團隊合作的 ICCV 2017 論文《語言卷積神經網絡應用於圖像標題生成的經驗學習》《An Empirical Study of Language CNN for Image Captioning》解讀。
  • 今日Paper|可視問答模型;神經風格差異轉移;圖像壓縮系統;K-SVD...
    from=leiphonecolumn_paperreview0211推薦原因這篇論文了介紹一種自動創建字體的方法,找到兩種不同字體之間的字體樣式差異,並使用神經樣式轉移將其轉換為另一種字體。這篇論文提出了一種新的神經風格差異和內容差異損失神經風格轉移方法。根據這些損失,可通過在字體中添加或刪除字體樣式來生成新字體。
  • EMNLP 2019 參會小結及最佳論文解讀
    作為自然語言處理領域的頂級會議之一,在本次大會中,中國被接收的論文數量在所有國家和地區中位居第二。本屆大會舉辦了18場 Workshops 、多個Tutorials和主題豐富的會議活動,吸引了超過1922人參會。本篇文章是RUC AI Box小組成員分享了他們參加今年EMNLP 2019會議的感想和總結,同時精選了EMNLP 2019獲獎論文進行解讀。
  • 今日Paper | 可視問答模型;神經風格差異轉移;圖像壓縮系統 ;K-SVD...
    from=leiphonecolumn_paperreview0211推薦原因這篇論文了介紹一種自動創建字體的方法,找到兩種不同字體之間的字體樣式差異,並使用神經樣式轉移將其轉換為另一種字體。這篇論文提出了一種新的神經風格差異和內容差異損失神經風格轉移方法。根據這些損失,可通過在字體中添加或刪除字體樣式來生成新字體。
  • 綜述論文:當前深度神經網絡模型壓縮和加速方法速覽
    機器之心簡要介紹了該論文,更詳細的內容請查看原論文。大型神經網絡具有大量的層級與結點,因此考慮如何減少它們所需要的內存與計算量就顯得極為重要,特別是對於在線學習和增量學習等實時應用。此外,近來智能可穿戴設備的流行也為研究員提供了在資源(內存、CPU、能耗和帶寬等)有限的可攜式設備上部署深度學習應用提供了機會。
  • AAAI 2020 提前看 | 三篇論文解讀問答系統最新研究進展
    今年 AAAI 共接受了 8800 篇提交論文,其中評審了 7737 篇,接收 1591 篇,接收率為 20.6%。為了向讀者們介紹更多 AAAI2020 的優質論文,機器之心組織策劃了 AAAI 2020 論文分享,邀請國內外著名大學、研究機構以及工業界的研究人員詳細介紹他們發布在 AAAI 2020 的文章,歡迎大家持續關注。
  • 騰訊聯合港中文提出新型神經網絡壓縮方法
    InfoQ 將通過選題的方式逐一介紹各大公司在模型壓縮上的技術創新和落地實踐。在行動裝置和許多在線應用中,實時性能好的輕量級模型是一大重要需求,而為了保證神經網絡的實時性,很多時候都有必要對模型進行壓縮;但與此同時,幾乎所有神經網絡模型壓縮算法都會在壓縮過程中減損原始模型的準確度。因此,在進行模型壓縮時,需要在實時性和準確性之間找到一個合適的平衡。
  • 如何評價CVPR 2021的論文接收結果?
    系列論文見:王雲鶴:【已開源】華為諾亞方舟實驗室提出無需數據網絡壓縮技術https://zhuanlan.zhihu.com/p/812777965.-已開源: 華為諾亞方舟實驗室提出基於少量數據的雲端網絡壓縮技術:https://zhuanlan.zhihu.com/p/93211365
  • AAAI 2020 提前看|三篇論文解讀問答系統最新研究進展
    今年 AAAI 共接受了 8800 篇提交論文,其中評審了 7737 篇,接收 1591 篇,接收率為 20.6%。為了向讀者們介紹更多 AAAI2020 的優質論文,機器之心組織策劃了 AAAI 2020 論文分享,邀請國內外著名大學、研究機構以及工業界的研究人員詳細介紹他們發布在 AAAI 2020 的文章,歡迎大家持續關注。
  • 騰訊優圖的 ICCV 2017:12篇論文入選 CV 頂會,3篇Oral|ICCV 2017
    被譽為計算機視覺領域三大頂級會議之一的ICCV(另外兩個為CVPR、ECCV)近日揭曉收錄論文名單,騰訊優圖共有12篇論文入選,其中3篇被選做口頭報告(Oral),該類論文僅佔總投稿數的2.1%(45/2143)。本屆 ICCV 共收到2143篇論文投稿,其中621篇被選為大會論文,錄用比例29%。