模型引數作知識通用載體,MergeNet離真正的異構知識遷移更進一步

机器之心發表於2025-01-28

AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com。

如今,像各種智慧物聯網(IoT)裝置這樣的邊緣計算裝置無處不在。然而,這些裝置通常受限於有限的計算資源和儲存容量,導致在這些裝置上部署深度神經網路(DNNs)時,往往需要使用較小的神經網路架構。雖然這些小型網路在計算上更為經濟,但往往會犧牲一定的效能。

為了緩解這一限制,知識轉移是解決方案之一。現有的知識轉移方法主要有兩種:知識蒸餾遷移學習

知識蒸餾透過訓練一個緊湊的學生模型來模仿教師模型的 Logits 或 Feature Map,提高學生模型的準確性。遷移學習則通常透過預訓練和微調,將預訓練階段在大規模資料集上學到的知識透過骨幹網路共享應用於下游任務。

這兩種傳統的知識遷移方法,往往依賴於模型結構或特定任務特徵 / 標籤的共享元素。這種方法雖然在某些情況下效果不錯,但它們一定程度上限制了知識遷移的應用範圍,尤其是在更一般的情況下,模型架構,任務型別可能都不同,這些方法就顯得力不從心了。

想象一下,在物聯網(IoT)的應用場景中,不同的裝置可能面臨著截然不同的計算資源和任務需求,所執行的任務和部署的模型也是千差萬別,這就給進行知識遷移帶來了額外的挑戰。

基於以上問題,來自來自浙江大學和上海交通大學的研究團隊提出了一種更加靈活、更加通用的知識遷移方法,來應對多變的需求和挑戰。這需要做到能跨越模型架構的差異,跨越任務型別的界限,甚至跨越不同資料模態之間的鴻溝,實現真正意義上的異構知識遷移。

圖片

  • 論文標題:MergeNet: Knowledge Migration across Heterogeneous Models, Tasks, and Modalities
  • 論文連結:https://arxiv.org/abs/2404.13322
  • 專案地址:https://github.com/Fantasylii/mergenet

圖片圖 1. 知識蒸餾、骨幹共享和 MergeNet 的比較

研究挑戰

該團隊的目標是建立一個跨異構模型架構、任務與模態的通用知識遷移框架。與傳統知識遷移方法相比,存在兩方面挑戰:

如何實現異構模型知識的統一表示?

知識蒸餾通常利用 Logits 和 Feature Map 表示知識,但依賴於教師模型與學生模型執行任務型別。

遷移學習通常透過共享引數實現知識遷移,這要求源模型與目標模型具有相同架構,無法直接應用於模型架構可能不同的異構知識遷移場景。

如何實現異構模型知識的適配?

異構模組之間知識通常不相容,當異構模組具有顯著不同的功能時,例如線上性層和注意力機制模組之間,直接知識遷移可能會破壞原始模組的知識。

在端雲環境中,雲端通常採用複雜的深度學習模型,這些模型包含大量引數和複雜層次結構。相比之下,端側裝置由於計算能力和儲存資源的限制,通常使用輕量化的模型。

較大的模型比較小的模型包含更高階的知識(例如細粒度的特徵組合),而後者可能無法直接理解這些知識,使得傳統的知識遷移方法面臨適配性和相容性的問題。

MergeNet 框架

圖片

圖 2.MergeNet 框架

異構模型知識表示

如上文所述,無法直接使用 Logits 和 Feature Map 作為知識表示。相比之下,權重共享更能符合研究目標,不管什麼架構的模型,執行什麼任務,透過反向傳播迭代,最終的知識都會儲存在模型引數中,這啟發了該團隊將模型引數作為知識的通用載體。

在探索的過程中,該團隊還嘗試了在異構模型之間直接進行引數共享。這種方法能應用於權重矩陣大小相同的情況,但是在其他情況下便不再有效。

他們也嘗試過讓大小不同的引數強行共享,例如,讓一個大小為 [2, 2] 的矩陣作為大小為 [5, 5] 矩陣的子矩陣,但這種強行的操作並不有效,異構的知識需要進行適配。

另外一點,由於權重矩陣通常較大,直接在兩個權重矩陣上進行操作所需要的計算資源過大,需要在適配之前進行一定的處理。為此,研究團隊對模型引數進行重新編碼,以低秩矩陣作為對異構知識的統一表示,消除了模型架構上的差異。

異構知識適配

簡單的引數共享會導致異構模型之間的知識不相容,該團隊的思路是在模型之間引入一個引數介面卡。它的任務是學習彌合異構模型引數空間的差距,促進這些引數空間內知識的直接互動,提取並融合異構模型間的知識:

圖片

其中,圖片圖片表示知識遷移後兩個模型的引數。為了綜合利用兩模型的知識,在此引入低秩引數知識介面卡(LPKA)。該機制用於從低秩矩陣中提取知識,併合並來自不同模型的知識以生成新的引數

將低秩分解獲得的 圖片圖片 按行 / 列展平,利用注意力機制將源模型的知識整合到目標模型中:

圖片

這個過程可以類比為模型根據自身的需求,從另一個模型中提取當前最有價值的知識片段,而不是全盤接收。這允許動態調整引數對映,在整個訓練過程中都能有效地適應不斷變化的知識需求。

就像在小學階段,我們學習的是加減乘除,而在大學,則會學習微積分;如果反之,在小學便一起學習微積分,不僅難以理解,而且也沒有必要。

訓練過程 (自學習和互學習)

回顧知識蒸餾的過程,學生模型除了根據教師的輸出標籤或中間層的表示計算損失,還會根據自身輸出與資料標籤計算損失。這好像是說,在學習的過程中,不能僅僅的去模仿老師,還要根據已經從老師那裡學到的知識來產生自己的思考。

在這裡,研究團隊將學生從老師那裡得到知識的過程稱為互學習(在 MergeNet 中學習是可以相互的,學生可以變成老師,老師也可以變成學生),而學生根據知識自己學習的過程稱為自學習。

基於此,他們將 MergeNet 的訓練過程分為自學習和互學習兩個階段。自學習階段,模型透過梯度下降演算法最佳化自身引數;而互學習階段,則涉及到模型間的知識遷移。

該團隊認為,僅依賴知識遷移無法達到最佳效果,因此提出了在知識遷移過程中穿插自學習,類似於在教師指導下的自我鞏固階段。這種設計使得模型在吸收外來知識的同時,也能夠鞏固和最佳化自身的知識結構。

實驗結果

研究團隊在跨結構、跨模式和跨任務知識遷移這幾個具有挑戰性的場景中,對 MergeNet 進行了廣泛的實驗。

跨結構知識轉移實驗

使用 CIFAR-100 資料集,在 ResNet50 和 MobileNetV2 之間進行知識遷移。從一個模型的模組向結構不同的另一個模型的模組轉移知識,具體是從線性分類器向卷積層轉移知識。

如表 1 所示,相比於知識蒸餾,MergeNet 在 MobileNetV2 上實現了 1.02% 的 Top-1 準確率提升。

圖片

跨模態知識轉移實驗

在 VQA v2.0 視覺問答任務和 MSCOCO 影像 - 文字檢索任務上進行實驗,實驗模型為 X-VLM。利用一種模態的知識指導另一種模態的學習,具體是視覺編碼器引數與文字編碼器引數之間的知識轉移。

如表 2 所示,MergeNet 在不同設定下均顯著提升了準確率。表明在模態資訊進入模態互動器之前進行模態編碼器之間的知識轉移,有助於互動器更輕鬆地整合來自不同模態的資訊。

圖片

跨任務知識轉移實驗

研究分類任務(IMDb 情感分類)和問答任務(SQuAD v2.0)上的跨任務知識轉移效果。分別使用 BERT 和 DistilBERT 執行這兩個任務。

如表 3 所示,MergeNet 在兩個任務上均實現了效能提升。例如,從分類任務向問答任務轉移知識,使 Exact Match(EM)得分提高了 1.72%,F1 得分提高了 2.37%;從問答任務向分類任務轉移知識,使錯誤率降低了 0.52%。

圖片

消融實驗

  • 訓練過程中自學習的比例的影響

該團隊研究了控制訓練過程中自學習比例的知識轉移週期的影響。下圖展示了在不同 Tcycle 係數下,MobileNetV2 和 ResNet50 在 CIFAR-100 資料集上的知識轉移結果。觀察到在訓練過程中加入自學習可以提升效能。

例如,當 Tcycle 設定為 4 時,MobileNetV2 的效能達到了 66.51%,比沒有自學習時的 60.09% 提高了 6.42%。

圖片圖 3. 訓練過程中自學習的比例的消融實驗

  • 各元件的有效性

如下表所示,透過消融研究驗證了 MergeNet 中每個元件的有效性。可以使用 MLP 作為引數介面卡,但這種情況下目標模型會直接採用源模型的知識,而忽略自身積累的知識,可能導致訓練不穩定。與 MLP-based 引數介面卡相比,MergeNet 的效能分別提高了 1.82% 和 1.31%。

圖片

更多研究細節,請參閱論文原文。

相關文章