System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及知識蒸餾,特別涉及一種基于動態采樣提示的兩階段知識蒸餾方法。
技術介紹
1、大型視覺模型作為生成式人工智能的一種新范式,為視覺基礎模型開辟了新紀元,其中sam(segment?anything?model)模型憑借在超大規模數據集上的預訓練基礎,結合跨模態提示學習,與下游任務緊密相連,展現出強大的魯棒性和泛化能力。然而,這類大模型通常需耗費大量計算資源,難以適用于資源受限的邊緣環境。知識蒸餾是一種模型壓縮技術,旨在將復雜預訓練大模型(即教師模型)的知識和表征能力遷移到體量更小且高效的模型(即學生模型)中。早期的知識蒸餾方法主要應用于分類任務,但隨著技術的發展,這一方法逐漸被擴展至目標檢測和語義分割等密集預測任務。在針對sam大模型的知識蒸餾研究中,已有的方法通常專注于將sam圖像編碼器的知識提取到輕量級學生模型中,從而實現推理速度的顯著提升。然而,這類研究方法存在一定的局限性,由于僅關注圖像編碼器的蒸餾,忽略了編碼器與掩碼解碼器之間的協同優化,導致編碼器提取的特征不能很好地與掩碼解碼器相對齊,從而引發性能下降。
技術實現思路
1、為解決現有技術中的上述問題,本專利技術要提出一種在輕量化sam大模型的同時保留其優秀的泛化性能的基于動態采樣提示的兩階段知識蒸餾方法。
2、本專利技術的基本思路是:首先,本專利技術針對sam大模型中重量級的基于vit(visiontransformer)的圖像編碼器,采用知識蒸餾技術,將其復雜的特征提取能力遷移至輕量級圖像編碼器。
3、為了實現上述目的,本專利技術的技術方案如下:一種基于動態采樣提示的兩階段知識蒸餾方法,包含如下步驟:
4、a、圖像編碼器蒸餾
5、首先,引入一個輕量級主干網絡替換sam中的圖像編碼器,將sam中的vit-h模型替換為tinyvit模型,構建用于編碼器知識蒸餾的學生模型。在蒸餾過程中,原始的vit-h模型作為教師模型,指導tinyvit模型學習教師模型的知識表征,同時將tinyvit模型最后一次下采樣操作移除,并使用投影層對齊通道維度。具體的編碼器蒸餾損失如下:
6、lemb=le(tenc(i),senc(i))
7、其中,i表示輸入圖像,tenc和senc分別表示教師模型和學生模型的圖像編碼器。le為損失函數,這里使用均方誤差損失。lemb為編碼器蒸餾損失函數。在教師模型的前向傳播過程中,提前對教師模型的數據增強操作的結果與相應的教師模型推理的結果進行存儲,并在訓練過程中加載這些數據,以復制教師模型前向傳播的過程。
8、b、解碼器蒸餾
9、將步驟a中蒸餾得到的輕量級圖像編碼器與sam模型的掩碼解碼器直接組合,構建出用于解碼器知識蒸餾的學生模型。在這一過程中對sam解碼器的網絡結構保持完全不變。在模型訓練階段,不采用傳統的樣本標簽作為監督信號,而是利用sam模型輸出的掩碼作為真值,指導解碼器知識蒸餾的學生模型生成掩碼輸出,具體的解碼器蒸餾損失如下:
10、lmask=ld(tdec(tenc(i),q),sdec(sec(i),q))
11、其中,tdec和sdec分別表示教師模型和學生模型的掩碼解碼器,tenc(i)和senc(i)表示教師模型和學生模型的圖像嵌入。q表示掩碼解碼器的query,包括提示信息嵌入與輸出token。ld為dice損失與二值交叉熵損失的組合。lmask為解碼器蒸餾損失函數。
12、在驅動解碼器輸出預測掩碼的點提示選擇過程中,利用一種動態采樣提示策略選擇提示點。具體步驟如下:首先,從教師模型預測的掩碼中采樣初始提示點,并將這些初始提示點輸入學生模型以生成輸出掩碼。接著,計算教師掩碼與學生掩碼之間的差異區域,并在這些區域中采樣新的提示點。針對學生掩碼的過分割區域,采樣負提示點;針對欠分割區域,采樣正提示點,以引導學生模型輸出更接近真值的掩碼。隨后,將新采樣的提示點加入已有提示點集合中,并對每個訓練樣本的提示點集合進行動態更新。對于學生模型中的每個原始訓練樣本,利用更新后的提示點集合重新進行推理,并計算學生模型輸出掩碼與教師模型掩碼之間的解碼器蒸餾損失。同一訓練樣本的提示點更新和重新推理次數由預設的迭代次數閾值控制。通過這一交互式的迭代優化過程,不斷更新提示點集合和改進學生模型的推理結果。
13、進一步地,所述圖像編碼器蒸餾使用sam原始訓練數據集sa-1b的0.9%-1.2%子集進行訓練,sa-1b數據集是由臉書母公司metaai實驗室發布的大規模分割數據集;所述解碼器蒸餾使用與圖像編碼器蒸餾相同的圖像數據,將圖像編碼器蒸餾得到的圖像編碼器與sam的掩碼解碼器組合,并通過sam的權重對解碼器進行初始化,采用動態采樣提示策略選取提示點。
14、與現有技術相比,本專利技術具有以下有益效果:
15、1、本專利技術基于兩階段知識蒸餾的設計,實現了大模型的壓縮與輕量化,對sam圖像編碼器和解碼器進行同步蒸餾,實現編碼器提取特征與掩碼解碼器的高效對齊,在保留模型優異泛化能力的同時,有效降低計算成本。
16、2、本專利技術在解碼器知識蒸餾中設計了動態采樣提示策略,用于高效選擇提示點,從而優化模型學習過程。該策略特別關注分割結果中不正確的區域,以引導學生模型更接近真值。通過動態更新提示點集合,逐步強化學生模型對教師模型的知識學習,有效減少蒸餾過程中可能導致的性能損失。
本文檔來自技高網...【技術保護點】
1.一種基于動態采樣提示的兩階段知識蒸餾方法,其特征在于:包含如下步驟:
2.根據權利要求1所述一種基于動態采樣提示的兩階段知識蒸餾方法,其特征在于:所述圖像編碼器蒸餾使用SAM原始訓練數據集SA-1B的0.9%-1.2%子集進行訓練,SA-1B數據集是由臉書母公司MetaAI實驗室發布的大規模分割數據集;所述解碼器蒸餾使用與圖像編碼器蒸餾相同的圖像數據,將圖像編碼器蒸餾得到的圖像編碼器與SAM的掩碼解碼器組合,并通過SAM的權重對解碼器進行初始化,采用動態采樣提示策略選取提示點。
【技術特征摘要】
1.一種基于動態采樣提示的兩階段知識蒸餾方法,其特征在于:包含如下步驟:
2.根據權利要求1所述一種基于動態采樣提示的兩階段知識蒸餾方法,其特征在于:所述圖像編碼器蒸餾使用sam原始訓練數據集sa-1b的0.9%-1.2%子集進行訓練,s...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。