高分辨率圖像使神經網絡能夠學習更豐富的視覺表示。然而,這種性能的提升是以計算復雜度的增加為代價的,阻礙了它們在對延遲敏感的應用程序中的使用。由于并非所有像素都相等,跳過不重要區域的計算提供了一種簡單而有效的方法來減少計算量。然而,這很難轉化為CNN的實際加速,因為它打破了密集卷積工作的規律。**本文提出SparseViT,重新審視最近基于窗口的視覺Transformer (vit)的激活稀疏性。**由于窗口注意力自然地在塊上批量處理,因此窗口激活剪枝的實際加速成為可能:即在60%的稀疏性下減少50%的延遲。由于不同層的敏感度和計算代價不同,應該為其分配不同的剪枝率。引入稀疏感知自適應,并應用進化搜索,在巨大的搜索空間中有效地找到最優的分層稀疏配置。在單目3D目標檢測、2D實例分割和2D語義分割方面,SparseViT與密集版本相比,分別實現了1.5倍、1.4倍和1.3倍的速度,而精度幾乎沒有損失。
動態神經網絡是深度學習領域的新興研究課題。通過自適應推理,動態模型可以達到顯著的精度和計算效率。然而,由于沒有合適的動態結構和現有的目標檢測標準,設計一個強大的動態檢測器是具有挑戰性的。為解決這些困難,本文提出一種用于目標檢測的動態框架DynamicDet。首先,根據目標檢測任務的性質精心設計了一個動態架構;然后,我們設計了一個自適應路由器來分析多尺度信息并自動確定推理路由。本文還提出了一種新的優化策略,給出了一種基于檢測損失的動態檢測器優化準則。最后,提出了一種可變速度的推理策略,有助于只用一個動態檢測器實現大范圍的精度-速度權衡。在COCO基準上進行的廣泛實驗表明,所提出的DynamicDet實現了新的最先進的精度-速度權衡。例如,在相當的精度下,動態檢測器Dy-YOLOv7-W6的推理速度比YOLOv7-E6提高12%,比YOLOv7-D6提高17%,比YOLOv7-E6E提高39%。代碼可以在https: //github.com/VDIGPKU/DynamicDet上獲得。
作為視覺transformer的核心構建模塊,注意力是捕捉長程依賴關系的強大工具。然而,這種能力是有代價的:它會帶來巨大的計算負擔和內存占用,因為要計算所有空間位置上的成對token交互。一系列工作試圖通過將手工制作的和內容無關的稀疏性引入注意力來緩解這個問題,例如將注意力操作限制在局部窗口、軸向條紋或膨脹窗口內。與這些方法相比,本文提出了一種新的通過雙層路由的動態稀疏注意力,以實現具有內容感知的更靈活的計算分配。具體來說,對于一個查詢,首先在粗粒度的區域級別上過濾掉不相關的鍵值對,然后在剩余的候選區域(即路由區域)中應用細粒度的token-to-token attention。本文提供了所提出的雙層路由注意力的一個簡單而有效的實現,利用稀疏性來節省計算和內存,同時只涉及GPU友好的密集矩陣乘法。用所提出的雙層路由注意力建立了一個新的通用視覺transformer,稱為BiFormer。由于BiFormer以查詢自適應的方式關注一小部分相關標記,而不會分散其他不相關標記的注意力,因此它具有良好的性能和較高的計算效率,特別是在密集預測任務中。在圖像分類、目標檢測和語義分割等計算機視覺任務中的經驗結果驗證了所設計的有效性。代碼可以在//github.com/rayleizhu/BiFormer上找到。
深度卷積神經網絡(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
視覺transformer最近在各種視覺任務中取得了有競爭力的結果,但在處理大量token時仍然存在很大的計算成本。許多先進的方法已經開發出來,以減少大規模視覺transformer中的token總數,特別是對于圖像分類任務。通常,他們根據與 [class]標記的相關性選擇一組基本標記,然后微調視覺transformer的權重。這種微調對于密集預測來說不太實用,因為與圖像分類相比,計算量和GPU內存成本要高得多。在本文中,我們關注一個更具挑戰性的問題,即在不進行任何額外的再訓練或微調的情況下,加速大規模視覺transformer進行密集預測。針對高密度預測需要高分辨率表示的事實,我們提出了兩個非參數運算符,一個是減少token數量的token聚類層,一個是增加token數量的token重構層。為了實現這一目標,我們執行了以下步驟:(i)我們使用token聚類層將相鄰的token聚在一起,從而產生保持空間結構的低分辨率表示;(ii)僅將以下transformer層應用于這些低分辨率表示或集群token;(iii)我們使用token重構層從精煉的低分辨率表示重新創建高分辨率表示。該方法在目標檢測、語義分割、泛視分割、實例分割和深度估計等五種密集預測任務中取得了良好的效果。因此,該方法在不微調官方權重的情況下,在ADE20K上保持99.5%的性能的同時,加速了40%↑FPS并節省了30%↓GFLOPs的“Segmenter+ViT-L/16”。 //www.zhuanzhi.ai/paper/d7612e394722b9aa764f35a645789efe
Knowledge Distillation as Efficient Pre-training: Faster Convergence, Higher Data-efficiency, and Better Transferability
大規模的預訓練已被證明對廣泛的計算機視覺任務都十分關鍵,能夠帶來顯著的漲點;然而,隨著預訓練數據量的增大,私有數據的出現,模型結構的多樣化,將所有的模型結構都在大規模預訓練數據集上進行預訓練,變得昂貴、低效、不實際。
研究者們思考:是否一個已經在大量數據上預訓練好的模型已經提取了大量數據的知識,并且可以僅通過少部分預訓練數據,將其高效快速的傳遞給一個新的模型? 進而,研究者們提出通過知識蒸餾來實現高效模型預訓練。他們發現,傳統的知識蒸餾由于在分類的 logits 上進行蒸餾,而這些分類的 logits 并不會被利用到下游遷移任務中,因此并不適合于預訓練需要的特征學習。對此,研究者們提出一種基于無額外參數特征維度對齊的純特征蒸餾方法。
采用所提出的方法,僅使用 1/10 的預訓練數據和 1/5 的預訓練時間,就可以達到有監督預訓練的遷移效果(在圖像分類、語義分割、目標檢測任務上評估遷移效果)。
arXiv: //www.zhuanzhi.ai/paper/ff8fc62c3b2064a52d048d5d4b25fe54 Github:
卷積神經網絡通過逐步探索上下文和語義特征在邊緣檢測方面取得了重大進展。然而,隨著感受野的擴大,局部細節逐漸被抑制。最近,視覺Transformer在捕獲遠程依賴方面表現出出色的能力。受此啟發,我們提出了一種新穎的基于Transformer的邊緣檢測器,邊緣檢測Transformer(EDTER)。通過同時利用完整的圖像上下文信息和詳細的局部線索來提取清晰明快的對象邊界和有意義的邊緣。EDTER 分兩個階段工作。在第一階段,全局Transformer編碼器用于在粗粒度圖像塊上捕獲遠程全局上下文。然后在第二階段,局部Transformer編碼器在細粒度補丁上工作以挖掘短程本地線索。每個Transformer編碼器后面都有一個精心設計的雙向多級聚合解碼器,以實現高分辨率特征。最后,全局上下文和局部線索由特征融合模塊組合并輸入決策頭進行邊緣預測。在 BSDS500、NYUDv2 和 Multicue 上進行的大量實驗證明了 EDTER 與最先進技術相比的優越性。
//www.zhuanzhi.ai/paper/caf1c942ec21ace11a0a80157fe4d35f
Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation(弱監督語義分割的類重新激活圖) code://github.com/zhaozhengChen/ReCAM
本文介紹了一種非常簡單高效的方法:使用名為 ReCAM 的 softmax 交叉熵損失 (SCE) 重新激活具有 BCE 的收斂 CAM。給定一張圖像,本文使用 CAM 提取每個類的特征像素,并使用它們與類標簽一起使用 SCE 學習另一個全連接層(在主干之后)。收斂后,本文以與 CAM 中相同的方式提取 ReCAM。由于 SCE 的對比性質,像素響應被分解為不同的類別,因此預期的掩碼模糊性會更小。對 PASCAL VOC 和 MS COCO 的評估表明,ReCAM 不僅可以生成高質量的遮罩,還可以在任何 CAM 變體中以很少的開銷支持即插即用。
當前基于CNN的圖像超分對所有位置同等對待,即每個位置都需要經過網絡進行處理。實際上,低分辨率圖像的細節缺失主要位于邊緣、紋理區域,而平坦區域則較少缺失,故而賦予更少的計算量處理亦可。這就意味著現有基于CNN的圖像超分方法在平坦區域存在計算量冗余問題,限制了對應方法在移動端的應用。
為解決上述問題,我們對圖像超分中的稀疏性問題進行了探索,并用于改善超分網絡的推理高效性。具體來說,我們設計了一種Sparse Mask SR(SMSR)學習稀疏掩碼以剪枝冗余計算量。結合所提SMSR,空域掩碼學習判別“重要性”區域而通道掩碼學習冗余通道(即不重要區域)。因此,冗余計算空域被精確的定位并跳過,同時保持同等性能。
最后,我們通過實驗證實:SMSR取得了SOTA性能,同時x2/3/4被超分的計算量降低41%、33%以及27%。
本文的主要貢獻包含以下幾點:
我們提出了一種SMSR動態跳過冗余計算以達成高效圖像超分; 我們提出通過學習空域與通道掩碼定位冗余計算,兩者協同達成細粒度的冗余計算定位; 所提方法取得了SOTA性能,同時具有更好的推理效率。
paper://arxiv.org/abs/2006.09603
Code:
本文提出一種新的卷積操作----動態區域注意卷積(DRConv: Dynamic Region-Aware Convolution),該卷積可以根據特征相似度為不同平面區域分配定制的卷積核。這種卷積方式相較于傳統卷積極大地增強了對圖像語義信息多樣性的建模能力。標準卷積層可以增加卷積核的數量以提取更多的視覺元素,但會導致較高的計算成本。DRConv使用可學習的分配器將逐漸增加的卷積核轉移到平面維度,這不僅提高了卷積的表示能力,而且還保持了計算成本和平移不變性。 圖片 DRConv是一種用于處理語義信息分布復雜多變的有效而優雅的方法,它可以以其即插即用特性替代任何現有網絡中的標準卷積,且對于輕量級網絡的性能有顯著提升。本文在各種模型(MobileNet系列,ShuffleNetV2等)和任務(分類,面部識別,檢測和分割)上對DRConv進行了評估,在ImageNet分類中,基于DRConv的ShuffleNetV2-0.5×在46M計算量的水平下可實現67.1%的性能,相對基準提升6.3%。