論文閱讀 | A Survey on Multi-Task Learning


摘要 

多任務學習(Multi-Task Learning, MTL)是機器學習中的一種學習范式,其目的是利用包含在多個相關任務中的有用信息來幫助提高所有任務的泛化性能。

首先,我們將不同的MTL算法分為特征學習法、低秩方法、任務聚類方法、任務關系學習方法和分解方法,然后討論每種方法的特點。為了進一步提高學習任務的性能,MTL可以與其他學習范式相結合,包括半監督學習、主動學習、非監督學習、強化學習、多視圖學習和圖形模型。當任務數量較大或數據維數較高時,批量MTL模型難以處理,本文對在線、並行和分布式MTL模型以及降維和特征哈希進行了綜述,揭示了它們在計算和存儲方面的優勢。許多實際的應用程序使用MTL來提高它們的性能。最后,我們提出了理論分析,並討論了未來的幾個方向。

 

1 介紹

數據集難以收集時,MTL是個好的解決方案。

在MTL中,有多個學習任務,每個學習任務都可以是一個通用的學習任務,如監督任務(如分類或回歸問題)、非監督任務(如聚類問題)。半監督任務,強化學習任務。多視圖學習任務或圖形模型。在這些學習任務中,所有這些任務或至少其中一部分被認為是相互關聯的。在這種情況下,我們發現聯合學習這些任務可以比單獨學習更有效地提高性能。這一觀察結果導致了MTL的誕生。因此,當多個任務相關時,MTL旨在提高它們的泛化性能。

MTL的設置與遷移學習[2]相似,但也有顯著性差異。在MTL中,不同任務之間沒有區別,目標是提高所有任務的性能。但是遷移學習是在在源任務的幫助下提高目標任務的性能,目標任務比源任務起着更重要的作用。

因此,MTL對所有的任務都一視同仁,但在轉移學習中,目標任務是所有任務中最受關注的。在[3],[4],[5]中,研究了一種新的MTL設置,稱為非對稱多任務學習,該設置考慮了一個不同的場景,當多個任務通過某種MTL方法聯合學習時,又有了新任務。一個簡單的解決方案是從頭開始學習舊的和新的任務,但是這需要大量的計算。而非對稱多任務學習僅僅是在舊任務的幫助下學習新任務,因此核心問題是如何將舊任務中包含的知識轉移到新任務中。從這個意義上說,這種設置更類似於轉移學習而不是MTL。

在這篇論文中,我們對MTL進行了研究。在給出了MTL的定義之后,我們將不同的MTL算法分為幾個類別:特征學習方法,它可以分為特征變換和特征選擇方法、低秩方法、任務聚類方法、任務重組學習方法和分解方法。我們討論每種方法的特征。MTL可以與其他學習范式相結合,進一步提高學習任務的性能,因此我們討論了MTL與其他學習范式的結合,包括半監督學習、主動學習、非監督學習、強化學習、多視圖學習和圖形模型。當任務數量較大時,所有任務中的訓練數據量都可能非常大,這就需要進行MTL模型的在線並行計算。在這種情況下,不同任務的訓練數據可以放在不同的機器上,因此分布式的MTL模型是一個很好的解決方案。在MTL中,維數重構和特征哈希是降低高維數據維數的重要工具。因此,我們回顧了在多個任務中處理大數據時有用的技術。作為一種通用的學習范式,MTL在各個領域都有廣泛的應用,本文簡要回顧了它在計算機視覺、生物信息學、健康信息學、語音、自然語言處理、網絡應用和普適計算等領域的應用。

 

2 MTL模型

MTL :假設m個學習任務Ti(i=1~m),其中所有任務或其中一個子集是相關的,多任務學習的目的是通過使用所有或部分m個任務中包含的知識來幫助改進Ti模型的學習。

在此,我們需要區分同構MTL和異構MTL。[7],異構MTL被認為是由不同類型的監督任務,包括分類和回歸問題,這里我們推廣到更一般的設定任務的異構MTL由不同類型包括監督學習、無監督學習,semisupervised學習,強化學習,多視點學習和圖形模型。與異構MTL相對的是同構MTL,它只包含一種類型的任務。綜上所述,同質類和異質類MTL在學習任務類型上存在差異,而同質類特征MTL與異質類特征MTL在原始特征表示上存在差異。類似地,沒有特殊的解釋,默認的MTL設置是同類的MTL

為了描述MTL定義中的關聯性,需要解決三個問題: 何時共享、共享什么以及如何共享

“何時共享”問題是針對一個多任務問題在單任務請求和多任務模型之間做出選擇。目前,這樣的決定是由人類專家做出的,很少有人學習研究它的方法。一個簡單的計算解決方案是將這樣的決策表示為模型選擇問題,然后使用模型選擇技術(例如交叉驗證)來進行決策,但是這種解決方案通常計算量很大,並且可能需要更多的訓練數據。另一種解決方案是使用多任務模型,該模型可以退化為單任務模型,例如problem(34),當不同任務的學習變為(加和符號)時可以解耦。在這種情況下,我們可以讓訓練數據來決定(加和符號)的形式,從而做出隱含的選擇。

要共享什么內容,需要確定所有任務之間可以通過哪些形式進行知識共享。通常,共享內容有三種形式,包括特性、實例和參數。基於特征的MTL旨在學習不同任務之間的共同特征,從而共享知識。基於實例的MTL希望在任務中為其他任務標識有用的數據實例,然后通過標識的實例共享知識。基於參數的MTL在任務中使用模型參數(例如,線性模型中的系數),以某種方式幫助學習其他任務中的模型參數,例如正則化。現有的MTL研究主要集中在基於特征和基於參數的方法上,屬於基於實例方法的研究較少。代表基於實例的方法是多任務分布匹配方法[8],密度比率首次估計概率之間的每個實例以及它的標簽屬於自己的任務和混合所有的任務,然后使用加權訓練數據的所有任務基於學習模型參數的估計的密度比為每個任務。由於基於實例的MTL研究較少,我們主要綜述基於特征和基於參數的MTL模型。

在確定了“共享什么”之后,“如何共享”指定了在任務之間共享知識的具體方法。在基於特征的MTL中,有一種主要的方法:特征學習方法。特征學習方法側重於學習基於淺層或深層模型的多任務的公共特征表示,其中學習的公共特征表示可以是原始特征表示的子集或轉換。基於參數MTL。主要有四種方法:低秩方法、任務聚類方法、任務關系學習方法和分解方法。低秩方法將多個任務之間的關聯解釋為這些任務的參數矩陣的低秩性。任務集群方法假設所有任務都形成幾個集群,其中集群中的任務彼此相關。任務關系學習方法旨在從數據中自動學習任務之間的定量關系。分解方法將所有任務的模型參數分解為兩個或多個分量,由不同的正則化器進行懲罰。總之,基於特征和基於參數的MTL主要有五種方法。在接下來的章節中,我們將按時間順序回顧這些方法,以揭示它們中不同模型之間的關系和演進。(????)

 

特征轉移方法

輸入所有樣本  經過Hidden layers   —》  輸出該樣本屬於哪個任務。

這里隱藏層的輸出可以被視為m的共同特征表示學習任務和轉換從原始表示學到一個取決於連接輸入和隱藏層的權重以及激活函數采用隱藏的單位。因此,如果隱層中的激活函數是線性的,那么變換就是線性的,反之就是非線性的。與用於單任務學習的多層前饋神經網絡相比,網絡結構的不同之處在於輸出層,在單任務學習中只有一個輸出單元,而在MTL中有m個輸出單元。在[9]中,只有一個隱含層的徑向基函數網絡通過貪婪地確定隱含層的結構擴展到MTL。與這些神經網絡模型不同的是,Silver等人提出了一個上下文敏感的多任務神經網絡,它只有一個由不同任務共享的輸出單元,但有一個特定於任務的上下文作為額外的輸入

與連接主義模型的多層前饋神經網絡不同,多任務特征學習(MTFL)方法在正則化框架下,以目標函數為


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM