在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺析深度神經網絡壓縮與加速技術

LiveVideoStack ? 來源:LiveVideoStack ? 2023-10-11 09:14 ? 次閱讀

深度神經網絡深度學習的一種框架,它是一種具備至少一個隱層的神經網絡。與淺層神經網絡類似,深度神經網絡也能夠為復雜非線性系統提供建模,但多出的層次為模型提供了更高的抽象層次,因而提高了模型的能力。深度神經網絡是一種判別模型,可以使用反向傳播算法進行訓練。隨著深度神經網絡使用的越來越多,相應的壓縮和加速技術也孕育而生。

大家好,我是來自浙江大學信息與電子工程學院的胡浩基。今天我分享的主題是《深度神經網絡壓縮與加速技術》。

104a1dee-67ce-11ee-939d-92fbcf53809c.png

首先一個問題是,為什么要做深度神經網絡壓縮?有兩個原因:第一個原因是大型的深度神經網絡很難部署在小型化的設備上。另一個原因是當深度模型越來越大,需要消耗的計算和存儲資源越來越多,但是物理的計算資源跟不上需求增長的速度。

從右邊的圖可以看出,從2005年開始,硬件的計算資源增長趨于放緩,而隨著深度學習領域的蓬勃發展,對算力的需求卻是指數級增長,這就導致了矛盾。因此,對深度模型進行簡化,降低其計算量,成了當務之急。近年來,以ChatGPT為代表的大模型誕生,將這個問題變得更加直接和迫切。如果想要應用大模型,必須有能夠負擔得起的相對低廉計算和存儲資源,在尋找計算和存儲資源的同時,降低大模型的計算量,將是對解決算力問題的有益補充。

105a2004-67ce-11ee-939d-92fbcf53809c.png

例如2017年流行的VGG-16網絡,在當時比較主流的CPU上處理一張圖片,可能需要1.7秒的時間,這樣的時間顯然不太適合用部署在小型化的設備當中。

1072cb68-67ce-11ee-939d-92fbcf53809c.png

深度神經網絡的壓縮用數學表述就是使用一個簡單的函數來模擬復雜的函數。雖然這是一個已經研究了幾百年的函數逼近問題,但是在當今的環境下,如何將幾十億甚至上千億自由參數的模型縮小,是一個全新的挑戰。這里有三個基本思想 -- 更少參數、更少計算和更少比特。在將參數變少的同時,用較為簡單的計算來代替復雜的計算。用低精度量化的比特數來模擬高精度的數據,都可以讓函數的計算復雜性大大降低。

108c74fa-67ce-11ee-939d-92fbcf53809c.png

深度模型壓縮和加速領域開創人MIT的副教授韓松在2015年的一篇文章,將深度學習的模型壓縮分成了如下的5個步驟。最左邊輸入了一個深度學習的模型,首先要經過分解(decomposition),即用少量的計算代替以前復雜的計算,例如可以把很大的矩陣拆成多個小矩陣,將大矩陣的乘法變成小矩陣的乘法和加法。第二個操作叫做剪枝(pruning),它是一個減少參數的流程,即將一些對整個計算不那么重要的參數找出來并把它們從原來的神經網絡中去掉。第三個操作叫做量化(Quantization),即將多比特的數據變成少比特的數據,用少比特的加法和乘法模擬原來的多比特的加法乘法,從而減少計算量。做完以上三步操作之后,接下來需要編碼(encoding),即用統一的標準將網絡的參數和結構進行一定程度的編碼,進一步降低網絡的儲存量。經過以上四步的操作,最后可以得到一個被壓縮的模型。

10a754a0-67ce-11ee-939d-92fbcf53809c.png

我們團隊提出了另外一種基于層次的模型壓縮分類。最上面一個層級叫做網絡結構搜索(network architecture design),即搜索一個計算量較少但對于某些特定任務很有效的網絡,這也可以看作另一種壓縮方式。第二個層級叫做分層壓縮(Layer)。深度學習網絡基本上是分層的結構,每一層有一些矩陣的加法和乘法,對每一層的這些加法和乘法進行約束,例如將矩陣進行分解等,這樣可以進一步降低計算量。第三個壓縮層級是參數(weight),將每一層不重要的參數去掉,這也就是剪枝。最下面的層級是比特(bit),用量化對每個參數做比特層級的壓縮,變成量化的編碼。

10be268a-67ce-11ee-939d-92fbcf53809c.png

這里是各種壓縮方式的介紹以及它們的挑戰。剪枝(Pruning)減少模型的參數;低秩分解(Low rank factorization)將大矩陣拆成小矩陣;知識蒸餾(Knowledge Distillation)用大的網絡教小的網絡學習,從而使小的網絡產生的結果跟大的網絡類似;量化(Quantization將深度神經網絡里的參數進行量化,變為低比特參數,降低計算量。

10cf3a24-67ce-11ee-939d-92fbcf53809c.png

2018年BMVC會議,我們團隊提出了一種基于概率的剪枝方法,叫做Structured Probabilistic Pruning。這種方法的核心思路是將神經網絡里不重要的參數去掉。那么如何劃分重要與不重要,是首要問題。最好的標準是去掉某個參數以后測試對于結果的影響。但是在整個網絡中那么多的參數,如果每去掉一個參數都測試對結果的影響,時間就會非常漫長。所以需要用一些簡單的標準,例如參數絕對值的大小來評判參數的重要性。但有一個矛盾是,簡單標準對于衡量參數重要性來說并不準確。

那么如何解決上述矛盾呢?我們提出的方案形象一點就是,用多次考試代替一次考試。我們將在訓練到一定的地步之后,去掉不重要的參數,這個過程叫做一次考試。但是每次考試都有偏差。于是我們發明了這種基于概率的剪枝方法,將一次考試變成多次考試。即每訓練一段時間測試參數重要性,如果在這段時間內它比較重要,就會給它一個較小的剪枝概率,如果在這一段時間內不那么重要,就會給它一個較大的剪枝概率。接下來繼續訓練一段時間,再進行第二次考試。在新的考試中,以前不重要的參數可能變得重要,以前重要的參數也可能變得不重要,把相應的概率進行累加,一直隨著訓練的過程累加下去,直到最后在訓練結束時,根據累加的分數來決定哪些參數需要被剪枝。

10ec6ab8-67ce-11ee-939d-92fbcf53809c.png

110a1f18-67ce-11ee-939d-92fbcf53809c.png

這種方式叫做SPP——Structured Probabilistic Pruning。SPP算法相對于其他的算法有一定的優勢,具體體現在左邊的圖片里。例如我們將AlexNet壓縮兩倍,識別準確率反而提高了0.7,說明對于AlexNet這樣比較稀疏的網絡效果很好。從別的圖片也可以看到,相對于其他的算法也有一定優勢,這里不詳細展開介紹。

113caf82-67ce-11ee-939d-92fbcf53809c.png

2020年我們又提出一種基于增量正則化的卷積神經網絡剪枝算法。通過對網絡的目標函數加入正則化項,并變換正則化參數,從而達到剪枝的效果。

116387ce-67ce-11ee-939d-92fbcf53809c.png

我們通過嚴格的數學推導證明了一個命題,即如果網絡函數是二階可導,那么當我們增加每一個網絡參數對應正則化系數時,該參數的絕對值會在訓練過程中會減小。所以我們可以根據網絡參數的重要程度,實時分配其對應正則化系數的增量,從而將一些不太重要的參數絕對值逐漸壓縮到零。通過這種方式,可以將神經網絡的訓練和剪枝融合到一起,在訓練過程中逐步壓縮不重要參數的絕對值,最終去除它們。

11780488-67ce-11ee-939d-92fbcf53809c.png

相比SPP, 增量正則化方法在AlexNet(ImageNet)上將推理速度提高到原來的4倍,也能夠提高0.2%的識別率。在將網絡推理速度提高5倍情況下,識別率也僅僅下降了0.8,這相比其他壓縮算法也有很大的優勢。

119fbb22-67ce-11ee-939d-92fbcf53809c.png

增量正則化方法對于三維卷積網絡的也有一定的壓縮效果,在3D-ResNet18上,將推理速度提高2倍,識別率下降了0.41%;將推理速度提高4倍,識別率下降2.87%。

11c264ba-67ce-11ee-939d-92fbcf53809c.png

基于增量正則化方法,我們參與了AVS和IEEE標準的制定,提出的算法成功的寫入到國家標準《信息技術 神經網絡表示與模型壓縮 第1部分 卷積神經網絡》中,同時也被寫入“IEEE Model Representation, Composition, Distribution and Management”標準中并獲得今年的新興標準技術獎。

11d8ad1a-67ce-11ee-939d-92fbcf53809c.png

最近幾年,我們還將深度模型壓縮技術應用到圖像風格遷移、圖像超分辨率等底層視覺任務中。2020年的CVPR論文,我們利用知識蒸餾來壓縮風格遷移網絡。這里是風格遷移網絡的例子,即輸入兩張圖片,一張是內容圖片,一張是風格圖片。通過風格遷移網絡生成一張圖片,將內容和風格融合起來。我們需要做的事就是壓縮風格遷移網絡的大小。

11fda2fa-67ce-11ee-939d-92fbcf53809c.png

我們利用知識蒸餾來壓縮風格遷移網絡,即設計小的學生模型,用小的學生模型來模擬大的教師模型的輸出,從而達到壓縮大的教師模型的目的。我們也設計了針對風格遷移網絡的損失函數,更好的完成了知識蒸餾的任務。我們提出的方法有很好的性能,例如在2020年效果比較好的WCT風格遷移網絡,整個模型的大小是133m,經過壓縮之后只有10m。一塊GPU上使用WCT最多可以同時處理900×900的圖片,壓縮之后,同樣的GPU上能夠處理6000×6000的圖片,在處理速度上,處理900×900的圖片,WCT需要花費78秒,壓縮之后只需要7秒,同時處理6000×6000的圖片,在單卡的GPU也只要花費52秒的時間。

1210dcee-67ce-11ee-939d-92fbcf53809c.png

123df166-67ce-11ee-939d-92fbcf53809c.png

1266a8ea-67ce-11ee-939d-92fbcf53809c.png

12878bbe-67ce-11ee-939d-92fbcf53809c.png

可以看到,通過我們的模型壓縮技術,即便是4,000萬像素圖片的風格遷移,放大后的圖像細節依然清晰。

12aaf086-67ce-11ee-939d-92fbcf53809c.png

在人臉識別方面,我們也使用了知識蒸餾的方法。這是2019年發表在ICIP的論文,人臉識別中有個三元組的損失,即圖片左上角。其中有一個超參數m。這個m是不可以變化的。通過改進,我們將m變成了一個可變的參數,這個參數能夠由學生網絡計算兩個圖之間的距離,用距離的方式將m確定下來。基于這種動態的超參數,我們規劃了知識蒸餾算法,獲得了不錯的效果。

12c455bc-67ce-11ee-939d-92fbcf53809c.png

我們實現了可能是世界上第一個公開的2M左右的人臉識別模型,同時在LFW數據上達到99%以上的識別率。同時,我們將所做的小型化人臉識別模型嵌入到芯片中,讓人臉識別獲得了更多的應用。

13d04600-67ce-11ee-939d-92fbcf53809c.png

13e9e4c0-67ce-11ee-939d-92fbcf53809c.png

瑞芯微RK3288上,原有的模型處理一張圖片大概在0.31秒。而我們這個壓縮后只有2M左右的模型,處理一張圖片的時間在0.17秒左右。

1408c8ae-67ce-11ee-939d-92fbcf53809c.png

2020年開始,我們和華為合作,將深度壓縮模型應用在圖像超分辨率上。卷積神經網絡是一個先處理局部,再處理全局的模型。而在超分辨率網絡中,局部信息很重要,需要用跳線連接前面和后面的層。每一個跳線不僅把數據傳送過去,還要同時將那一層的特征圖傳過去。后面的層不僅僅要處理自己那一層產生的特征圖,還要處理前面傳送過來的特征圖。然而,不是每一個跳線都重要,都需要保留。于是我們規劃算法,刪除一些不重要的跳線,同時也刪除了傳送過來的特征圖,從而降低了圖像超分辨率網絡的計算量。我們采用馬爾科夫過程建模目標函數,消除冗余的跳線,從而完成對超分辨率網絡的壓縮。

1425ae92-67ce-11ee-939d-92fbcf53809c.png

左邊表格是一些定量的結果。FLOPs是網絡中加法和乘法的次數。經過壓縮之后的模型DCP-R-102的FLOPs只有102G,與計算量最大的網絡D-DBPN相差50多倍的計算量,而圖像的PSNR和SSIM基本不變。右邊圖片是定性結果,可見,我們的網絡DCP-R可以很好的恢復圖片的紋理和細節。

1451d954-67ce-11ee-939d-92fbcf53809c.png

這是關于圖像超分辨率的另一個工作。這里我們將將藍色的大網絡拆成兩塊,通過互蒸餾(cross knowledge distillation)這種方式進一步完成對超分辨率網絡的壓縮。右圖是具體的定性和定量的結果。

146f18ac-67ce-11ee-939d-92fbcf53809c.png

這篇發表在期刊Pattern Recognition上的文章所做的事情是對深度模型進行量化。最極致的量化叫做二值化(binarization),即對每個參數只用+1和-1兩個值來表示。如果每個參數都只是+1和-1,那么網絡計算中矩陣的乘法將可以變為加減法,這樣就比較適用于類似FPGA這種對于乘法不友好的硬件系統中。但是二值化也會帶來一定的壞處,由于每個參數取值范圍變小,整個網絡的性能會有極大的下降。我們在將網絡二值化的同時,為網絡加一些輔助的并行結構,這些并行結構是通過網絡搜索出來的,也都是一些二值化的分支,即圖中紅色的部分。加入并行結構后一方面讓二值化的性能有了提升,另一方面也讓計算增量保持在可控的范圍內。利用下方的公式,綜合考量精度(accuracy)、特征圖相似性(similarity)和復雜度(complexity)三個方面,構造目標函數,在提高精度的前提下盡量減小復雜度,從而達到模型精度和復雜度的平衡。最近我們也在嘗試使用重參數化的方式,將這些增加的結構合并到以前的網絡當中,從而使網絡結構不發生改變的前提下,進一步增加網絡二值化的效果。

1489c74c-67ce-11ee-939d-92fbcf53809c.png

在ResNet-18上可以看到,使用上述方法可以把90.5%的識別準確度變成92.8%,同時計算量沒有提升特別多。

14947232-67ce-11ee-939d-92fbcf53809c.png

我們也是比較早做Transformer壓縮的實驗室。Transformer壓縮的第一步是用矩陣理論對Transformer中Q、K、V三個矩陣進行分解,用小的矩陣相乘和相加代替大矩陣的相乘。通過一些理論推導,證明在特定場合下相比原有的矩陣計算準確度上界會有一定提升。壓縮的第二步是減掉Transformer網絡里的跳線。通過這兩個相對簡單的壓縮方式完成對Transformer網絡的壓縮,同時將其用在智能視覺問答任務中。

14a9e7ac-67ce-11ee-939d-92fbcf53809c.png

這是一些定量和定性結果的比較,可以看到我們的算法在保留原來性能的同時大幅度減少了網絡的計算量。

14d58f1a-67ce-11ee-939d-92fbcf53809c.png

14ef1d2c-67ce-11ee-939d-92fbcf53809c.png

最后,講一下我認為這個領域可能有前途的未來發展方向。

首先,利用神經網絡壓縮技術彌補大規模語言和視覺基礎模型的不足是迫在眉睫的方向。大模型消耗過多的計算量和存儲量,如何將大模型變小是一個重要的科學問題。一些具體的問題包括,如果大模型是可以做100種任務的通才,那么如何將其轉變為只能做1種任務小模型,也就是專才?這里有很多空間,值得繼續挖掘。

第二,針對流行的特定任務網絡進行壓縮,例如Nerf和擴散模型等。但是,如果我們不能在方法上有所創新,只是一昧追逐流行的網絡進行壓縮,也會陷入內卷的困境。

第三,我認為軟硬結合的的網絡壓縮算法是值得深入研究的方向。將硬件參數和硬件結構作為優化函數的一部分寫入到網絡壓縮算法中,這樣壓縮出來的網絡就能夠直接適配到專門的硬件上。

第四,神經網絡壓縮算法和通信領域的結合。例如增量壓縮,即設計神經網絡壓縮算法,在發送端首先傳輸網絡最重要的部分,接收端首先收到一個識別精度較低的模型;隨著更多的傳輸,接收端能逐步接收到越來越精確的模型。這個想法與圖像或視頻的壓縮類似,可以完成神經網絡模型在不同環境和資源下的個性化部署。

最后,我比較關注的是理論方面的研究,我暫且把它稱為深度神經網絡的信息論目前的模型壓縮算法設計主要靠經驗,欠缺理論基礎。一個重大的理論問題是,對于特定的任務、數據和網絡架構,實現特定的精度所需要的最小計算是多少?這個問題當然是有一個明確的答案,但目前我們離這個答案仍然非常遙遠。就像香農的信息論在通信領域的基礎地位一樣,我們也期待深度神經網絡的信息論早日誕生。








審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴

原文標題:深度神經網絡壓縮與加速技術

文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    神經網絡壓縮框架 (NNCF) 中的過濾器修剪統計數據怎么查看?

    無法觀察神經網絡壓縮框架 (NNCF) 中的過濾器修剪統計數據
    發表于 03-06 07:10

    BP神經網絡深度學習的關系

    BP神經網絡深度學習之間存在著密切的關系,以下是對它們之間關系的介紹: 一、BP神經網絡的基本概念 BP神經網絡,即反向傳播神經網絡(Ba
    的頭像 發表于 02-12 15:15 ?458次閱讀

    FPGA在深度神經網絡中的應用

    隨著人工智能技術的飛速發展,深度神經網絡(Deep Neural Network, DNN)作為其核心算法之一,在圖像識別、語音識別、自然語言處理等領域取得了顯著成果。然而,傳統的深度
    的頭像 發表于 07-24 10:42 ?989次閱讀

    殘差網絡深度神經網絡

    殘差網絡(Residual Network,通常簡稱為ResNet) 是深度神經網絡的一種 ,其獨特的結構設計在解決深層網絡訓練中的梯度消失和梯度爆炸問題上取得了顯著的突破,并因此成為
    的頭像 發表于 07-11 18:13 ?1374次閱讀

    卷積神經網絡壓縮方法

    卷積神經網絡(Convolutional Neural Network, CNN)作為深度學習領域的重要分支,在圖像識別、視頻處理、自然語言處理等多個領域取得了顯著成就。然而,隨著網絡結構的日益復雜
    的頭像 發表于 07-11 11:46 ?565次閱讀

    什么是神經網絡加速器?它有哪些特點?

    神經網絡加速器是一種專門設計用于提高神經網絡計算效率的硬件設備。隨著深度學習技術的快速發展和廣泛應用,
    的頭像 發表于 07-11 10:40 ?750次閱讀

    簡單認識深度神經網絡

    深度神經網絡(Deep Neural Networks, DNNs)作為機器學習領域中的一種重要技術,特別是在深度學習領域,已經取得了顯著的成就。它們通過模擬人類大腦的處理方式,利用多
    的頭像 發表于 07-10 18:23 ?1567次閱讀

    深度神經網絡概述及其應用

    通過模仿人類大腦神經元的連接方式和處理機制,設計多層神經元結構來處理復雜的數據模式,從而在各種數據驅動的問題中展現出強大的能力。本文將從深度神經網絡的基本概念、結構、工作原理、關鍵
    的頭像 發表于 07-04 16:08 ?2235次閱讀

    循環神經網絡和卷積神經網絡的區別

    循環神經網絡(Recurrent Neural Network,RNN)和卷積神經網絡(Convolutional Neural Network,CNN)是深度學習領域中兩種非常重要的神經網絡
    的頭像 發表于 07-04 14:24 ?1741次閱讀

    深度神經網絡與基本神經網絡的區別

    在探討深度神經網絡(Deep Neural Networks, DNNs)與基本神經網絡(通常指傳統神經網絡或前向神經網絡)的區別時,我們需
    的頭像 發表于 07-04 13:20 ?1399次閱讀

    深度神經網絡的設計方法

    深度神經網絡(Deep Neural Networks, DNNs)作為人工智能領域的重要技術之一,通過模擬人腦神經元之間的連接,實現了對復雜數據的自主學習和智能判斷。其設計方法不僅涉
    的頭像 發表于 07-04 13:13 ?778次閱讀

    bp神經網絡深度神經網絡

    BP神經網絡(Backpropagation Neural Network)是一種常見的前饋神經網絡,它使用反向傳播算法來訓練網絡。雖然BP神經網絡在某些方面與
    的頭像 發表于 07-03 10:14 ?1129次閱讀

    深度學習與卷積神經網絡的應用

    隨著人工智能技術的飛速發展,深度學習和卷積神經網絡(Convolutional Neural Network, CNN)作為其中的重要分支,已經在多個領域取得了顯著的應用成果。從圖像識別、語音識別
    的頭像 發表于 07-02 18:19 ?1218次閱讀

    卷積神經網絡和bp神經網絡的區別

    化能力。隨著深度學習技術的不斷發展,神經網絡已經成為人工智能領域的重要技術之一。卷積神經網絡和BP神經
    的頭像 發表于 07-02 14:24 ?5530次閱讀

    深度神經網絡模型有哪些

    深度神經網絡(Deep Neural Networks,DNNs)是一類具有多個隱藏層的神經網絡,它們在許多領域取得了顯著的成功,如計算機視覺、自然語言處理、語音識別等。以下是一些常見的深度
    的頭像 發表于 07-02 10:00 ?2061次閱讀
    主站蜘蛛池模板: 国产婷婷色 | 偷偷鲁影院手机在线观看 | 激情五月宗合网 | 久久五月天婷婷 | 好大好硬好深好爽的视频 | 欧美高清免费一级在线 | 色狠狠狠狠综合影视 | 日本在线视频不卡 | 曰本a | 校园春色亚洲欧美 | 男男h文小说阅 | 欧美色综合高清视频在线 | 天堂bt在线网bt | 双性强迫开宫灌满h | 欧美三级第一页 | 国产毛片农村妇女系列 | 成人爽a毛片在线视频 | 老色皮 | 免费观看一级特黄欧美大片 | 亚欧洲乱码专区视频 | 色婷五月综激情亚洲综合 | 黄色亚洲| 啪啪网站免费看 | 色偷偷成人 | freesexvideo性欧美tv | 欧美巨波霸乳影院67194 | 天天操天天干天天爱 | 啊用力太猛了啊好深视频免费 | 亚洲精品系列 | 色视频日本 | 1314亚洲人成网站在线观看 | 一级毛片不卡 | 亚洲美女高清一区二区三区 | 美女扒开尿口给男的桶个爽 | 午夜影院在线观看免费 | 五月婷婷深爱五月 | 中文在线三级中文字幕 | 午夜神马福利 | 免费人成黄页在线观看日本 | 日本xxxx色视频在线观看 | 欧美 ed2k |