首頁  >  文章  >  科技週邊  >  積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

WBOY
WBOY轉載
2023-04-11 20:43:011780瀏覽

在距今980年前的北宋仁宗慶歷年間,一場關於知識的革命在華夏大地正悄悄發生。

這一切的導火線,並非那些身居廟堂的聖賢之言,而是一塊塊燒製規則的刻字泥坯。

這場革命,正是「活字印刷術」

活字印刷的精妙之處在於其中「積木拼裝」的想法:工匠先製成單字的陽文反文字模,再按照稿件把單字挑選出來刷墨拓印,這些字模可依需求多次使用。

相較於雕版印刷術「一印一版」的繁瑣工藝,模組化-按需組裝-多次使用的工作模式幾何倍數地提高印刷術的工作效率,也為千年來人類的文明發展傳承奠定了基礎。

回歸到深度學習領域,在大預訓練模型風行的今天,如何將一系列大模型的能力遷移到下游特定任務中已經成為一個關鍵問題。

過去的知識遷移或重複使用方法類似「雕版印刷」:我們往往需要依照任務需求訓練新的完整模型。這些方法往往伴隨著大幅訓練成本,並難以擴展到大量的任務當中。

於是一個很自然的想法產生了:我們是否可以透過把神經網絡,也看作一個個積木的拼裝,並透過對已有網路進行重組裝的方式,獲得新的網絡,並以此進行遷移學習呢?

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

#在NeurIPS 2022上,來自新加坡國立大學LVlab的團隊就提出了一種全新的遷移學習範式,稱為《Deep Model Reassembly》深度模型重組。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

論文連結:https://arxiv.org/abs/2210.17409

程式碼連結:https://github.com/Adamdad/DeRy

#專案首頁:https://adamdad.github.io/dery/

OpenReview:https://openreview.net/forum?id=gtCPWaY5bNh

作者首先將現有的預訓練模型依照功能相似度拆解成一個個子網絡,再透過把子網絡重新組裝的方式,建構在特定任務上高效且易用的模型。

該論文以886的分數被NeurIPS接收,並被推薦為Paper Award Nomination。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

本文中,作者探討了一種新的知識遷移任務,稱為深度模型重組(Deep Model Reassembly, 簡稱DeRy),用於通用模型重用。

給定一組在不同資料和異質架構上訓練得到的預訓練模型,深度模型重組首先將每個模型拆分為獨立的模型區塊,然後有選擇地以在硬體和性能限制下對子模型塊重新組裝。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

該方法類似於將深度神經網路模型當作積木:將已有大積木拆解成為一個個小積木塊,然後將零件依照需求組裝起來。組裝起來的新模型不但應具備更強的性能;且組裝過程應盡可能不改變原模組的結構和參數,並確保其的高效性。

把深度模型打散並重組

本文的方法可分成兩部分。 DeRy先求解一個覆蓋集問題(Set Cover Problem)並對所有預訓練網絡按照功能級進行拆分;第二步中,DeRy將模型拼裝形式化為一個0-1整數規劃問題,保證組裝後模型在特定任務上性能最佳。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

#深度模型重組(Deep Model Reassembly)

首先作者對深度模型重組裝的問題定義:給定個訓練好的深度模型,稱為一個模型庫。

每一個模型由層連結組合而成, 表示為。不同的網路可以有完全不同的結構和操作,只要保證模型是一層一層連接。

給定一個任務,希望找到在上效果最佳的層混合模型,且模型的計算量滿足一定的限制:

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

在任務上的表現; 表示第個模型的第層操作;

此問題需要搜尋所有模型層的所有排列,以期最大化收益。從本質而言,這項任務牽涉一個極為複雜的組合優化。

為了簡化搜尋成本,本文首先將模型庫模型從深度方向分開,形成一些更淺、更小的子網路;然後進行子網路層次上的拼接搜尋。

依照功能層級對網路進行拆分

DeRy的第一步在於把深度學習模型像積木一樣拆解。作者採用了在深度上的網路分割方式,將深層模型拆分為一些較淺的小模型。

文中希望拆開的子模型盡可能擁有不同的功能性。這個過程可以類比於把積木拆解,並分門別類放入玩具箱的過程:相似的積木被放在一起,不同的積木被拆開。

例如,將模型拆分為底層和高層,並期待底層主要負責識別曲線或形狀等局部模式,而高層能判斷樣本的整體語義。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

使用一般的特徵相似度衡量指標,可以對任意模型的功能四相似度進行量化的度量。

其中的關鍵想法在於,對於相似的輸入,相同功能的神經網路能產生相似的輸出。

於是,對於兩個網路和和起對應的輸入張量X和X',他們的功能相似性被定義為:

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

#

於是就可以透過功能相似性將模型庫分割成為個功能等價集

在每一個等價集中的子網路擁有較高的功能相似度,同時每個模型的劃分保證模型庫的可分性。

這樣進行拆解的一個核心好處在於,由於具有功能相似性,每一個等價集中的子網路可以看做近似可交換的,即一個網路區塊可以被同一等價集的另一子網路所替換,而不影響網路預測。

上述分割問題可以形式化為一個三層的有約束的最佳化問題:

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

此問題的內層最佳化和一般的覆蓋集問題或的圖分割問題有較大的相似性。於是,作者使用一種啟發式的Kernighan-Lin (KL)演算法對內層進行最佳化。

其大意在於,對兩個隨機初始化的子模型,每次交換一層操作,如果該交換能增加評估函數的值,則保留這一交換;否則放棄這一交換。

這裡的外層迴圈採取了一個K-Means的聚類演算法。

對於每一次的網路劃分,總是將每一個子網路分配到中心距離與其最大的一個功能集。 由於內外循環都是迭代式切有收斂性保證的,就能透過求解上述問題得到依照功能級的最優子網路拆分。

基於整數最佳化的網路組裝

#網路分割將每個網路分成個子網絡,每個子網絡屬於一個等價集合。可以以此作為搜尋空間,找到在下游任務上最優的網路拼接。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

由於子模型的多樣性,這種網路組裝是一個搜尋空間較大的組合最佳化問題,定義了一定的搜尋條件:每次網路組合從同一個功能集拿出一個網路塊,並依照其在原始網路中的位置進行放置;合成的網路需滿足計算量的限制。這一過程被描述為一個0-1整數最佳化問題優化。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

為了進一步減小每一次計算組合模型效能的訓練開銷,作者藉鑒了NAS訓練中一種無需訓練的替代函數,稱為NASWOT。由此,可以只是用網路在指定資料集上的推理,來近似網路的真實效能。

透過上述的拆分-重組流程,就能將不同的預訓練模型拼接融合起來,以獲得全新且更強的模型。

實驗結果

模型重組適用於遷移學習

作者將一個包涵30個不同預訓練網路的模型庫盡心拆解重組,並在ImageNet和其他9個下游分類任務上進行效能評估。

實驗中採用了兩種不同的訓練方式:Full-Tuning,表示對拼接之後的模型所有參數都進行訓練;Freeze- Tuning,表示只對拼接後的連接層進行訓練。

此外,也選擇了五種尺度的模型並進行比較,稱為DeRy(, ,)。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

#

可以再上圖看到,在ImageNet資料集上,DeRy得到的不同尺度的模型都可以優於或持平模型庫中大小相當的模型。

可以發現,即使只訓練連結部分的參數,模型仍然可以獲得較強的效能增益。例如DeRy(4,90,20)的模型在只訓練1.27M參數的條件下達到了78.6%的Top1準確率。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

同時在9個遷移學習的實驗也驗證了DeRy的有效性。可以看到在沒有預訓練的情況下,DeRy的模型在各個模型大小的比較中都能優於其他模型;透過對重新組裝的模型進行持續預訓練,模型性能還能夠有較大幅度的提升,達到紅色的曲線。

比起其他的一些從模型庫做遷移學習的方法例如LEEP或LogME,DeRy可以超越模型庫本身的效能限制,甚至優於原本模型庫中的最佳模型。

模型重組的性質探究

#作者也很好奇本文所提出的模型重組的性質,例如“模型會按照什麼樣的模式進行拆分?”和“模型會按照何種規則進行重組?”。對此作者提供了實驗進行分析。

功能相似性,重組位置與重組效能

作者探究了將同一個網路區塊被其他擁有不同功能相似度的網路區塊進行替換後,Freeze-Tuning 20個epoch的的效能比較。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

對在ImageNet上訓練後的ResNet50, 將其第3和第4個stage的網路區塊,與ResNet101, ResNeXt50和RegNetY8G的不同網路區塊進行替換。

可以觀察到,替換的位置對效能有極大的影響。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

例如將第3個stage換成其他網路的第3個stage,重組網路的效能會特別強。同時,功能相似性也是和重組表現正向匹配的。

在同一深度的網路模型區塊有較大的相似度,導致了訓練後有較強的模型能力。這指向了相似性-重組位置-重組表現三者的依存與正向關係。

分割結果的觀察 

#下圖中,作者畫出了第一步拆分的結果。顏色代表網絡塊和美歌等價集中心網絡塊的相似性。

可以看到,本文所提出的劃分傾向將子網路依照深度聚集在一起並加以分割。同時CNN和Transformer的功能相似性資料較小,但CNN與不同架構CNN之間功能相似性通常較大。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

#使用NASWOT作為效能指標 

###############################################################################。 ######由於本文第一次應用NASWOT來進行零訓練遷移性預測,作者也對此指標的可靠性進行了檢驗。 ######

在下圖中,作者計算不同模型愛不同資料集上NASWOT的分數數值,並與遷移學習的準確的準確率加一對比。

可以觀察到,NASWOT分數得到了較準確的效能排序(Kendall's Tau相關性)。這顯示本文所使用的零訓練指標能有效預測模型的在下游資料的表現。

積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷

#總結

#本文提出了一個新的知識遷移任務,稱為深度模型重組(Deep Model Reassembly, 簡稱DeRy)。他透過打散已有異質預訓練模型並重新組裝的方式,來建構與下游任務適配的模型。

作者提出了一個簡單的兩階段實作方式來完成這項任務。首先,DeRy求解一個覆蓋集問題並對所有預訓練網絡按照功能級進行拆分;第二步中,DeRy將模型拼裝形式化為一個0-1整數規劃問題,保證組裝後模型在特定任務上性能最佳。

該工作不僅收穫了較強的性能提升,同時也映射出了不同神經網路之間可能存在的連接性。

以上是積木式深度學習的正確玩法!新加坡國立大學發布全新遷移學習典範DeRy,把知識遷移玩成活字印刷的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除