
AIxiv專欄是機器之心發(fā)布學術(shù)、技術(shù)內(nèi)容的欄目。過去數(shù)年,機器之心AIxiv專欄接收報道了2000多篇內(nèi)容,覆蓋全球各大高校與企業(yè)的頂級實驗室,有效促進了學術(shù)交流與傳播。如果您有優(yōu)秀的工作想要分享,歡迎投稿或者聯(lián)系報道。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
如今,像各種智能物聯(lián)網(wǎng)(IoT)設(shè)備這樣的邊緣計算設(shè)備無處不在。然而,這些設(shè)備通常受限于有限的計算資源和存儲容量,導致在這些設(shè)備上部署深度神經(jīng)網(wǎng)絡(luò)(DNNs)時,往往需要使用較小的神經(jīng)網(wǎng)絡(luò)架構(gòu)。雖然這些小型網(wǎng)絡(luò)在計算上更為經(jīng)濟,但往往會犧牲一定的性能。
為了緩解這一限制,知識轉(zhuǎn)移是解決方案之一?,F(xiàn)有的知識轉(zhuǎn)移方法主要有兩種:知識蒸餾和遷移學習。
知識蒸餾通過訓練一個緊湊的學生模型來模仿教師模型的 Logits 或 Feature Map,提高學生模型的準確性。遷移學習則通常通過預訓練和微調(diào),將預訓練階段在大規(guī)模數(shù)據(jù)集上學到的知識通過骨干網(wǎng)絡(luò)共享應(yīng)用于下游任務(wù)。
這兩種傳統(tǒng)的知識遷移方法,往往依賴于模型結(jié)構(gòu)或特定任務(wù)特征 / 標簽的共享元素。這種方法雖然在某些情況下效果不錯,但它們一定程度上限制了知識遷移的應(yīng)用范圍,尤其是在更一般的情況下,模型架構(gòu),任務(wù)類型可能都不同,這些方法就顯得力不從心了。
想象一下,在物聯(lián)網(wǎng)(IoT)的應(yīng)用場景中,不同的設(shè)備可能面臨著截然不同的計算資源和任務(wù)需求,所執(zhí)行的任務(wù)和部署的模型也是千差萬別,這就給進行知識遷移帶來了額外的挑戰(zhàn)。
基于以上問題,來自來自浙江大學和上海交通大學的研究團隊提出了一種更加靈活、更加通用的知識遷移方法,來應(yīng)對多變的需求和挑戰(zhàn)。這需要做到能跨越模型架構(gòu)的差異,跨越任務(wù)類型的界限,甚至跨越不同數(shù)據(jù)模態(tài)之間的鴻溝,實現(xiàn)真正意義上的異構(gòu)知識遷移。

- 論文標題:MergeNet: Knowledge Migration across Heterogeneous Models, Tasks, and Modalities
- 論文鏈接:https://arxiv.org/abs/2404.13322
- 項目地址:https://github.com/Fantasylii/mergenet
圖 1. 知識蒸餾、骨干共享和 MergeNet 的比較

研究挑戰(zhàn)
該團隊的目標是建立一個跨異構(gòu)模型架構(gòu)、任務(wù)與模態(tài)的通用知識遷移框架。與傳統(tǒng)知識遷移方法相比,存在兩方面挑戰(zhàn):
如何實現(xiàn)異構(gòu)模型知識的統(tǒng)一表示?
知識蒸餾通常利用 Logits 和 Feature Map 表示知識,但依賴于教師模型與學生模型執(zhí)行任務(wù)類型。
遷移學習通常通過共享參數(shù)實現(xiàn)知識遷移,這要求源模型與目標模型具有相同架構(gòu),無法直接應(yīng)用于模型架構(gòu)可能不同的異構(gòu)知識遷移場景。
如何實現(xiàn)異構(gòu)模型知識的適配?
異構(gòu)模塊之間知識通常不兼容,當異構(gòu)模塊具有顯著不同的功能時,例如在線性層和注意力機制模塊之間,直接知識遷移可能會破壞原始模塊的知識。
在端云環(huán)境中,云端通常采用復雜的深度學習模型,這些模型包含大量參數(shù)和復雜層次結(jié)構(gòu)。相比之下,端側(cè)設(shè)備由于計算能力和存儲資源的限制,通常使用輕量化的模型。
較大的模型比較小的模型包含更高級的知識(例如細粒度的特征組合),而后者可能無法直接理解這些知識,使得傳統(tǒng)的知識遷移方法面臨適配性和兼容性的問題。
MergeNet 框架

圖 2.MergeNet 框架
異構(gòu)模型知識表示
如上文所述,無法直接使用 Logits 和 Feature Map 作為知識表示。相比之下,權(quán)重共享更能符合研究目標,不管什么架構(gòu)的模型,執(zhí)行什么任務(wù),通過反向傳播迭代,最終的知識都會保存在模型參數(shù)中,這啟發(fā)了該團隊將模型參數(shù)作為知識的通用載體。
在探索的過程中,該團隊還嘗試了在異構(gòu)模型之間直接進行參數(shù)共享。這種方法能應(yīng)用于權(quán)重矩陣大小相同的情況,但是在其他情況下便不再有效。
他們也嘗試過讓大小不同的參數(shù)強行共享,例如,讓一個大小為 [2, 2] 的矩陣作為大小為 [5, 5] 矩陣的子矩陣,但這種強行的操作并不有效,異構(gòu)的知識需要進行適配。
另外一點,由于權(quán)重矩陣通常較大,直接在兩個權(quán)重矩陣上進行操作所需要的計算資源過大,需要在適配之前進行一定的處理。為此,研究團隊對模型參數(shù)進行重新編碼,以低秩矩陣作為對異構(gòu)知識的統(tǒng)一表示,消除了模型架構(gòu)上的差異。
異構(gòu)知識適配
簡單的參數(shù)共享會導致異構(gòu)模型之間的知識不兼容,該團隊的思路是在模型之間引入一個參數(shù)適配器。它的任務(wù)是學習彌合異構(gòu)模型參數(shù)空間的差距,促進這些參數(shù)空間內(nèi)知識的直接交互,提取并融合異構(gòu)模型間的知識:

其中,和表示知識遷移后兩個模型的參數(shù)。為了綜合利用兩模型的知識,在此引入低秩參數(shù)知識適配器(LPKA)。該機制用于從低秩矩陣中提取知識,并合并來自不同模型的知識以生成新的參數(shù)。


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



這個過程可以類比為模型根據(jù)自身的需求,從另一個模型中提取當前最有價值的知識片段,而不是全盤接收。這允許動態(tài)調(diào)整參數(shù)映射,在整個訓練過程中都能有效地適應(yīng)不斷變化的知識需求。
就像在小學階段,我們學習的是加減乘除,而在大學,則會學習微積分;如果反之,在小學便一起學習微積分,不僅難以理解,而且也沒有必要。
訓練過程 (自學習和互學習)
回顧知識蒸餾的過程,學生模型除了根據(jù)教師的輸出標簽或中間層的表示計算損失,還會根據(jù)自身輸出與數(shù)據(jù)標簽計算損失。這好像是說,在學習的過程中,不能僅僅的去模仿老師,還要根據(jù)已經(jīng)從老師那里學到的知識來產(chǎn)生自己的思考。
在這里,研究團隊將學生從老師那里得到知識的過程稱為互學習(在 MergeNet 中學習是可以相互的,學生可以變成老師,老師也可以變成學生),而學生根據(jù)知識自己學習的過程稱為自學習。
基于此,他們將 MergeNet 的訓練過程分為自學習和互學習兩個階段。自學習階段,模型通過梯度下降算法優(yōu)化自身參數(shù);而互學習階段,則涉及到模型間的知識遷移。
該團隊認為,僅依賴知識遷移無法達到最佳效果,因此提出了在知識遷移過程中穿插自學習,類似于在教師指導下的自我鞏固階段。這種設(shè)計使得模型在吸收外來知識的同時,也能夠鞏固和優(yōu)化自身的知識結(jié)構(gòu)。
實驗結(jié)果
研究團隊在跨結(jié)構(gòu)、跨模式和跨任務(wù)知識遷移這幾個具有挑戰(zhàn)性的場景中,對 MergeNet 進行了廣泛的實驗。
跨結(jié)構(gòu)知識轉(zhuǎn)移實驗
使用 CIFAR-100 數(shù)據(jù)集,在 ResNet50 和 MobileNetV2 之間進行知識遷移。從一個模型的模塊向結(jié)構(gòu)不同的另一個模型的模塊轉(zhuǎn)移知識,具體是從線性分類器向卷積層轉(zhuǎn)移知識。
如表 1 所示,相比于知識蒸餾,MergeNet 在 MobileNetV2 上實現(xiàn)了 1.02% 的 Top-1 準確率提升。

跨模態(tài)知識轉(zhuǎn)移實驗
在 VQA v2.0 視覺問答任務(wù)和 MSCOCO 圖像 - 文本檢索任務(wù)上進行實驗,實驗?zāi)P蜑?X-VLM。利用一種模態(tài)的知識指導另一種模態(tài)的學習,具體是視覺編碼器參數(shù)與文本編碼器參數(shù)之間的知識轉(zhuǎn)移。
如表 2 所示,MergeNet 在不同設(shè)置下均顯著提升了準確率。表明在模態(tài)信息進入模態(tài)交互器之前進行模態(tài)編碼器之間的知識轉(zhuǎn)移,有助于交互器更輕松地整合來自不同模態(tài)的信息。

跨任務(wù)知識轉(zhuǎn)移實驗
研究分類任務(wù)(IMDb 情感分類)和問答任務(wù)(SQuAD v2.0)上的跨任務(wù)知識轉(zhuǎn)移效果。分別使用 BERT 和 DistilBERT 執(zhí)行這兩個任務(wù)。
如表 3 所示,MergeNet 在兩個任務(wù)上均實現(xiàn)了性能提升。例如,從分類任務(wù)向問答任務(wù)轉(zhuǎn)移知識,使 Exact Match(EM)得分提高了 1.72%,F(xiàn)1 得分提高了 2.37%;從問答任務(wù)向分類任務(wù)轉(zhuǎn)移知識,使錯誤率降低了 0.52%。

消融實驗
- 訓練過程中自學習的比例的影響
該團隊研究了控制訓練過程中自學習比例的知識轉(zhuǎn)移周期的影響。下圖展示了在不同 Tcycle 系數(shù)下,MobileNetV2 和 ResNet50 在 CIFAR-100 數(shù)據(jù)集上的知識轉(zhuǎn)移結(jié)果。觀察到在訓練過程中加入自學習可以提升性能。
例如,當 Tcycle 設(shè)置為 4 時,MobileNetV2 的性能達到了 66.51%,比沒有自學習時的 60.09% 提高了 6.42%。
圖 3. 訓練過程中自學習的比例的消融實驗

- 各組件的有效性
如下表所示,通過消融研究驗證了 MergeNet 中每個組件的有效性。可以使用 MLP 作為參數(shù)適配器,但這種情況下目標模型會直接采用源模型的知識,而忽略自身積累的知識,可能導致訓練不穩(wěn)定。與 MLP-based 參數(shù)適配器相比,MergeNet 的性能分別提高了 1.82% 和 1.31%。

熱門跟貼