亚洲男人的天堂2018av,欧美草比,久久久久久免费视频精选,国色天香在线看免费,久久久久亚洲av成人片仓井空

深度卷積神經網絡(CNN)的卓越性能通常歸因于其更深和更廣泛的架構,這可能伴隨著巨大的計算成本。因此,修剪神經網絡引起了人們的興趣,因為它有效地降低了存儲和計算成本。與導致非結構化模型的權重剪枝相比,結構化剪枝通過產生對硬件實現友好的模型來提供現實加速的好處。結構化剪枝的特殊要求導致了許多新挑戰的發現和創新解決方案的發展。**本文綜述了深度CNN結構化剪枝的最新進展。總結并比較了最先進的結構化剪枝技術,包括過濾器排序方法、正則化方法、動態執行、神經架構搜索、ticket 假設以及剪枝的應用。**在討論結構化剪枝算法時,簡要介紹非結構化剪枝算法,以強調它們的區別。對結構化剪枝領域的潛在研究機會提供了見解。有關神經網絡剪枝的論文列表可以在//github.com/he-y/Awesome-Pruning上找到。

1. 引言

深度卷積神經網絡(CNN)在廣泛的應用中表現出了卓越的性能,包括圖像分類[1]、目標檢測[2]和圖像分割[3]等。許多CNN結構被提出,包括AlexNet [4], VGGNet [5], inception [6], ResNet[7]和DenseNet[8]。這些架構包含數百萬個參數,需要巨大的計算能力,使得在資源有限的硬件上部署具有挑戰性。模型壓縮是該問題的一種解決方案,旨在減少參數數量、計算成本和內存消耗。因此,它的研究變得越來越重要。 **為了生成更高效的模型,模型壓縮技術被提出,包括剪枝[9]、量化[10]、分解[11]和知識蒸餾[12]。**術語“剪枝”指的是刪除網絡的組件,以產生用于加速和壓縮的稀疏模型。剪枝的目的是在不顯著影響模型性能的情況下最小化參數的數量。大多數關于剪枝的研究都是在用于圖像分類任務的CNN上進行的,這是其他計算機視覺任務的基礎。 剪枝可分為非結構化[9]和結構化剪枝[13]。非結構化剪枝刪除神經網絡的連接(權重),導致非結構化稀疏性。非結構化剪枝通常會導致高壓縮率,但需要特定的硬件或庫支持以實現實際的加速。結構化剪枝刪除了神經網絡的整個濾波器,并可以利用基本線性代數子程序(BLAS)庫等高效庫的優勢,用標準硬件實現實際的加速和壓縮。在transformer[14]時代,從結構化剪枝的角度重新審視cnn的屬性是有意義的。最近,將CNN的架構設計納入Transformer模型[15],[16],[17],[18],[19]的趨勢越來越大。盡管transformer中的自注意力[20]在計算序列表示方面是有效的,但由于transformer缺乏歸納偏差[17],[21],[22],仍然需要大量的訓練數據。相比之下,cnn的結構在權重上實施兩個關鍵的歸納偏差:局部性和權重共享,以提高學習算法的泛化性,并且獨立于數據[17]。本綜述提供了對CNN的更好理解,并為未來有效設計架構提供了提示。

**本文關注結構化剪枝。現有壓縮研究綜述如表1所示。**一些綜述涵蓋了正交領域,包括量化[23]、知識蒸餾[24]和神經架構搜索[25]。一些調研[26]提供了更廣泛的概述。雖然一些研究側重于剪枝,但它們更多地關注非結構化剪枝,并且覆蓋了少量結構化剪枝的研究。[27]、[28]、[29]、[30]、[31]、[32]、[33]的結構化剪枝論文引用數分別為1、11、15、55、38、10、20篇。本文提供了一個更全面的調研,其中有200多篇結構化剪枝論文。

**調研安排如下:在分類法中(圖1),將結構化剪枝方法分為不同的類別。**第2節的每一小節對應于一類結構化剪枝方法。大多數方法首先以非結構化的方式開發,然后擴展以滿足結構約束。盡管一些研究涵蓋了多個類別,但我們將它們放在為本調查服務的最合適的類別中。第三部分介紹了一些潛在的和有希望的未來發展方向。由于篇幅限制,僅對最具代表性的研究進行詳細討論。

2. 方法

Weight-Dependent

權重依賴準則根據濾波器的權重來評估濾波器的重要性。與基于激活的方法相比,權重依賴的方法不涉及輸入數據。因此,權重依賴方法被認為是直接的,需要較低的計算成本權重依賴準則有兩個子類:濾波器范數和濾波器相關性。計算一個濾波器的范數獨立于其他濾波器的范數,而計算濾波器相關性涉及多個濾波器。 Activation-Based

激活圖是輸入數據和濾波器的卷積結果(等式1)。除了使用濾波器的權重外,激活圖可以用于濾波器修剪。激活通道剪枝是過濾器剪枝的另一個名稱,因為刪除激活圖的通道等同于刪除過濾器。除了當前層的效果外,過濾器修剪還通過特征圖影響下一層的過濾器。為了評估第l層中的濾波器,我們可以利用以下激活圖上的信息:1)當前層-通道重要性可以通過使用重建誤差[58]、激活圖[59]的分解、通道獨立性的利用[61]和后激活[62],[63]來評估;2)相鄰層-冗余通道可以通過利用當前層和下一層之間的依賴關系來有效識別[66],[67]。此外,還可以利用前一層的激活圖來指導剪枝決策[123],[124];3)所有層-通過最小化最終響應層的構造誤差[69]并考慮所有層的區分能力[70],可以評估去除濾波器的整體效果。 正則化

正則化可以通過添加不同的稀疏度正則化器Rs(·)來學習結構化稀疏網絡。如果網絡包含批量歸一化層,則稀疏正則化器可應用于BN參數。為了實現結構化稀疏,使用BN參數來指示通道或濾波器等結構的剪枝決策。引入了作為可學習門工作的額外參數來指導修剪。有了這些額外的參數,網絡不再需要批量規范化層。稀疏正則化器也可以直接應用于濾波器。Group Lasso正則化通常用于以結構化的方式稀疏化濾波器。

Optimization Tools

動態修剪

動態剪枝可以在訓練和推理過程中進行。訓練過程中的動態旨在通過在訓練過程中保持動態修剪掩碼來保持模型的代表能力。它也被稱為軟剪枝,以確保不當的剪枝決策在以后可以恢復。另一方面,硬修剪永久地消除了固定掩碼的權重。推理過程中的動態表示網絡根據不同的輸入樣本動態修剪。例如,與復雜圖像相比,包含明確目標的簡單圖像需要更少的模型容量[108]。因此,動態推理提供了更好的資源準確性權衡。

神經架構搜索

由于人工確定逐層剪枝率等剪枝相關超參數非常繁瑣,因此提出了神經架構搜索(NAS)[25]來自動尋找剪枝結構。在綜述NAS[25]方法的基礎上,將NAS剪枝分為3種方法。NAS可以建模為:1)強化學習(RL)問題,RL代理通過搜索動作空間(如剪枝率)來找到稀疏的子網絡。2)基于梯度的方法,通過修改梯度更新規則,使稀疏約束的優化問題對權重可微。3)演化方法,采用演化算法對稀疏子網絡進行探索和搜索。

Extensions


付費5元查看完整內容

相關內容

在深度學習中,卷積神經網絡(CNN或ConvNet)是一類深度神經網絡,最常用于分析視覺圖像。基于它們的共享權重架構和平移不變性特征,它們也被稱為位移不變或空間不變的人工神經網絡(SIANN)。它們在圖像和視頻識別,推薦系統,圖像分類,醫學圖像分析,自然語言處理,和財務時間序列中都有應用。

知識薈萃

精品入門和進階教程、論文和代碼整理等

更多

查看相關VIP內容、論文、資訊等

視覺分割旨在將圖像、視頻幀或點云劃分為多個片段或組。這項技術在諸如自動駕駛、圖像編輯、機器人感知和醫學分析等眾多實際應用中具有重要意義。在過去的十年里,基于深度學習的方法在這個領域取得了顯著進展。最近,一種最初為自然語言處理設計的基于自注意力的神經網絡Transformer,在各種視覺處理任務中大大超越了之前的卷積或循環方法。具體來說,視覺Transformer為各種分割任務提供了強大、統一且更簡單的解決方案。本綜述為基于Transformer的視覺分割提供了一個詳盡的概述,總結了近期的進展。我們首先回顧背景,包括問題定義、數據集和先前的卷積方法。接下來,我們總結了一個統一所有最近基于變換器的方法的元架構。基于這個元架構,我們檢查各種方法設計,包括對元架構的修改和相關應用。我們還介紹了幾個密切相關的設置,包括3D點云分割、基礎模型調優、領域感知分割、高效分割和醫學分割。此外,我們匯編并重新評估了在一些公認的數據集上的所審查方法。最后,我們確定了這個領域的開放性挑戰,并提出了未來研究的方向。項目頁面可以在//github.com/lxtGH/Awesome-Segmenation-With-Transformer找到。我們還將持續關注這個快速發展領域的動態。1. 引言****視覺分割旨在將給定圖像或視頻的像素分組為一組語義區域。這是計算機視覺中的一個基本問題,涉及到諸多實際應用,如機器人技術、自動監控、圖像/視頻編輯、社交媒體、自動駕駛等。從手工特征提取方法[1]、[2]和經典機器學習模型[3]、[4]、[5]開始,分割問題已經得到了大量的研究關注。在過去的十年里,深度神經網絡,如卷積神經網絡(CNNs)[6]、[7]、[8],例如全卷積網絡(FCNs)[9]、[10]、[11]、[12]在不同的分割任務中取得了顯著成功,并帶來了更好的結果。與傳統分割方法相比,基于CNN的方法具有更好的泛化能力。由于它們的卓越性能,CNN和FCN架構一直是分割研究工作的基本組成部分。

最近,隨著自然語言處理(NLP)的成功,變換器(Transformer)[13]被引入作為循環神經網絡(RNNs)[14]的替代品。Transformer包含一個新穎的自注意力設計,并可以并行處理各種標記。然后,基于Transformer設計,BERT [15]和GPT-3 [16]將模型參數擴展并使用大量未標記的文本信息進行預訓練。它們在許多NLP任務上取得了強大的性能,加速了變換器進入視覺領域的發展。最近,研究人員將變換器應用于計算機視覺(CV)任務。早期方法[17]、[18]將自注意力層與CNN相結合。同時,一些工作[19]、[20]使用純自注意力層替換卷積層。之后,兩種顯著的方法推動了CV任務的發展。一種是視覺Transformer(ViT)[21],它是一種純粹的Transformer,直接接收圖像塊序列來對整個圖像進行分類。它在多個圖像識別數據集上實現了最先進的性能。另一種是檢測Transformer(DETR)[22],它引入了對象查詢的概念。每個對象查詢表示一個實例。對象查詢取代了之前檢測框架中復雜的錨點設計,簡化了檢測和分割的流程。然后,隨后的工作在各種視覺任務上采用改進的設計,包括表示學習[23]、[24],對象檢測[25],分割[26],低級圖像處理[27],視頻理解[28],3D場景理解[29]以及圖像/視頻生成[30]。在視覺分割方面,最近的最先進方法都是基于變換器架構的。與基于CNN的方法相比,大多數基于變換器的方法具有更簡單的流程但更強大的性能。由于基于變換器的視覺模型的迅速興起,有關視覺變換器的調查有很多[31]、[32]、[33]。然而,其中大多數主要關注通用變換器設計及其在幾個特定視覺任務上的應用[34]、[35]、[36]。同時,還有關于基于深度學習的分割的先前調查[37]、[38]、[39]。然而,在我們所知范圍內,尚無專門針對使用視覺變換器進行視覺分割或基于查詢的對象檢測的調查。我們相信,總結這些工作并持續關注這個不斷發展的領域將對社區有益。貢獻。在本綜述中,我們系統地介紹了基于變換器的視覺分割方法的最近進展。我們從定義任務、數據集和基于CNN的方法開始,然后轉向基于Transformer的方法,涵蓋現有方法和未來工作方向。我們的調查從方法細節的更技術性的角度對現有的代表性工作進行了歸類。特別是,對于主要的綜述部分,我們首先在第3.1節中將現有方法的核心框架總結為一個元架構,這是DETR的擴展。通過改變元架構的組件,我們將現有方法分為六類,包括表示學習、解碼器中的交互設計、優化對象查詢、使用查詢進行關聯以及條件查詢生成。此外,我們還研究了密切相關的具體設置,包括點云分割、基礎模型調優、領域感知分割、數據/模型高效分割、類別不可知分割和跟蹤以及醫療分割。還評估了在頂級會議和期刊上發表的有影響力的作品在幾個廣泛使用的細分基準上的表現。此外,還提供了以前基于CNN的模型和其他領域的相關文獻的概述,如目標檢測,目標跟蹤,以及背景部分中的參考分割。范圍。本綜述將涵蓋幾個主流的分割任務,包括語義分割、實例分割、全景分割及其變體,如視頻和點云分割。此外,我們在第4節中介紹了相關的下游設置。本文專注于基于transformer的方法,只回顧了一些與cnn密切相關的方法,以供參考。雖然有很多預印本或已出版的作品,但我們只收錄最具代表性的作品。組織。調研的其余部分組織如下。總的來說,圖1顯示了我們調查的流程。在第2節中,首先介紹了問題定義、數據集和基于CNN的方法的背景知識。然后,回顧了第3節和第4節中關于基于transformer的分割方法的代表性論文。第5節對實驗結果進行了比較。最后,我們在第六節提出了未來的研究方向,并在第七節總結了本文的研究。2. 方法綜述****在本節中,基于類似DETR的元架構,回顧了基于transformer的分割的關鍵技術。如圖3所示,元架構包含一個特征提取器、對象查詢和transformer解碼器。然后,以元體系結構為主線,綜述了第3.2.1、3.2.2和3.2.3節中對元體系結構各個組成部分的修改或改進;最后,在3.2.4節和3.2.5節給出了基于這種元體系結構的幾個具體應用。

在本節中,我們從五個方面回顧了基于transformer的分割方法。我們的目標是提取文獻中使用的基本和常見的技術,而不是根據任務設置對文獻進行分類。我們在表3中總結了研究方法、技術、相關任務和相關文獻。大多數方法都基于3.1節中描述的元體系結構。我們將代表性作品的對比列于表4。

2.1 強表征

學習強大的特征表示總是可以得到更好的分割結果。以SS任務為例,SETR[202]是第一個用ViT骨干替換CNN骨干的。它在ADE20k數據集上取得了最先進的結果,沒有花哨的東西。在vit之后,研究人員開始設計更好的視覺transformer。將相關工作分為3個方面:更好的視覺transformer設計、混合cnn /transformers/MLPs和自監督學習。

2.2 解碼器中的交互設計

本節將回顧transformer解碼器的設計。將解碼器設計分為兩組:一組用于改進圖像分割中的交叉注意力設計,另一組用于視頻分割中的時空交叉注意力設計。前者側重于在原始的DETR中設計一個更好的解碼器來改進原始的解碼器。后者將基于查詢的目標檢測器和分割器擴展到視頻領域,用于VOD、VIS和VPS,重點是建模時間一致性和關聯。

3 優化對象查詢

與Faster-RCNN[111]相比,DETR[22]需要更長的收斂時間。由于對象查詢的重要作用,已有多種方法在加速訓練計劃和提高性能方面展開研究。根據對象查詢的方法,將以下文獻分為兩方面:添加位置信息和采用額外監督。位置信息提供了對查詢特征進行采樣的線索,以加快訓練速度。額外監督的重點是在DETR中設計特定的損失函數之外的默認損失函數。

使用查詢進行關聯

得益于查詢表示的簡單性,最近的一些工作將其作為關聯工具來解決下游任務。主要有兩種用法:一種用于實例級關聯,另一種用于任務級關聯。前者采用實例判別的思想,解決視頻中的實例匹配問題,如聯合分割和跟蹤。后者采用查詢鏈接特征的方式進行多任務學習。

條件返回查詢融合

除了使用對象查詢進行多任務預測外,一些工作還采用了跨模態和跨圖像任務的條件查詢設計。查詢是基于任務輸入的條件查詢,解碼器頭使用這樣的條件查詢來獲得相應的分割掩碼。根據不同輸入的來源,將這些工作分為兩方面:語言特征和圖像特征

4 相關的領域

在本節中,我們會回顧幾個采用視覺transformer進行分割任務的相關領域。這些領域包括點云分割、域感知分割、標簽和模型高效分割、類無關分割、跟蹤和醫療分割。我們在表5中列出了一些有代表性的作品進行比較。

點云分割

包括語義級點云分割,實例級點云分割

調優基礎模型

我們將這一部分分為兩個方面:視覺適配器設計和開放式詞匯學習。前者引入了新的方法,使預訓練的大規模基礎模型適應下游任務。后者試圖借助預訓練的視覺語言模型和在未見過的分割數據集上的零樣本知識遷移來檢測和分割未知物體。視覺適配器設計的核心思想是提取基礎模型的知識,并設計更好的方法來適應下游設置。對于開放詞匯表學習,核心思想是將預訓練的VLM特征與當前檢測器對齊,以實現新的類別分類。

領域感知分割

領域適應。無監督域適應(UDA)旨在在不獲取目標標簽的情況下,將用源(合成)域訓練的網絡適應到目標(真實)域[45][290]。UDA有兩種不同的設置,包括語義分割和目標檢測。在vit之前,之前的工作[291],[292]主要設計域不變的表示學習策略。DAFormer[250]用先進的transformer骨干[128]取代了過時的骨干,并提出了三種訓練策略,包括稀有類采樣、物類ImageNet特征損失和學習率預熱方法。它取得了新的最先進的結果,是UDA分割的強大基線。然后,HRDA[293]通過多分辨率訓練方法改進了DAFormer,并使用各種作物來保留精細的分割細節和長程上下文。受MIM[24]啟發,MIC[294]提出了掩碼圖像一致性,以學習目標域的空間上下文關系作為額外的線索。MIC通過一個師生框架來加強掩碼目標圖像和偽標簽預測之間的一致性。它是一個插件模塊,在各種UDA設置中進行驗證。對于UDA上的檢測transformer, SFA[251]發現CNN上的特征分布對齊帶來的改進有限。相反,它提出了一個基于域查詢的特征對齊和一個基于token的特征對齊模塊來增強。特別是,通過引入領域查詢來實現對齊,并在解碼器上執行領域分類。同時,DA-DETR[295]提出了一種混合注意力模塊(HAM),其中包含一個坐標注意力模塊和一個水平注意力模塊以及transformer編碼器。一個單一的域感知鑒別器監督HAM的輸出。MTTrans[296]提出了一個教師-學生框架和一個共享對象查詢策略。源域和目標域之間的圖像和對象特征在局部、全局和實例級別進行對齊。

Multi-Dataset分割。多數據集分割的目標是學習不同領域上通用的分割模型。MSeg[297]通過重新標記幾個現有的語義分割基準重新定義分類并對齊像素級注釋。然后,接下來的工作試圖通過各種方法來避免分類沖突。例如,Sentence-Seg[298]用向量值嵌入替換每個類標簽。嵌入由語言模型[15]生成。為了進一步處理不靈活的one-hot通用分類法,LMSeg[252]使用可學習標記[268]擴展了這種嵌入,并為每個數據集提出了特定于數據集的增強。它將MaskFormer[154]中的段查詢與SS和PS任務的類別嵌入動態對齊。同時,也有一些關于多數據集目標檢測[299]、[300]和多數據集全景分割[301]的工作。特別是,Detection-Hub[300]建議根據每個數據集類別的語言嵌入調整對象查詢。與之前對所有數據集的共享嵌入不同,它基于公共語言嵌入來學習每個數據集的語義偏差,以避免領域鴻溝。最近,TarVIS[302]為跨越多個基準的不同任務聯合預訓練一個視頻分割模型,其中將Mask2Former擴展到視頻領域,并采用統一的圖像數據集預訓練和視頻微調。

標簽和模型高效分割

類無關的分割和跟蹤

醫學圖像分割

CNN在醫學圖像分析方面取得了里程碑式的進展。特別是U型架構和跳躍連接[335],[336]被廣泛應用于各種醫學圖像分割任務。隨著ViTs的成功,最近的代表工作[260],[337]將視覺transformer納入U-Net架構并取得了更好的效果。TransUNet[260]合并了transformer和U-Net,其中transformer對標記化的圖像塊進行編碼以構建全局上下文。然后解碼器對編碼后的特征進行上采樣,再將其與高分辨率CNN特征圖相結合以實現精確定位。Swin-Unet[337]設計了一個對稱的Swin-like[23]解碼器來恢復精細的細節。TransFuse[261]以并行的方式結合transformer和CNN,其中可以有效地聯合捕獲全局依賴關系和低級空間細節。UNETR[338]專注于3D輸入醫學圖像,并設計了類似U-Net的架構。提取transformer中不同層的編碼表示,并通過跳躍連接與解碼器合并,以獲得最終的3D掩碼輸出。

5 基準測試結果

在本節中,我們報告了最近基于transformer的視覺分割,并列出了之前討論的算法的性能。對于每個審閱的領域,第5.1節和第5.3節選擇了使用最廣泛的數據集作為性能基準。我們使用相同的數據增強和特征提取器進一步對第5.2節中的幾個代表性作品進行了基準測試。請注意,我們僅列出已發表的工作供參考。為簡單起見,我們排除了一些關于表示學習的工作,只介紹了特定的分割方法。關于全面的方法比較,請參閱補充資料,提供了更詳細的分析。

6 未來方向

通用統一的圖像/視頻分割。使用Transformer來統一不同的分割任務是一種趨勢。最近的工作[26],[153],[162],[163],[246]使用基于查詢的transformer使用一個架構執行不同的分割任務。一個可能的研究方向是在各種分割數據集上僅通過一個模型來統一圖像和視頻分割任務。這些通用模型可以在各種場景中實現通用的、魯棒的分割,例如在各種場景中檢測和分割稀有類有助于機器人做出更好的決策。這些將在一些應用中更加實用和強大,包括機器人導航和自動駕駛汽車。

多模態聯合學習。由于缺乏歸納偏差,transformer在處理任何模式方面都是通用的。因此,使用Transformer來統一視覺和語言任務是一個大趨勢。分割任務提供像素級線索,這也可能有利于相關的視覺語言任務,包括文本-圖像檢索和標題生成[343]。最近的工作[224],[344]在一個通用的transformer架構中共同學習分割和視覺語言任務,這為結合跨多模態的分割學習提供了一個方向。

終身學習分割。現有的分割方法通常以具有一組預定義類別的封閉世界數據集為基準,即假設訓練和測試樣本具有相同的類別和事先已知的特征空間。然而,現實的場景通常是開放世界和非平穩的,其中新的類別可能連續出現[249],[345]。例如,在自動駕駛汽車和醫療診斷中,可能會意外地發生未見過的情況。現有方法在現實和封閉世界場景中的性能和能力之間存在明顯差距。因此,我們希望逐步不斷地將新穎的概念融入到現有的分割模型知識庫中,使模型具有終身學習的能力。

動態場景中的長視頻分割。長視頻帶來了幾個挑戰。現有的視頻分割方法旨在處理短視頻輸入,可能難以關聯較長時間的實例。因此,新的方法必須納入長期記憶設計,并在更長的時期內考慮實例的關聯。其次,在長時間內保持分割掩碼的一致性可能是困難的,特別是當實例在場景中移動時。這需要新的方法來合并時間一致性約束并隨時間更新分割掩碼。第三,長視頻中可能會出現嚴重的遮擋,使準確分割所有實例具有挑戰性。新的方法應該結合遮擋推理和檢測來提高分割精度。最后,長視頻輸入往往涉及多種場景輸入,給視頻分割模型帶來域魯棒性挑戰。新的方法必須結合域適應技術,以確保模型可以處理不同的場景輸入。簡而言之,解決這些挑戰需要開發新的長視頻分割模型,該模型結合了先進的內存設計、時間一致性約束、遮擋推理和檢測技術。

生成式分割。隨著更強大的生成模型的興起,最近的工作[346],[347]受擴散模型中更強的transformer解碼器和高分辨率表示的啟發,通過生成建模解決了圖像分割問題[348]。采用生成式設計,避免了transformer解碼器和對象查詢設計,使整個框架更加簡單。然而,這些生成模型通常會引入一個復雜訓練管道。進一步的研究需要更簡單的訓練管道。

使用視覺推理進行分割。視覺推理[349],[350]要求機器人理解場景中物體之間的聯系,這種理解在運動規劃中起著至關重要的作用。之前的研究探索了將分割結果作為視覺推理模型的輸入,用于各種應用,如目標跟蹤和場景理解。聯合分割和視覺推理可能是一個很有前途的方向,在分割和關系分類方面都有可能實現互利。通過將視覺推理融入分割過程,研究人員可以利用推理的力量來提高分割精度,而分割可以為視覺推理提供更好的輸入

7 結論

本綜述對基于Transformer的視覺分割的最新進展進行了全面的回顧,據我們所知,這是第一次。這篇論文涵蓋了基本的背景知識和transformer之前的工作概述,并總結了用于各種分割任務的120多個深度學習模型。最近的工作根據分割器的元架構分為六類。此外,回顧了5個密切相關的領域,并報告了幾種代表性的分割方法在廣泛使用的數據集上的結果。為了確保公平的比較,我們還在相同的設置下對幾個代表性作品進行了重新基準測試。最后,指出了基于transformer的視覺分割的未來研究方向。

付費5元查看完整內容

我們在實踐中部署高性能神經網絡時面臨許多挑戰。這些挑戰主要是由于神經網絡的規模,既適用于訓練也適用于推理。因此,壓縮神經網絡以使其訓練和運行更高效至關重要,并自神經網絡發展初期以來一直是研究的平行方向。深度學習中的兩種主要壓縮技術是剪枝和量化,它們是本論文的重點。本論文探討了如何利用高階梯度(元梯度)的信息來改進深度學習壓縮。我們首先發現剪枝公式中的一個根本性限制:盡管許多方法(如基于顯著性的剪枝)在剪枝后進行訓練或微調階段,但參數顯著性只關注參數的一個快照,而沒有考慮到參數的可訓練性。我們展示了如何使用元梯度作為更具信息量的信號,在初始化時找到更好的可訓練子網絡。接下來,我們研究量化神經網絡,并展示了如何在正則化方案中使用元梯度來學習具有對訓練后量化固有魯棒性的模型。最后,我們研究雙重壓縮問題,即使用神經網絡壓縮數據源。我們從圖像開始,提出了一種簡單的無自編碼器架構,其中我們存儲神經網絡的權重而非圖像像素的RGB值。然后,我們使用元梯度來元學習一個基礎網絡,以攤銷每個輸入訓練一個網絡的成本。我們學習壓縮的一個顯著優勢是它變得對數據類型不可知,并且我們展示了在2D圖像之外的各種數據類型上的結果。重要的是,我們評估了標準DNN壓縮技術(如量化)在這種新型神經網絡中的實用性。

1. 引言

近年來,深度學習的成功是由于幾個幾乎同時發生的突破和范式轉變而成為可能:訓練中采用反向傳播,卷積神經網絡的進步,大規模數據集的可用性,至關重要的是,由于GPU演變為通用、高度并行、多線程的計算平臺,計算能力的大幅提高。隨著算法和計算能力的不斷進步,訓練可以利用大量數據并在廣泛應用中做出非常有價值的預測的大型神經網絡現在已經是我們力所能及的事情。

然而,隨著我們進入一個希望在生活中越來越多的方面使用高性能神經網絡的時代,在實踐中部署它們面臨許多挑戰。這些挑戰主要是由于神經網絡的規模。現在,神經網絡很容易擁有數百萬或數十億個參數,并且沒有跡象表明我們的速度正在放緩,特別是在一些應用程序,如自然語言處理,我們還沒有看到縮放定律的結束。這可以在圖1.1中看到,它顯示了在兩個特定的視覺和自然語言處理任務中模型大小和性能的趨勢。 神經網絡的規模帶來的挑戰適用于訓練和推理。在推理方面,人們越來越希望在設備上私下運行模型。一些示例應用程序是語音到文本識別和自動字幕,其中模型必須在設備上實時運行。需要運行此類應用程序的設備通常是手機、嵌入式系統和物聯網設備,這些正是在內存、計算、延遲和能耗方面具有最嚴格要求的平臺類型。 除了推理之外,訓練也會受到神經網絡和數據集規模較大的阻礙。首先,與推理相比,訓練需要更多的內存。這是因為在訓練過程中,我們需要保留網絡生成的中間值,以便完成反向傳播。這也使得并行化變得困難,因為我們無法進行新的前向傳遞,直到梯度找到它們自己的路回到第一層。其次,訓練大型神經網絡比較小的模型更脆弱和不穩定。Zhang et al.(2022)最近發布了一個1750億參數的語言模型,除了模型參數,他們還包括訓練日志,這表明訓練如此大的模型涉及大量的工程。我們將在后續章節中看到,這對需要重新培訓或針對特定平臺的高效方法具有深遠影響。

因此,壓縮神經網絡以使其更有效地訓練和運行是至關重要的,自神經網絡發展早期以來一直是一個平行的研究方向(LeCun等人,1990a;Hassibi等人,1993b)。在介紹各種用于提高神經網絡效率的方法之前,有必要快速回顧一下在這個過程中我們關心的主要指標(Reagen等人,2017;Sze等人,2020):

準確性或模型性能。這個指標決定了我們在不影響模型性能的情況下提高模型效率的成功程度。準確率對于類平衡分類任務來說是一個合適的度量指標,本文中的大多數實驗都是這樣的,在其他任務中,準確率可以用其他指標來代替,以提高模型的性能。

能耗和動力。能耗指的是每單位能量可以處理的數據量,在使用電池供電的設備上運行時,能耗變得至關重要。它是決定裝置形狀因素的一個主要因素。另一方面,功率消耗是單位時間內消耗的能量,它決定了設備的冷卻要求。它與移動設備和服務器安裝都相關。

存儲和內存。需要更多的存儲和內存是神經網絡規模帶來的第一個挑戰。它是決定模型所需硅芯片面積的一個主要因素。

吞吐量和延遲;除了存儲權重和中間值之外,我們還需要足夠快地移動數據。延遲衡量的是這個要求,定義為從輸入數據到達模型到輸出結果的時間。它決定了模型是否可以實時運行,這在許多應用中至關重要,如機器人,自動駕駛和游戲。

要使神經網絡對這些指標有效,需要在每個堆棧級別進行優化。棧的一端是用于訓練和運行模型的硬件平臺。半導體制造工藝的不斷進步導致了更密集的晶體管,從而產生了更強大和更節能的芯片,但深度學習工作負載尤其影響了CPU和GPU的硬件設計,并產生了專門針對神經網絡的定制加速器。

本文的主要貢獻是研究了元梯度在各種壓縮任務中的應用。本文主要關注視覺應用中的神經網絡,并解決以下中心問題: 高階梯度的信息可以通過量化和修剪來改進深度神經網絡的壓縮嗎? 除了研究神經網絡的壓縮外,我們還研究了對偶壓縮問題,即用神經網絡壓縮數據,并解決以下問題:神經網絡的參數可以用于存儲和壓縮數據嗎?如果是,量化和剪枝技術是否仍然適用于此設置?

除了提供必要背景材料的第2章和總結工作的第6章外,本文的主要材料分為三章(如圖1.2所示),每一章都專注于一個壓縮任務。

付費5元查看完整內容

最先進的神經網絡架構設計的最新進展正在向Transformer模型發展。這些模型在計算機視覺、自然語言處理和語音識別的廣泛應用中取得了卓越的準確性。自從Transformer模型最初被引入以來,這種趨勢在過去幾年中一直是一致的。然而,最近Transformer模型推理所需的計算量和帶寬正在以顯著的速度增長,這使得它們在延遲敏感的應用程序中的部署具有挑戰性。因此,人們越來越關注提高Transformer模型的效率,方法從更改架構設計,一直到開發專用的特定領域加速器。**本文調研了高效Transformer推理的不同方法,包括:(i)分析和剖析現有Transformer架構中的瓶頸及其與之前卷積模型的異同;(ii) Transformer架構對硬件的影響,包括層歸一化、Softmax和GELU等非線性操作以及線性操作對硬件設計的影響;(iii)優化固定Transformer架構的方法;(iv)為Transformer模型找到正確的映射和操作調度的挑戰;(v)通過使用神經架構搜索調整架構來優化Transformer模型的方法。**最后,在開源的全棧深度神經網絡加速器生成器Gemmini上進行了案例研究,并與之前的基準測試結果相比,展示了這些方法是如何產生改進的。發現與上述方法相結合的全棧協同設計方法可以導致高達88.7倍的加速比。

1. 引言

深度學習模型在訓練和推理過程中已經擴展到數十億個參數和數十億個乘累加(MAC)操作。因此,人們對高效計算這些模型以及在資源受限的邊緣設備上部署這些計算和內存密集型工作負載的興趣越來越濃厚。這些邊緣設備有嚴格的能量和內存限制,相應的利用深度學習模型的應用程序通常也有實時延遲限制。CPU和GPU在通用性能計算平臺中都是常用的,它們的優勢是無處不在且能夠支持各種工作負載和操作。然而,這種靈活性是以降低效率為代價的。深度學習模型由少量不同的操作組成,這些操作會重復數百萬或數十億次,因此通常不需要很高的靈活性。此外,雖然現代CPU和GPU可以并行執行多個操作,但它們缺乏利用深度學習模型中的海量數據重用機會的能力。 對快速、高效計算的需求,使用少量不同的操作,以及數據重用的機會,這些結合在一起,導致了深度學習使用硬件加速器。這與學術界開發的許多研究加速器相似[34,37,39,40,59,69,70,81,169]。隨著硬件加速器的發展,用于部署各種深度學習算法的軟件框架[3,32,98,167]和編譯器[33,161,185]也得到了增強和成熟。這些工具使深度學習算法能夠在加速器上執行,并執行映射優化,以提高整個深度學習流水線的性能和效率。然而,快速發展的深度學習算法仍在不斷引入對軟硬件支持及其協同優化的新需求,以滿足各種部署約束。 **最近,transformer和大型語言模型[22,44,52,58,86,173-175,177,190,198]在解決各種自然語言處理(NLP)任務方面的流行,在加速器和框架的設計方面提出了一套全新的挑戰。**人們也越來越關注提高Transformer推理的效率,特別是由于它們的規模和運行時復雜性不斷增長。然而,與更知名的卷積神經網絡(CNN)架構相比,人們仍然缺乏對Transformer架構的工作負載特征的了解,從而缺乏有效運行這些模型所需的設計原則。例如,與傳統的以CNN為重點的設計相比,transformer主要由矩陣乘法(matmuls)和內存密集型的非線性操作組成。此外,Transformer模型的計算圖和數據流比CNN更復雜,具有更多類型的操作節點,以及更多的數據流拆分和連接。所有這些挑戰都要求我們對當前的硬件和軟件解決方案進行全面的分析,以及Transformer推理的各種設計權衡。進行這樣的分析將使我們能夠對高效運行transformer的需求建立全面和全面的理解。

本文工作有兩個方面的貢獻:(1)分析Transformer的運行時特性,并調查高效Transformer推理的不同方法;(2)在全棧深度神經網絡(DNN)加速器生成器Gemmini[70]上應用所調查的方法進行案例研究。本文工作的長期目標是描述硬件和軟件堆棧中的不同因素,以優化Transformer推理。關于我們的第一個貢獻,本文涵蓋了端到端深度學習推理的不同層次,特別關注transformer。這包括:Transformer架構的運行時特征和瓶頸的分析和profiling(第2節)。包括Transformer架構的非線性操作對其設計的影響(第3節)?優化策略,如修剪和量化,以進一步提高固定Transformer架構的性能(第4節)?Transformer架構中操作的映射和調度及其相關挑戰(第5節)?通過自動化神經架構搜索過程設計和適應Transformer架構,以提高硬件效率(秒。6)。

Transformer模型架構和性能瓶頸

在本節中,我們將從高層次地介紹Transformer架構的各個組成部分。首先討論了多頭注意力和前饋模塊、transformer中使用的非線性操作,以及編碼器/解碼器模型之間的差異,在2.1節中。在2.2節中,我們使用算法分析這些不同塊對硬件性能的影響,并對每個組件進行分析建模和直接profiling。

**硬件設計

**到目前為止,在第2節中,我們已經對Transformer架構的運行時特性和瓶頸進行了分析。現在將重點轉移到高效Transformer推理的全棧解決方案,從設計高效的硬件開始。第3.1節概述了為DNN使用特定領域加速器的基本原理,以及在大多數DNN加速器中使用的基本架構和數據流。第3.2節重點介紹了加速transformer的現有工作。第3.3節隨后提供了使用分析模型的分析,以評估transformer在典型加速器上的運行情況。最后,第3.4節提供了一個案例研究,說明了為transformer構建典型加速器的過程。總的來說,本節會給出相關的性能分析,并從全棧的角度為選定的硬件決策提供依據。請注意,我們這里只關心如何有效地推斷DNN。特別是,為高效的模型訓練設計硬件超出了本文的范圍。

** 模型優化**

給定一個已經設計和訓練好的DNN模型,一個重要的問題是,是否仍然有可能通過算法來提高模型在目標硬件平臺上的效率,通過將模型改編為更友好的硬件格式。在本節中,我們將分別在第4.1節和4.2節中討論流行的現成模型優化方法,量化和稀疏性(即剪枝)。然后,在第4.3節中,我們概述了特定于transformer的優化方法,以提高特定于transformer的特征(如注意和非線性操作)的性能。

將transformer映射到硬件

為了在目標硬件架構上執行Transformer塊,必須將其映射到執行所需的計算和通信的硬件指令中。在映射過程中所做的選擇對性能有很大影響。然而,可能映射空間的大小使找到最優映射變得困難,這需要使用仔細考慮的探索、啟發式或基于學習的方法。在本節中,我們將介紹5.1節中的映射問題。我們將在第5.2節討論高效執行transformer所需的關鍵映射決策。我們在第5.3節中概述了現有映射技術的分類,在第5.4節中概述了對不同映射的性能進行建模的技術。最后,在5.5節中,我們將介紹mapper在使用transformer時需要注意的問題。

付費5元查看完整內容

視頻Transformer最新綜述論文

Transformer模型在建模長范圍交互方面取得了巨大的成功。然而,他們的規模與輸入長度的平方和缺乏歸納偏差。在處理高維視頻時,這些限制可能會進一步加劇。正確的視頻建模,可以跨度從幾秒到幾小時,需要處理長范圍交互。這使得Transformer成為解決視頻相關任務的一個很有前途的工具,但還需要一些調整。雖然之前也有研究《Transformer》在視覺任務方面的進展的工作,但沒有一篇是針對特定視頻設計的深入分析。在本綜述中,我們分析和總結了用于視頻數據建模的Transformer的主要貢獻和趨勢。具體地說,我們深入研究了視頻是如何嵌入和標記化的,發現了一個非常廣泛的使用大型CNN主干來降低維數的方法,以及主要使用補丁和幀作為標記。此外,我們研究了如何調整Transformer層以處理更長的序列,通常是通過減少單個注意力操作中的令牌數量。此外,我們還分析了用于訓練視頻Transformer的自監督損耗,迄今為止,這些損耗大多局限于對比方法。最后,我們探討了其他模態是如何與視頻整合在一起的,并對視頻Transformer最常用的基準(即動作分類)進行了性能比較,發現它們在等效FLOPs的情況下優于3D CNN,且沒有顯著的參數增加。

引言

Transformers是[1]中首次提出的最新系列模型。這些架構最初是為了替換機器翻譯設置中的循環層而設計的,現在已經很快被用于建模許多其他數據類型[2]、[3]、[4],包括圖像[5]、[6]、[7]、[8]和視頻[9]、[10]、[11]、[12]、[13]、[14]。Transformer背后的關鍵成功在于其通過自注意力(SA)操作實現的非局部令牌混合策略。非局部操作在[15]中提出,是對非局部均值操作[16]的泛化。它基于所有元素之間的交互來演化輸入表示。這些相互作用是通過一對相似函數來調節的,該函數衡量每個元素對其他元素的貢獻。與全連接(FC)層不同,非局部操作不需要權重:輸入之間的關系不需要學習,而是完全依賴于輸入表示。盡管它們取得了成功,但SA的本質導致transformer對序列長度T的縮放效果很差。特別是,由于對親和計算,SA的復雜度為O(t2)。此外,transformer沒有任何歸納偏差,這可能是一個理想的特性,但它也會阻礙學習,除非[7]使用大量數據。

最近Transformer工作的激增,讓跟蹤最新的進展和趨勢變得復雜起來。最近的調研試圖通過分析和總結《Transformer》的總體架構設計選擇來填補這一空白,主要集中在NLP[18],或高效的設計,如[19]或[20]。雖然一些人已經廣泛地調研了視覺的進展,例如[21],[22],[23],[24]和Vision-Language transformer[25],但他們沒有對視頻模型進行深入的分析。[26]的調研集中于視頻和語言Transformer的預訓練,但是他們討論了一些架構選擇,并沒有涵蓋一般的視頻趨勢。視頻Transformer (vt)可以找到與其他Transformer設計的共同點(特別是在圖像領域),但視頻固有的大維度將加劇Transformer的局限性,需要特殊處理。額外的時間維度還需要不同的嵌入、標記化策略和架構。最后,視頻媒體通常與其他模態配對(例如,它很自然地伴隨著音頻),這使得它特別容易用于多模態設置。

視頻。本工作的重點是全面分析用于視頻數據建模的Transformer架構的最新進展。請注意,在Transformer層建模之前,使用傳統(非Transformer)架構將視頻映射到其他結構化形式(例如,接頭[27]或語音[28])的工作不在我們的范圍之內。我們對使用(時間)視覺特征作為SA層輸入的模型特別感興趣。我們分析了文獻采用這些模型的方式,使之能夠處理視頻的內在復雜性以及其他可選模態。然而,我們確實考慮在使用Transformer層之前利用某些CNN架構將視頻數據嵌入到低維空間的工作(參見第3.1.1節)。

Transformers。與基于位置的體系架構(如CNN)不同,Transformer在每一層對數據的全局交互進行建模。然而,有一個廣泛的基于全局的架構。我們關注的是將SA以非局部運算[15]的內嵌高斯變量形式,加上額外的歸一化因子的工作(見式(1))。已有文獻將其他形式的注意力視為SA[29],[30],[31],[32],但這些文獻通常使用FC層而不是點積來計算注意力權重。我們認為這些超出了本次調研的范圍。此外,與Transformers并行的研究方向還采用SA或等效的內嵌高斯版本的非局部算子來處理計算機視覺任務。例如,圖注意力網絡,如[33]和[34],或關系網絡,如[35]和[36]。類似地,我們也發現它們被用于增強CNN主干,通過添加中間層[15]、[37]、[38]、[39],或者通過增強輸出表示[40]、[41]、[42]。我們很高興地看到,在這么多不同的研究方向都采用了非局部操作。不過,在本工作中,我們只關注Transformer體系結構,并將非本地操作集成到不同體系結構中的各種方式留給未來的工作進行比較。

視頻Transformers(vt)的通用框架。在(a)中,我們展示了一個普通的Transformer Encoder1;在(b)中,我們展示了不同的標記化和嵌入策略,具體見3.1節;在(c)中,我們展示了一種常見的分層Transformer設計,它分解了視頻片段的空間和時間交互。這些和其他視頻設計在第3.2節中有描述。

視頻Transformer

視頻數據的高維性以及上述《Transformers》的局限性需要進行多種調整,以構建成功的視頻《Transformers》。在這里,我們對VTs進行一個全面的概述:在3.1節中,我們探討了在將視頻輸入Transformer之前如何處理它們,并探討了降維和標記化替代方案的主干。然后,在第3.2節中,我們詳細介紹了高效Transformer設計的建議,比如在視頻中顯式地利用時間結構。接下來,我們在第3.3節分析了視頻如何與其他模態整合。最后,我們概述VT訓練策略和損失,特別是在第3.4節中的自監督方法。

付費5元查看完整內容

卷積神經網絡(Convolutional Neural Networks)特別是深度神經網絡(Deep Neural Networks)在計算機視覺任務上發揮著愈發重要的作用。在一個神經網絡模型中,通常 包含卷積層、匯合層、全連接層、非線形層等基本結構,通過這些基本結構的堆疊,最 終形成我們所常用的深度神經網絡。早在 1998 年,LeCun 等人使用少數幾個基本結構組 成 5 層的 LeNet-5 網絡[1],并在 MNIST 數據集上得到了 98.9%的分類精度,但此時的深 度神經網絡還相對簡單,并且只能用于簡單的任務上;在 2012 年的 ImageNet 圖像分類 競賽中,AlexNet[2]將深度提高到了 8 層,并且達到了遠超傳統方法的結果;此后,VGG 團隊提出的 VGG-Net[3]進一步加深了網絡,使網絡最高達到了 19 層。雖然增加網絡的 深度能夠帶來性能的提升,但也不能無限制的增加網絡深度,隨著網絡的加深,梯度消 失會愈發嚴重,并且模型會變得愈發難以訓練。因此在 2016 年,He 等人提出 ResNet[4], 在模型中加入殘差結構,并一舉將網絡的深度提高到 152 層。至此,隨著深度學習的研 究逐步推進,神經網絡可以變得更寬更深更復雜,與此同時帶來更好的表示能力和性能 表現。當一些研究者將模型變得更大、更深時,另一些則考慮在保持模型精度的同時使模 型變得更小、更快,其中一類重要的方法為模型壓縮。模型壓縮大致上可以分為四類:模型量化、模型剪枝、低秩近似和知識蒸餾。通常來說我們用 32 位浮點數來保存模型,模型量化主要考慮用更小位數來保存模型 參數,通常使用的有 16 位浮點數和 8 位整數,其參數量和計算量都會相應地隨著存儲位 數而成倍降低;更有甚者,將模型量化成二值網絡[5],三元權重[6]或者同或網絡[7]。例 如,經過簡單量化之后的 MobileNetV1[8]僅僅只有 4-5MB,能夠輕松部署在各種移動平臺上。

模型剪枝[9,10,11,12]主要分為結構化剪枝和非結構化剪枝,非結構化剪枝去除不重 要的神經元,相應地,被剪除的神經元和其他神經元之間的連接在計算時會被忽略。由 于剪枝后的模型通常很稀疏,并且破壞了原有模型的結構,所以這類方法被稱為非結構 化剪枝。非結構化剪枝能極大降低模型的參數量和理論計算量,但是現有硬件架構的計 算方式無法對其進行加速,所以在實際運行速度上得不到提升,需要設計特定的硬件才 可能加速。與非結構化剪枝相對應的是結構化剪枝,結構化剪枝通常以濾波器或者整個 網絡層為基本單位進行剪枝。一個濾波器被剪枝,那么其前一個特征圖和下一個特征圖 都會發生相應的變化,但是模型的結構卻沒有被破壞,仍然能夠通過 GPU 或其他硬件來 加速,因此這類方法被稱之為結構化剪枝。低秩近似[13,14,15]將一個較大的卷積運算或者全連接運算替換成多個低維的運算。常用的低秩近似方法有 CP 分解法[13],Tucker 分解[14]和奇異值分解[15]。例如,一個 ?? × ??的全連接操作若能近似分解為?? × ??和?? × ??(其中?? ? ??, ??)那么這一層全連接 操作的計算量和參數量將被極大地縮減。

知識蒸餾(Knowledge Distillation)[16]通過使用一個足夠冗余的教師模型,來將其 知識 “傳授”給緊湊的學生模型。在訓練時同時使用教師模型的軟標簽和真實標記的硬 標簽來共同訓練學生模型,從而能夠使學生模型達到接近教師模型的性能,也因此能夠 降低達到目標精度所需的計算量和模型大小。上述模型壓縮方法能配合使用,一個模型經過結構化剪枝之后,由于其結構沒有發 生重要變化,所以能緊接著進行低秩近似以減少參數量和計算量,最后再通過參數量化 進一步減少參數量并加速。近些年來,隨著物聯網的發展,企業將深度學習模型部署在 嵌入式設備的需求在快速增長,而嵌入式設備計算能力有限,并且由于成本原因希望部 署的模型盡可能地小。模型壓縮的意義在于保證精度的同時盡可能減少計算量和參數量, 因此對于嵌入式設備的部署有切實的價值。模型壓縮包含很多內容,這里我們將主要關 注剪枝算法中的結構化剪枝。在本章的剩余部分,我們將首先介紹結構化剪枝的一些基 本方式,然后介紹一些經典的和最新的結構化剪枝算法,最后對結構化剪枝的應用和未 來發展進行總結和展望。

付費5元查看完整內容

深度學習已經在計算機視覺、自然語言理解、語音識別、信息檢索等領域掀起了一場革命。然而,隨著深度學習模型的不斷改進,其參數數量、延遲時間、訓練所需資源等都有了顯著增加。因此,關注模型的度量也變得很重要,而不僅僅是它的質量。我們提出深度學習中的效率問題,隨后對模型效率的五個核心領域(包括建模技術、基礎設施和硬件)以及其中的開創性工作進行了全面調研。我們還提供了一個基于實驗的指南和代碼,供從業者優化他們的模型訓練和部署。我們相信,這是在高效深度學習領域的第一次全面綜述,涵蓋了從建模技術到硬件支持的模型效率景觀。我們的希望是,這個綜述將為讀者提供心理模型和必要的理解,應用通用的效率技術,立即獲得顯著的改進,并促使他們的想法,進一步的研究和實驗,以實現額外的收益。

//www.zhuanzhi.ai/paper/0f8f07193a10367d2246a95c3c7785bb

引言

在過去的十年里,利用神經網絡進行深度學習一直是訓練新的機器學習模型的主要方法。它的崛起通常歸功于2012年的ImageNet競賽[45]。那一年,多倫多大學的一個團隊提交了一個深度卷積網絡(AlexNet[92],以首席開發人員Alex Krizhevsky的名字命名),其表現比排名第二的好41%。這一開創性工作的結果是,人們競相創造具有越來越多參數和復雜性的更深度網絡。一些模型架構,如VGGNet [141], Inception [146], ResNet[73]等,在隨后幾年的ImageNet競賽中連續打破了先前的記錄,同時它們的占用空間(模型大小,延遲等)也在增加。

這種效應在自然語言理解(NLU)中也得到了關注,其中主要基于注意力層的Transformer[154]體系結構刺激了通用語言編碼器(如BERT[47]、GPT-3[26]等)的開發。BERT在發布時擊敗了11個NLU基準測試。GPT-3還通過其API在行業的多個地方得到了應用。這些域之間的共同方面是模型占用空間的快速增長(參見圖1),以及與訓練和部署它們相關的成本。

深度學習研究一直專注于提高現有SOTA性能,圖像分類、文本分類等基準的逐步改進與網絡復雜度、參數數量、訓練網絡所需的訓練資源數量、預測延遲等的增加有關。例如,GPT-3包含1750億個參數,僅訓練一次迭代([26])就要花費數百萬美元。這排除了試驗/嘗試不同超參數組合的成本,這在計算上也是昂貴的。

雖然這些模型可以很好地執行它們所接受的任務,但它們可能不足以在現實世界中進行直接部署。在培訓或部署模型時,深度學習從業者可能面臨以下挑戰。

可持續的服務器端擴展: 訓練和部署大型深度學習模型的成本很高。雖然訓練可能是一次性成本(或者如果使用的是預先訓練的模型,則可能是免費的),但是部署并讓推理運行很長一段時間,在服務器端RAM、CPU等方面的消耗仍然是昂貴的。對于谷歌、Facebook、亞馬遜等機構來說,數據中心的碳足跡也是一個非常現實的問題,這些機構每年在數據中心的資本支出上都要花費數十億美元。

終端設備上部署: 某些深度學習應用程序需要在物聯網和智能設備上實時運行(模型推斷直接發生在設備上),原因有很多(隱私、連通性、響應性)。因此,必須為目標設備優化模型。

隱私和數據敏感性: 當用戶數據可能很敏感時,能夠使用盡可能少的數據進行訓練是至關重要的。因此,使用一小部分數據高效地訓練模型意味著所需的數據收集較少。

新的應用: 某些新的應用提供了新的約束(關于模型質量或足跡),現有的現成模型可能無法解決。

模型爆炸: 雖然一個單一的模型可能工作得很好,但為不同的應用在相同的基礎設施(托管)上訓練和/或部署多個模型可能會耗盡可用資源。

高效深度學習

圍繞上述挑戰的共同主題是效率。我們可以進一步細分如下:

推理效率: 這主要處理部署推理模型(計算給定輸入的模型輸出)的人會問的問題。型號小嗎?它快嗎,等等?更具體地說,模型有多少參數、磁盤大小、推斷期間的RAM消耗、推斷延遲等。

訓練效率: 這涉及到訓練模型的人會問的問題,比如模型需要多長時間來訓練?有多少設備?模型能適應內存嗎?等。它可能還包括這樣的問題,模型需要多少數據才能在給定的任務上實現期望的性能?

在本節中,我們將介紹mental模型來思考與高效深度學習相關的算法、技術和工具的集合。我們提出在五個主要領域構建它們,前四個集中在建模上,最后一個圍繞基礎設施和工具。

(1) 壓縮技術: 這些是用于優化模型架構的通用技術和算法,通常是通過壓縮層數。一個經典的例子是量化[82],它試圖壓縮一層的權矩陣,通過降低其精度(例如。(從32位浮點值到8位無符號整數),質量損失最小。

(2) 學習技術: 這些算法專注于不同的訓練模型(做出更少的預測錯誤,需要更少的數據,收斂更快等)。如果需要的話,通過削減參數的數量,可以將改進的質量轉換為更小的內存占用/更高效的模型。學習技術的一個例子是蒸餾[75],它通過學習模仿較大的模型來提高較小模型的準確性。

(3) 自動化: 這些是使用自動化改進給定模型的核心度量的工具。一個例子是超參數優化(HPO)[61],優化超參數有助于提高精度,然后可以用較少參數的模型進行交換。類似地,體系結構搜索[167]也屬于這一類,其中體系結構本身進行了調優,搜索有助于找到一個模型,該模型既優化了損耗/準確性,又優化了一些其他指標,如模型延遲、模型大小等。

(4) 高效架構: 這些是從頭開始設計的基本塊(卷積層、注意力等),是對之前使用的基線方法(分別是完全連接層和RNN)的重大飛躍。例如,卷積層引入了參數共享用于圖像分類,避免了為每個輸入像素學習單獨的權值,也使其對過擬合具有魯棒性。同樣,注意力層[21]解決了Seq2Seq模型中的信息瓶頸問題。這些架構可以直接用于提高效率。

(5) 基礎設施: 最后,我們還需要基礎設施和工具來幫助我們構建和利用有效的模型。這包括模型訓練框架,如Tensorflow[1]、PyTorch[119]等(以及部署高效模型所需的工具,如Tensorflow Lite (TFLite)、PyTorch Mobile等)。我們依賴于基礎設施和工具來利用高效模型的收益。例如,要獲得量化模型的規模和延遲改進,我們需要推理平臺支持量化模式下的常見神經網絡層。

付費5元查看完整內容

深度學習不斷增長的能源耗費和性能成本,促使社區通過選擇性修剪組件來減少神經網絡的規模。與生物學上的相似之處是,稀疏網絡即使不能比原來的密集網絡更好,也能得到同樣好的推廣。稀疏性可以減少常規網絡的內存占用,以適應移動設備,也可以縮短不斷增長的網絡的訓練時間。在本文中,我們調研了深度學習中的稀疏性之前的工作,并為推理和訓練提供了一個廣泛的稀疏化教程。我們描述了去除和添加神經網絡元素的方法,實現模型稀疏性的不同訓練策略,以及在實踐中利用稀疏性的機制。我們的工作從300多篇研究論文中提煉思想,并為希望利用稀疏性的實踐者提供指導,以及為目標是推動前沿發展的研究人員提供指導。我們在稀疏化中包括必要的數學方法背景,描述諸如早期結構適應、稀疏性和訓練過程之間的復雜關系等現象,并展示在真實硬件上實現加速的技術。我們還定義了一個修剪參數效率的度量,可以作為不同稀疏網絡比較的基線。最后,我們推測稀疏性如何改善未來的工作,并概述該領域的主要開放問題。

在計算機視覺、自然語言處理、知識表示、推薦系統、藥物發現等領域,深度學習在解決非常復雜的現實世界問題方面展現了無與倫比的前景。隨著這一發展,機器學習領域正從傳統的特征工程向神經結構工程發展。然而,對于如何選擇正確的架構來解決特定的任務,我們仍然知之甚少。在模型設計中,采用了卷積層中的平移等方差、遞歸、結構權重共享、池化或局部化等方法來引入強歸納偏差。然而,任務所需的精確模型大小和容量仍然未知,一個常見的策略是訓練過度參數化的模型,并將它們壓縮成更小的表示。

生物的大腦,特別是人類的大腦,是分層的、稀疏的和周期性的結構[Friston 2008],我們可以得出一些類似于今天人工神經網絡中的歸納偏差。稀疏性在生物大腦的縮放中扮演著重要的角色——大腦的神經元越多,大腦就越稀疏[Herculano-Houzel et al. 2010]。此外,研究表明,人類的大腦開始稀疏,在大量修剪之后有一個致密化的早期階段,然后保持在一個相對穩定的稀疏水平。然而,即使是完全發育成熟的大腦,每天也會改變多達40%的突觸[Hawkins 2017]。許多今天的工程修剪技術具有直觀的生物學類比,我們將在整篇文章中提到并在第8節討論。然而,計算基質(生物組織和CMOS)導致了非常不同的限制。

人工深度學習模型傳統上是密集和過度參數化的,有時甚至可以記憶數據中的隨機模式[Zhang et al. 2017],或者95%的參數可以從剩余的5%中預測出來[Denil et al. 2014]。這可能與經驗證據有關,表明使用隨機梯度下降(SGD)訓練過度參數化模型比使用更緊湊的表示更容易Glorot et al. 2011a; Kaplan et al. 2020; Li et al. 2020a; Mhaskar and Poggio 2016]. Brutzkus et al. [2017] 和Du et al. [2019]表明,這種梯度下降技術可證明以良好的泛化最優地訓練(淺)過參數化網絡。具體來說,他們指出,過度參數化會導致一種強大的“類凸性”,這有利于梯度下降的收斂性。最近的理論結果[Allen-Zhu et al. 2019; Neyshabur et al. 2018]似乎支持這些發現,并指出訓練動力學和泛化依賴于過度參數化。

這種過度參數化是以模型訓練和推理過程中額外的內存和計算工作為代價的。特別是,對于移動設備和電池驅動設備的推理,以及在成本意識較強的環境下,稀疏模型表示可以帶來巨大的節省。具體地說,稀疏模型更容易存儲,并且常常節省計算量。此外,過度參數化的模型往往會過度擬合數據,并降低泛化到看不見的例子。緊跟著Occam 's razor,稀疏化也可以看作是某種形式的正則化,可以通過有效降低模型中的噪聲來提高模型質量。具體來說,最小描述長度框架提供了一個具有貝葉斯解釋和數據壓縮清晰解釋的吸引人的公式[Grünwald 2007],我們稍后會討論。

許多工作,特別是老的工作,集中在通過稀疏化改進泛化。早期的研究[Mozer和Smolensky 1988]關注的是具有數十到數百個參數的模型,也說明了它們的簡化版本有更好的可解釋性。然而,隨著今天的模型使用數百萬或數十億個參數,稀疏性是否會顯著提高可解釋性和可解釋性就有待觀察了。Bartoldson等人[2020]最近的工作將剪枝作為“噪聲”,類似于dropout或數據增強來解釋泛化。其他近期的研究發現,稀疏性可以提高對抗對抗攻擊的魯棒性[Cosentino et al. 2019; Gopalakrishnan et al. 2018; Guo et al. 2018; Madaan et al. 2020; Rakin et al. 2020; Sehwag et al. 2020; Verdenius et al. 2020]。

最近,一組更大的工作集中在提高計算效率的同時保持模型的精度。現代網絡在計算上的使用是昂貴的——例如,Inception-V3 [Szegedy等人2016],一個最先進的目標識別網絡,需要57億次算術運算和2700萬個參數進行評估;GPT-3 [Brown et al. 2020],一種最先進的自然語言處理網絡的實驗狀態需要1750億個參數(350 GiB,假設每個參數16位)來評估。此外,訓練這樣的深度神經模型變得越來越昂貴,而且最大的語言模型已經需要超級計算機進行訓練,每次訓練可能要花費數百萬美元[Brown等人2020]。因此,研究訓練過程中的稀疏性對于管理訓練成本是非常重要的。

我們綜述的結果表明,今天的稀疏化方法可以導致模型尺寸減少10-100倍,并在計算、存儲和能源效率方面獲得相應的理論收益,而不會顯著降低精度。如果這些加速是在高效的硬件實現中實現的,那么所獲得的性能可能會導致一個階段的變化,使更復雜的、可能是革命性的任務得到實際解決。此外,我們還觀察到,在稀疏化方法方面的進展速度正在加快,因此,即使在我們編寫本論文的最后幾個月里,也發表了一些改進現有技術的新方法。

我們的目標是總結現有的技術,并且在第2-5節首先關注設計模型的純定性方面。然后,在第6節和第7節中,我們將解釋實現這些設計組合的架構選擇,包括性能結果。

付費5元查看完整內容

近年來,隨著深度學習的飛速發展,深度神經網絡受到了越來越多的關注,在許多應用領域取得了顯著效果。通常,在較高的計算量下,深度神經網絡的學習能力隨著網絡層深度的增加而不斷提高,因此深度神經網絡在大型數據集上的表現非常卓越。然而,由于其計算量大、存儲成本高、模型復雜等特性,使得深度學習無法有效地應用于輕量級移動便攜設備。因此,壓縮、優化深度學習模型成為目前研究的熱點,當前主要的模型壓縮方法有模型裁剪、輕量級網絡設計、知識蒸餾、量化、體系結構搜索等。通過對以上方法的性能、優缺點和最新研究成果進行分析總結,對未來研究方向進行了展望。

付費5元查看完整內容

近年來,自然語言處理(NLP)和信息檢索(IR)領域取得了巨大的進展,這要歸功于深度學習模型,如回歸神經網絡(RNNs)、門控回歸單元(GRUs)和長短時記憶(LSTMs)網絡,以及基于Transformer (Vaswani et al., 2017)的雙向編碼器表示模型(BERT) (Devlin et al., 2018)。但這些模型都是巨大的。另一方面,現實世界的應用程序要求較小的模型尺寸、低響應時間和低計算功率。在這個綜述中,我們討論了六種不同類型的方法(剪枝、量化、知識蒸餾、參數共享、張量分解和基于線性變壓器的方法)來壓縮這些模型,使它們能夠在實際的工業NLP項目中部署。考慮到構建具有高效和小型模型的應用程序的迫切需要,以及最近在該領域發表的大量工作,我們相信,本論文調研組織了“NLP深度學習”社區在過去幾年里所做的大量工作,并將其作為一個連貫的故事呈現出來。

//www.zhuanzhi.ai/paper/3fba50f6f54fa8722b1c7fd56ec0bcfb

付費5元查看完整內容

A Survey of Model Compression and Acceleration for Deep Neural Networks 深度卷積神經網絡(CNNs)最近在許多視覺識別任務中取得了巨大的成功。然而,現有的深度神經網絡模型在計算上是昂貴的和內存密集型的,這阻礙了它們在低內存資源的設備或有嚴格時間延遲要求的應用程序中的部署。因此,在不顯著降低模型性能的情況下,在深度網絡中進行模型壓縮和加速是一種自然的思路。在過去幾年中,這方面取得了巨大的進展。本文綜述了近年來發展起來的壓縮和加速CNNs模型的先進技術。這些技術大致分為四種方案: 參數剪枝和共享、低秩因子分解、傳輸/緊湊卷積過濾器和知識蒸餾。首先介紹參數修剪和共享的方法,然后介紹其他技術。對于每種方案,我們都提供了關于性能、相關應用程序、優點和缺點等方面的詳細分析。然后我們將討論一些最近比較成功的方法,例如,動態容量網絡和隨機深度網絡。然后,我們調查評估矩陣、用于評估模型性能的主要數據集和最近的基準測試工作。最后,對全文進行總結,并對今后的研究方向進行了展望。

付費5元查看完整內容
北京阿比特科技有限公司