AIxiv專欄是機器之心發(fā)布學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報道了2000多篇內容,覆蓋全球各大高校與企業(yè)的頂級實驗室,有效促進了學術交流與傳播。如果您有優(yōu)秀的工作想要分享,歡迎投稿或者聯系報道。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
如今,像各種智能物聯網(IoT)設備這樣的邊緣計算設備無處不在。然而,這些設備通常受限于有限的計算資源和存儲容量,導致在這些設備上部署深度神經網絡(DNNs)時,往往需要使用較小的神經網絡架構。雖然這些小型網絡在計算上更為經濟,但往往會犧牲一定的性能。
為了緩解這一限制,知識轉移是解決方案之一?,F有的知識轉移方法主要有兩種:知識蒸餾和遷移學習。
知識蒸餾通過訓練一個緊湊的學生模型來模仿教師模型的 Logits 或 Feature Map,提高學生模型的準確性。遷移學習則通常通過預訓練和微調,將預訓練階段在大規(guī)模數據集上學到的知識通過骨干網絡共享應用于下游任務。
這兩種傳統(tǒng)的知識遷移方法,往往依賴于模型結構或特定任務特征 / 標簽的共享元素。這種方法雖然在某些情況下效果不錯,但它們一定程度上限制了知識遷移的應用范圍,尤其是在更一般的情況下,模型架構,任務類型可能都不同,這些方法就顯得力不從心了。
想象一下,在物聯網(IoT)的應用場景中,不同的設備可能面臨著截然不同的計算資源和任務需求,所執(zhí)行的任務和部署的模型也是千差萬別,這就給進行知識遷移帶來了額外的挑戰(zhàn)。
基于以上問題,來自來自浙江大學和上海交通大學的研究團隊提出了一種更加靈活、更加通用的知識遷移方法,來應對多變的需求和挑戰(zhàn)。這需要做到能跨越模型架構的差異,跨越任務類型的界限,甚至跨越不同數據模態(tài)之間的鴻溝,實現真正意義上的異構知識遷移。
- 論文標題:MergeNet: Knowledge Migration across Heterogeneous Models, Tasks, and Modalities
- 論文鏈接:https://arxiv.org/abs/2404.13322
- 項目地址:https://github.com/Fantasylii/mergenet
圖 1. 知識蒸餾、骨干共享和 MergeNet 的比較
研究挑戰(zhàn)
該團隊的目標是建立一個跨異構模型架構、任務與模態(tài)的通用知識遷移框架。與傳統(tǒng)知識遷移方法相比,存在兩方面挑戰(zhàn):
如何實現異構模型知識的統(tǒng)一表示?
知識蒸餾通常利用 Logits 和 Feature Map 表示知識,但依賴于教師模型與學生模型執(zhí)行任務類型。
遷移學習通常通過共享參數實現知識遷移,這要求源模型與目標模型具有相同架構,無法直接應用于模型架構可能不同的異構知識遷移場景。
如何實現異構模型知識的適配?
異構模塊之間知識通常不兼容,當異構模塊具有顯著不同的功能時,例如在線性層和注意力機制模塊之間,直接知識遷移可能會破壞原始模塊的知識。
在端云環(huán)境中,云端通常采用復雜的深度學習模型,這些模型包含大量參數和復雜層次結構。相比之下,端側設備由于計算能力和存儲資源的限制,通常使用輕量化的模型。
較大的模型比較小的模型包含更高級的知識(例如細粒度的特征組合),而后者可能無法直接理解這些知識,使得傳統(tǒng)的知識遷移方法面臨適配性和兼容性的問題。
MergeNet 框架
圖 2.MergeNet 框架
異構模型知識表示
如上文所述,無法直接使用 Logits 和 Feature Map 作為知識表示。相比之下,權重共享更能符合研究目標,不管什么架構的模型,執(zhí)行什么任務,通過反向傳播迭代,最終的知識都會保存在模型參數中,這啟發(fā)了該團隊將模型參數作為知識的通用載體。
在探索的過程中,該團隊還嘗試了在異構模型之間直接進行參數共享。這種方法能應用于權重矩陣大小相同的情況,但是在其他情況下便不再有效。
他們也嘗試過讓大小不同的參數強行共享,例如,讓一個大小為 [2, 2] 的矩陣作為大小為 [5, 5] 矩陣的子矩陣,但這種強行的操作并不有效,異構的知識需要進行適配。
另外一點,由于權重矩陣通常較大,直接在兩個權重矩陣上進行操作所需要的計算資源過大,需要在適配之前進行一定的處理。為此,研究團隊對模型參數進行重新編碼,以低秩矩陣作為對異構知識的統(tǒng)一表示,消除了模型架構上的差異。
異構知識適配
簡單的參數共享會導致異構模型之間的知識不兼容,該團隊的思路是在模型之間引入一個參數適配器。它的任務是學習彌合異構模型參數空間的差距,促進這些參數空間內知識的直接交互,提取并融合異構模型間的知識:
其中,和表示知識遷移后兩個模型的參數。為了綜合利用兩模型的知識,在此引入低秩參數知識適配器(LPKA)。該機制用于從低秩矩陣中提取知識,并合并來自不同模型的知識以生成新的參數。
將低秩分解獲得的 和 按行 / 列展平,利用注意力機制將源模型的知識整合到目標模型中:
這個過程可以類比為模型根據自身的需求,從另一個模型中提取當前最有價值的知識片段,而不是全盤接收。這允許動態(tài)調整參數映射,在整個訓練過程中都能有效地適應不斷變化的知識需求。
就像在小學階段,我們學習的是加減乘除,而在大學,則會學習微積分;如果反之,在小學便一起學習微積分,不僅難以理解,而且也沒有必要。
訓練過程 (自學習和互學習)
回顧知識蒸餾的過程,學生模型除了根據教師的輸出標簽或中間層的表示計算損失,還會根據自身輸出與數據標簽計算損失。這好像是說,在學習的過程中,不能僅僅的去模仿老師,還要根據已經從老師那里學到的知識來產生自己的思考。
在這里,研究團隊將學生從老師那里得到知識的過程稱為互學習(在 MergeNet 中學習是可以相互的,學生可以變成老師,老師也可以變成學生),而學生根據知識自己學習的過程稱為自學習。
基于此,他們將 MergeNet 的訓練過程分為自學習和互學習兩個階段。自學習階段,模型通過梯度下降算法優(yōu)化自身參數;而互學習階段,則涉及到模型間的知識遷移。
該團隊認為,僅依賴知識遷移無法達到最佳效果,因此提出了在知識遷移過程中穿插自學習,類似于在教師指導下的自我鞏固階段。這種設計使得模型在吸收外來知識的同時,也能夠鞏固和優(yōu)化自身的知識結構。
實驗結果
研究團隊在跨結構、跨模式和跨任務知識遷移這幾個具有挑戰(zhàn)性的場景中,對 MergeNet 進行了廣泛的實驗。
跨結構知識轉移實驗
使用 CIFAR-100 數據集,在 ResNet50 和 MobileNetV2 之間進行知識遷移。從一個模型的模塊向結構不同的另一個模型的模塊轉移知識,具體是從線性分類器向卷積層轉移知識。
如表 1 所示,相比于知識蒸餾,MergeNet 在 MobileNetV2 上實現了 1.02% 的 Top-1 準確率提升。
跨模態(tài)知識轉移實驗
在 VQA v2.0 視覺問答任務和 MSCOCO 圖像 - 文本檢索任務上進行實驗,實驗模型為 X-VLM。利用一種模態(tài)的知識指導另一種模態(tài)的學習,具體是視覺編碼器參數與文本編碼器參數之間的知識轉移。
如表 2 所示,MergeNet 在不同設置下均顯著提升了準確率。表明在模態(tài)信息進入模態(tài)交互器之前進行模態(tài)編碼器之間的知識轉移,有助于交互器更輕松地整合來自不同模態(tài)的信息。
跨任務知識轉移實驗
研究分類任務(IMDb 情感分類)和問答任務(SQuAD v2.0)上的跨任務知識轉移效果。分別使用 BERT 和 DistilBERT 執(zhí)行這兩個任務。
如表 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 作為參數適配器,但這種情況下目標模型會直接采用源模型的知識,而忽略自身積累的知識,可能導致訓練不穩(wěn)定。與 MLP-based 參數適配器相比,MergeNet 的性能分別提高了 1.82% 和 1.31%。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.