積木式深度學習的正確玩法!新加坡國立大學發(fā)布全新遷移學習范式DeRy,把知識遷移玩成活字印刷
在距今980年前的北宋仁宗慶歷年間,一場關(guān)于知識的革命在華夏大地正悄然發(fā)生。
這一切的導(dǎo)火索,并非那些身居廟堂的圣賢之言,而是一塊塊燒制規(guī)整的刻字泥坯。
這場革命,正是「活字印刷術(shù)」。
活字印刷的精妙之處在于其中「積木拼裝」的思想:工匠先制成單字的陽文反文字模,再按照稿件把單字挑選出來刷墨拓印,這些字??砂葱枨蠖啻问褂?。
相比于雕版印刷術(shù)「一印一版」的繁瑣工藝,模塊化-按需組裝-多次使用的工作模式幾何倍數(shù)地提高印刷術(shù)的工作效率,也為千年來人類的文明發(fā)展傳承奠定了基礎(chǔ)。
回歸到深度學習領(lǐng)域,在大預(yù)訓練模型風行的今天,如何將一系列大模型的能力遷移到下游特定任務(wù)中已經(jīng)成為一個關(guān)鍵問題。
以往的知識遷移或復(fù)用方法類似「雕版印刷」:我們往往需要按照任務(wù)需求訓練新的完整模型。這些方法往往伴隨著極大地訓練成本,并難以擴展到大量的任務(wù)當中。
于是一個很自然的想法產(chǎn)生了:我們是否可以通過把神經(jīng)網(wǎng)絡(luò),也看作一個個積木的拼裝,并通過對已有網(wǎng)絡(luò)進行重組裝的方式,獲得新的網(wǎng)絡(luò),并以此進行遷移學習呢??
?
在NeurIPS 2022上,來自新加坡國立大學LVlab的團隊就提出了一種全新的遷移學習范式,稱為《Deep Model Reassembly》深度模型重組。
論文鏈接:https://arxiv.org/abs/2210.17409
代碼鏈接:https://github.com/Adamdad/DeRy
項目主頁:https://adamdad.github.io/dery/
OpenReview:https://openreview.net/forum?id=gtCPWaY5bNh
作者首先將已有的預(yù)訓練模型按照功能相似度拆解成一個個子網(wǎng)絡(luò),再通過把子網(wǎng)絡(luò)重新組裝的方式,構(gòu)建在特定任務(wù)上高效且易用的模型。
該論文以886的評分被NeurIPS接收,并被推薦為Paper Award Nomination。
本文中,作者探索了一種新的知識遷移任務(wù),稱為深度模型重組(Deep Model Reassembly, 簡稱DeRy),用于通用模型重用。
給定一組在不同數(shù)據(jù)和異構(gòu)架構(gòu)上訓練得到的預(yù)訓練模型,深度模型重組首先將每個模型拆分為獨立的模型塊,然后有選擇地以在硬件和性能約束下對子模型塊重新組裝。
該方法類似于將深度神經(jīng)網(wǎng)絡(luò)模型當作成積木:將已有大積木拆解成為一個個小積木塊,然后將零件按照需求組裝起來。組裝起來的新模型不但應(yīng)具備更強的性能;且組裝過程應(yīng)盡可能不改變原模塊的結(jié)構(gòu)和參數(shù),保證其的高效性。
把深度模型打散并重組
本文的方法可分為兩部分。DeRy首先求解一個覆蓋集問題(Set Cover Problem)并對所有預(yù)訓練網(wǎng)絡(luò)按照功能級進行拆分;第二步中,DeRy將模型拼裝形式化為一個0-1整數(shù)規(guī)劃問題,保證組裝后模型在特定任務(wù)上性能最佳。
深度模型重組(Deep Model Reassembly)
首先作者對深度模型重組裝的問題進行定義:給定個訓練好的深度模型,稱作一個模型庫。
每一個模型由層鏈接組合而成, 表示為。不同的網(wǎng)絡(luò)可以擁有完全不同的結(jié)構(gòu)和操作,只要保證模型是一層一層連接而成。
給定一個任務(wù),希望找到在上效果最佳的層混合模型,且模型的計算量滿足一定的限制:
在任務(wù)上的性能; 表示第個模型的第層操作;
該問題需要搜索對所有模型層的所有排列,以期最大化收益。從本質(zhì)而言,這一任務(wù)牽涉一個極其復(fù)雜的組合優(yōu)化。
為了簡化搜索成本,本文首先將模型庫模型從深度方向拆分開,形成一些更淺更小的子網(wǎng)絡(luò);然后進行子網(wǎng)絡(luò)層次上的拼接搜索。
按照功能級對網(wǎng)絡(luò)進行拆分
DeRy的第一步在于把深度學習模型像積木一樣拆解開。作者采用了在深度上的網(wǎng)絡(luò)拆分方式,將深層模型拆分為一些較淺的小模型。
文中希望拆開的子模型盡可能擁有不同的功能性。這一過程可以類比于把積木拆解,并分門別類放入玩具箱的過程:相似的積木被放在一起,不同的積木被拆開。
例如,將模型拆分為底層和高層,并期待底層主要負責識別曲線或形狀等局部模式,而高層能判斷樣本的整體語義。
使用一般的特征相似度衡量指標,可以對任意模型的功能四相似度進行量化的度量。
其中的關(guān)鍵思想在于,對于相似的輸入,相同功能的神經(jīng)網(wǎng)絡(luò)能產(chǎn)生相似的輸出。
于是,對于兩個網(wǎng)絡(luò)和和起對應(yīng)的輸入張量X和X',他們的功能相似性被定義為:
于是就可以通過功能相似性將模型庫劃分成為個功能等價集。
在每一個等價集中的子網(wǎng)絡(luò)擁有較高的功能相似度,同時每個模型的劃分保證模型庫的可分性。
這樣進行拆解的一個核心好處在于,由于具有功能相似性,每一個等價集中的子網(wǎng)絡(luò)可以看做近似可交換的,即一個網(wǎng)絡(luò)塊可以被同一等價集的另一子網(wǎng)絡(luò)所替換,而不影響網(wǎng)絡(luò)預(yù)測。
上述拆分問題可以形式化為一個三層的有約束的優(yōu)化問題:
該問題的內(nèi)層優(yōu)化和一般的覆蓋集問題或的圖分割問題有較大的相似性。于是,作者使用一種啟發(fā)式的Kernighan-Lin (KL)算法對內(nèi)層進行優(yōu)化。
其大意在于,對兩個隨機初始化的子模型,每次交換一層操作,如果該交換能增加評估函數(shù)的值,則保留這一交換;否則放棄這一交換。
這里的外層循環(huán)采取了一種K-Means的聚類算法。
對于每一次的網(wǎng)絡(luò)劃分,總是將每一個子網(wǎng)絡(luò)分配到中心距離與其最大的一個功能集。 由于內(nèi)外層循環(huán)都是迭代式切有收斂性保證的,就能通過求解以上問題得到按照功能級的最優(yōu)子網(wǎng)絡(luò)拆分。
基于整數(shù)優(yōu)化的網(wǎng)絡(luò)組裝
網(wǎng)絡(luò)拆分將每個網(wǎng)絡(luò)分成個子網(wǎng)絡(luò),每個子網(wǎng)絡(luò)屬于一個等價集??梢杂纱俗鳛樗阉骺臻g,找到在下游任務(wù)上最優(yōu)的網(wǎng)絡(luò)拼接。
由于子模型的多樣性,這種網(wǎng)絡(luò)組裝是一個搜索空間較大的組合優(yōu)化問題,定義了一定的搜索條件:每次網(wǎng)絡(luò)組合從同一個功能集拿出一個網(wǎng)絡(luò)塊,并按照其在原始網(wǎng)絡(luò)中的位置進行放置;合成的網(wǎng)絡(luò)需滿足計算量的限制。這一過程被描述為一個0-1整數(shù)優(yōu)化問題優(yōu)化。
為了進一步減小每一次計算組合模型性能的訓練開銷,作者借鑒了NAS訓練中一種無需訓練的替代函數(shù),稱為NASWOT。由此,可以只是用網(wǎng)絡(luò)在指定數(shù)據(jù)集上的推理,來近似網(wǎng)絡(luò)的真實性能。
通過上述的拆分-重組過程,就能將不同的預(yù)訓練模型拼接融合起來,以得到全新且更強的模型。
實驗結(jié)果
模型重組適用于遷移學習
作者將一個包涵30個不同預(yù)訓練網(wǎng)絡(luò)的模型庫盡心拆解重組,并在ImageNet和其他9個下游分類任務(wù)上進行性能評估。
實驗中采用了兩種不同的訓練方式:Full-Tuning,表示對拼接之后的模型所有參數(shù)都進行訓練;Freeze-Tuning,表示只對拼接后的連接層進行訓練。
此外,還選擇了五種尺度的模型并進行比較,稱為DeRy(, ,)。
可以再上圖看到,在ImageNet數(shù)據(jù)集上,DeRy得到的不同尺度的模型都可以優(yōu)于或持平模型庫中大小相當?shù)哪P汀?/span>
可以發(fā)現(xiàn),即便只訓練鏈接部分的參數(shù),模型仍然可以獲得較強的性能增益。例如DeRy(4,90,20)的模型在只訓練1.27M參數(shù)的條件下達到了78.6%的Top1準確率。
同時在9個遷移學習的實驗也驗證了DeRy的有效性??梢钥吹皆跊]有預(yù)訓練的情況下,DeRy的模型在各個模型大小的比較中都能優(yōu)于其他模型;通過對重新組裝的模型進行持續(xù)預(yù)訓練,模型性能還能夠有較大幅度的提升,達到紅色的曲線。
相比于其他的一些從模型庫做遷移學習的方法例如LEEP或LogME,DeRy可以超越模型庫本身的性能限制,甚至優(yōu)于原本模型庫中的最佳模型。
模型重組的性質(zhì)探究
作者也很好奇本文提出的模型重組的性質(zhì),例如「模型會按照什么樣的模式進行拆分?」和「模型會按照何種規(guī)則進行重組?」。對此作者提供了實驗進行分析。
功能相似性,重組位置與重組性能?
作者探究了將同一個網(wǎng)絡(luò)塊被其他擁有不同功能相似度的網(wǎng)絡(luò)塊進行替換后,Freeze-Tuning 20個epoch的的性能對比。?
對在ImageNet上訓練后的ResNet50, 將其第3和第4個stage的網(wǎng)絡(luò)塊, 與ResNet101, ResNeXt50和RegNetY8G的不同網(wǎng)絡(luò)塊進行替換。
可以觀察到,替換的位置對性能有極大的影響。
比如將第3個stage換成其他網(wǎng)絡(luò)的第3個stage,重組網(wǎng)絡(luò)的性能會特別強。同時,功能相似性也是和重組性能正向匹配的。
在同一深度的網(wǎng)絡(luò)模型塊有較大的相似度,導(dǎo)致了訓練后有較強的模型能力。這指向了相似性-重組位置-重組性能三者的依存和正向關(guān)系。
拆分結(jié)果的觀察
下圖中,作者畫出了第一步拆分的結(jié)果。顏色代表網(wǎng)絡(luò)塊和美歌等價集中心網(wǎng)絡(luò)塊的相似性。
可以看到,本文提出的劃分傾向于將子網(wǎng)絡(luò)按照深度聚類在一起并加以拆分。同時CNN和Transformer的功能相似性數(shù)據(jù)較小,但CNN與不同架構(gòu)CNN之間功能相似性通常較大。
使用NASWOT作為性能指標
由于本文第一次應(yīng)用NASWOT來進行零訓練遷移性預(yù)測,作者也對這一指標的可靠性進行了檢驗。
在下圖中,作者計算不同模型愛不同數(shù)據(jù)集上NASWOT的分數(shù)數(shù)值,并與遷移學習的準確的準確率加一對比。
可以觀察到,NASWOT分數(shù)得到了較準確的性能排序(Kendall's Tau相關(guān)性)。這表明本文使用的零訓練指標能有效預(yù)測模型的在下游數(shù)據(jù)的性能。
總結(jié)
本文提出了一種新的知識遷移任務(wù),稱為深度模型重組 (Deep Model Reassembly, 簡稱DeRy)。他通過打散已有異質(zhì)預(yù)訓練模型并重新組裝的方式,來構(gòu)造與下游任務(wù)適配的模型。
作者提出了一個簡單的兩階段實現(xiàn)方式來完成這一任務(wù)。首先,DeRy求解一個覆蓋集問題并對所有預(yù)訓練網(wǎng)絡(luò)按照功能級進行拆分;第二步中,DeRy將模型拼裝形式化為一個0-1整數(shù)規(guī)劃問題,保證組裝后模型在特定任務(wù)上性能最佳。
該工作不但收獲了較強的性能提升,同時也映射出了不同神經(jīng)網(wǎng)絡(luò)之間可能存在的連接性。