System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于計算機視覺領域,特別涉及一種基于剪枝和知識蒸餾組合的detr目標檢測模型壓縮方法。
技術介紹
1、detr是2020年提出的一種新的目標檢測范式,其屬于無錨框檢測方法中的端到端的檢測方法。detr的模型結構非常簡單,包含三個主要組件:骨干網絡、transformer編碼器-解碼器特征融合網絡、前饋網絡,但是該網絡模型計算成本高,內存密集,阻礙了它在低內存資源的設備或具有嚴格延遲要求的應用程序中的部署。因此,就產生了在不顯著降低模型性能的情況下在深度網絡中執行模型壓縮和加速的樸素想法。一般來說,常見的技術主要是網絡剪枝和知識蒸餾。
2、網絡剪枝可以降低網絡復雜性和解決過擬合問題,網絡剪枝以保持原始精度的方式減少神經網絡所需的存儲空間。常用的壓縮框架是一個三階段的管道:網絡剪枝、參數量化和霍夫曼編碼,通常應用一個壓縮框架或者同時應用多個壓縮框架,在不影響神經網絡準確性的情況下,將神經網絡的存儲需求減少35到49倍。但這種剪枝框架在帶有transformer結構的模型中無法有效使用,因此需要一種針對transformer結構的剪枝方法來減少其巨大的計算開銷,促進模型在邊緣設備中的部署和應用。
3、知識蒸餾的核心思想是通過一個預先訓練好的大模型(教師模型)來指導一個小模型(學生模型)的訓練,這個過程就像教師在教學生一樣,通過將大型模型的性能轉移到小型模型,從而使小型模型在資源受限的環境中(如移動設備和嵌入式系統)也能表現出良好的性能,故稱為教師-學生框架。其中,教師模型通常是一個大型的深度神經網絡,
4、綜上所述,基于網絡剪枝的模型壓縮方法不能在帶有transformer結構的模型中有效使用,基于知識蒸餾的模型壓縮方法應用在圖像中會對圖像特征進行蒸餾,如何將網絡剪枝和知識蒸餾應用在用于處理圖像且帶有transformer結構的模型中是本領域技術人員亟需解決的問題。
技術實現思路
1、為了使detr目標檢測模型在無明顯精度下滑的前提下,顯著降低模型的計算量并大幅提升模型的推理速度,本專利技術提出一種基于剪枝和知識蒸餾組合的detr目標檢測模型壓縮方法,對待壓縮的目標檢測模型中的transformer結構進行剪枝和蒸餾,具體包括以下步驟:
2、計算transformer結構每一層的注意力機制,利用注意力機制構建掩碼;
3、利用掩碼對transformer結構線性層和注意力層的參數進行自適應剪枝,得到原模型的第一壓縮模型;
4、將待壓縮的transformer結構的編碼器作為學生網絡,原模型作為教師網絡進行蒸餾學習;
5、學生網絡根據全局蒸餾損失和交點蒸餾損失進行蒸餾更新,完成壓縮。
6、優選地,進行自適應剪枝包括以下步驟:
7、101、在transformer的正向傳遞中,將n個向量作為線性層的輸入,線性層輸出m個向量,則線性層的第j個輸出表示為:
8、
9、其中,aj表示一個線性層的第j個輸出;mj,k表示掩碼矩陣第j行、第列的元素值,當mj,k=0時表示線性層第k個輸入與第j個輸出之間的映射權重被剪枝,當mj,k=1時表示線性層第k個輸入與第j個輸出之間的映射權重被保留;wj,k為線性層第k個輸入與第j個輸出之間的映射權重;xk表示線性層的第k個輸入值;
10、102、在反向損失傳播中,掩碼矩陣二元階躍函數的梯度處處為0,線性層的顯著性得分在線性層的學習過程可以表示為:
11、
12、其中,l表示transformer網絡的損失函數,mj表示一個線性層的第j個輸出向量對應的掩碼向量,當mj=1時表示線性層第j個輸出向量被保留,當mj=0時表示線性層第j個輸出向量被剪枝;sj表示一個線性層的第j個輸出向量對應的顯著性得分;
13、201、在transformer的正向傳遞中,掩碼多頭自注意力的輸出表示為:
14、
15、其中,msa表示輸入數據對應的掩碼多頭自注意力的輸出;h為自注意力頭數;wproj為線性變換矩陣;attnh為自注意力機制中第h個注意力頭的輸出;mh表示一個注意力層的第h注意力頭對應的掩碼向量;
16、202、掩碼多頭自注意力的顯著性得分對應的學習過程包括:
17、
18、其中,sh表示一個注意力層的第h個注意力頭對應的顯著性得分;
19、301、對transformer網絡進行剪枝,剪枝時使用增廣拉格朗日方法在閾值參數上構造正則化,在閾值參數上構造正則化的懲罰值表示為:
20、
21、其中,lp表示正則化的懲罰值;λ1、λ2為2個拉格朗日乘子;rt為目標剪枝比;r為當前剪枝比;
22、302、transformer網絡中第l層的閾值參數βl的學習過程表示為:
23、
24、其中,nl為transformer網絡中第l層的參數個數;σ(βl)表示對閾值參數βl進行標準化;n為transformer網絡中所有層參數總個數。
25、優選地,根據全局蒸餾損失和交點蒸餾損失進行蒸餾更新的過程包括以下步驟:
26、比較教師網絡中模型輸出的特征圖與真實目標的特征圖,分別計算得到用于分離前景的二進制掩碼和用于分離背景的縮放掩碼;
27、計算模型輸出特征圖的空間和通道注意力掩碼;
28、利用教師網絡的掩碼引導學生網絡進行焦點蒸餾損失的學習;
29、捕捉教師網絡中模型輸出的特征圖的全局信息,通過全局蒸餾學習彌補焦點蒸餾學習中缺失的目標與整體圖像的交互信息。
30、優選地,用于分離前景的二進制掩碼表示為:
31、
32、其中,mi,j表示二進制掩碼第i行、第j列的值,(i,j)表示教師網絡中模型輸出的特征圖中第i行、第j列的像素點,r表示真實目標對應的檢測框。
33、優選地,用于分離背景的縮放掩碼表示為:
34、
35、其中,(i,j)表示教師網絡中模型輸出的特征圖中第i行、第j列的像素點,r表示真實目標對應的檢測框,hr表示檢測框r的高,wr表示檢測框r的寬;h表示教師網絡中模型輸出的特征圖的高,w表示教師網絡中模型輸出的特征圖的寬。
36、優選地,計算模型輸出特征圖的空間和通道注意力掩碼包括:
37、as(f)=h·w·softmax(gs(f)/t)
38、
39、ac(f)=c·softm本文檔來自技高網...
【技術保護點】
1.一種基于剪枝和知識蒸餾組合的DETR目標檢測模型壓縮方法,其特征在于,對待壓縮的目標檢測模型中的Transformer結構進行剪枝和蒸餾,具體包括以下步驟:
2.根據權利要求1所述的一種基于剪枝和知識蒸餾組合的DETR目標檢測模型壓縮方法,其特征在于,進行自適應剪枝包括以下步驟:
3.根據權利要求1所述的一種基于剪枝和知識蒸餾組合的DETR目標檢測模型壓縮方法,其特征在于,根據全局蒸餾損失和交點蒸餾損失進行蒸餾更新的過程包括以下步驟:
4.根據權利要求3所述的一種基于剪枝和知識蒸餾組合的DETR目標檢測模型壓縮方法,其特征在于,用于分離前景的二進制掩碼表示為:
5.根據權利要求3所述的一種基于剪枝和知識蒸餾組合的DETR目標檢測模型壓縮方法,其特征在于,用于分離背景的縮放掩碼表示為:
6.根據權利要求3所述的一種基于剪枝和知識蒸餾組合的DETR目標檢測模型壓縮方法,其特征在于,計算模型輸出特征圖的空間和通道注意力掩碼包括:
7.根據權利要求6所述的一種基于剪枝和知識蒸餾組合的DETR目標檢測模型壓縮方法,
8.根據權利要求3所述的一種基于剪枝和知識蒸餾組合的DETR目標檢測模型壓縮方法,其特征在于,通過構建GcBlock捕捉教師網絡中模型輸出的特征圖的全局信息,GcBlock捕獲全局信息的過程包括:
9.根據權利要求8所述的一種基于剪枝和知識蒸餾組合的DETR目標檢測模型壓縮方法,其特征在于,通過全局蒸餾學習彌補焦點蒸餾學習中缺失的目標與整體圖像的交互信息時,采用的損失函數表示為:
...【技術特征摘要】
1.一種基于剪枝和知識蒸餾組合的detr目標檢測模型壓縮方法,其特征在于,對待壓縮的目標檢測模型中的transformer結構進行剪枝和蒸餾,具體包括以下步驟:
2.根據權利要求1所述的一種基于剪枝和知識蒸餾組合的detr目標檢測模型壓縮方法,其特征在于,進行自適應剪枝包括以下步驟:
3.根據權利要求1所述的一種基于剪枝和知識蒸餾組合的detr目標檢測模型壓縮方法,其特征在于,根據全局蒸餾損失和交點蒸餾損失進行蒸餾更新的過程包括以下步驟:
4.根據權利要求3所述的一種基于剪枝和知識蒸餾組合的detr目標檢測模型壓縮方法,其特征在于,用于分離前景的二進制掩碼表示為:
5.根據權利要求3所述的一種基于剪枝和知識蒸餾組合的detr目標檢測模型壓縮方法,其特征在于,用于分離背景的縮放掩碼表示為:<...
【專利技術屬性】
技術研發人員:李思默,寧琪琳,楊光,
申請(專利權)人:重慶國資大數據智能科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。