多任務學習概述論文:從定義和方法到應用和原理分析
多任務學習是一個很有前景的機器學習領域,相關的理論和實驗研究成果以及應用也在不斷湧現。近日,香港科技大學計算機科學與工程系的楊強教授和張宇助理教授在《國家科學評論(National Science Review)》2018 年 1 月份發布的「機器學習」專題期刊中發表了題為《An overview of multi-task learning》的概述論文,對多任務學習的現狀進行了系統性的梳理和介紹。機器之心對該論文的主幹內容進行了編譯介紹,欲更深入了解多任務學習的讀者可參閱原論文及論文中列出的相關參考文獻。
論文鏈接:https://academic.oup.com/nsr/article/5/1/30/4101432
多任務學習概述(An overview of multi-task learning)
摘要
多任務學習(MTL)是一個很有前景的機器學習領域,其目標是通過利用多個相關學習任務之間的有用信息來提升它們的表現。我們在本論文中對 MTL 進行了概述。首先我們將介紹 MTL 的定義,然後會介紹多種不同的 MTL 設置,其中包括多任務監督學習、多任務無監督學習、多任務半監督學習、多任務主動學習、多任務強化學習、多任務在線學習和多任務多視角學習。對於每種設置,我們將給出代表性的 MTL 模型。我們還將介紹用於加速學習過程的並行和分散式 MTL 模型。我們也將概覽使用 MTL 來提升性能的諸多應用領域(包括計算機視覺、生物信息學、健康信息學、語音、自然語言處理、網路應用和普適計算)和一些代表性的成果。最後我們將介紹近期對 MTL 的理論分析。
引言
利用歷史數據中的有用信息來幫助分析未來數據的機器學習,通常需要大量有標籤數據才能訓練出一個優良的學習器。深度學習模型是一種典型的機器學習模型,因為這類模型是帶有很多隱藏層和很多參數的神經網路,所以通常需要數以百萬計的數據樣本才能學習得到準確的參數。但是,包括醫學圖像分析在內的一些應用無法滿足這種數據要求,因為標註數據需要很多人力勞動。在這些情況下,多任務學習(MTL)可以通過使用來自其它相關學習任務的有用信息來幫助緩解這種數據稀疏問題。
MTL 是機器學習中一個很有前景的領域,其目標是利用多個學習任務中所包含的有用信息來幫助為每個任務學習得到更為準確的學習器。我們假設所有任務(至少其中一部分任務)是相關的,在此基礎上,我們在實驗和理論上都發現,聯合學習多個任務能比單獨學習它們得到更好的性能。根據任務的性質,MTL 可以被分類成多種設置,主要包括多任務監督學習、多任務無監督學習、多任務半監督學習、多任務主動學習、多任務強化學習、多任務在線學習和多任務多視角學習。
多任務監督學習任務(可能是分類或回歸問題)是根據訓練數據集(包含訓練數據實例和它們的標籤)預測未曾見過的數據的標籤。多任務無監督學習任務(可能是聚類問題)是識別僅由數據構成的訓練數據集中的有用模式。多任務半監督學習任務與多任務監督學習類似,只是其訓練集中不僅包含有標籤數據,也包含無標籤數據。多任務主動學習任務是利用無標籤數據來幫助學習有標籤數據,這類似於多任務半監督學習,其差異在於主動學習會選擇無標籤數據來主動查詢它們的標籤從而降低標註開銷。多任務強化學習任務是選擇動作以最大化累積獎勵。多任務在線學習任務是處理序列數據。多任務多視角學習任務是處理多視角數據——其中每個數據實例都有多組特徵。
MTL 可以看作是讓機器模仿人類學習行為的一種方法,因為人類常常將一個任務的知識遷移到另一個相關的任務上。例如,根據作者自身經驗,打壁球和打網球的技能可以互相幫助提升。與人類學習類似,(機器)同時學習多個學習任務是很有用的,因為一個任務可以利用另一個相關任務的知識。
MTL 也與機器學習的某些其它領域有關,包括遷移學習、多標籤學習和多輸出回歸,但 MTL 也有自己不同的特點。比如說,類似於 MTL,遷移學習的目標也是將知識從一個任務遷移到另一個任務,但不同之處在於遷移學習希望使用一個或多個任務來幫助另一個目標任務,而 MTL 則是希望多個任務彼此助益。當多任務監督學習的不同任務使用了同樣的訓練數據時,這就變成了多標籤學習或多輸出回歸。從這個意義上看,MTL 可以被看作是多標籤學習和多輸出回歸的一種泛化。
我們在本論文中對 MTL 進行了概述。我們首先將先給出 MTL 的定義。然後我們將探討不同的 MTL 設置,其中包括多任務監督學習、多任務無監督學習、多任務半監督學習、多任務主動學習、多任務強化學習、多任務在線學習和多任務多視角學習。對於每種 MTL 設置,我們會介紹代表性的 MTL 模型。當任務數量很多或不同任務的數據位於不同的機器中時,就必需使用並行和分散式 MTL 模型;我們將會介紹幾種這樣的模型。作為一種大有前景的學習範式,MTL 已經在多個領域得到了應用,其中包括計算機視覺、生物信息學、健康信息學、語音、自然語言處理、網路應用和普適計算;我們將會給出每個領域的一些有代表性的應用。此外,我們也將回顧對 MTL 的理論分析,這能為我們提供對 MTL 的深度理解。
多任務學習
首先,我們給出 MTL 的定義。
定義 1(多任務學習):給定 m 個學習任務,其中所有或一部分任務是相關但並不完全一樣的,多任務學習的目標是通過使用這 m 個任務中包含的知識來幫助提升各個任務的性能。
基於這一定義,我們可以看到 MTL 有兩個基本因素。
第一個因素是任務的相關性。任務的相關性是基於對不同任務關聯方式的理解,這種相關性會被編碼進 MTL 模型的設計中。
第二個因素是任務的定義。在機器學習中,學習任務主要包含分類和回歸等監督學習任務、聚類等無監督學習任務、半監督學習任務、主動學習任務、強化學習任務、在線學習任務和多視角學習任務。因此不同的學習任務對應於不同的 MTL 設置,這也是後面的章節所關注的重點。在後面的章節中,我們將回顧不同 MTL 設置中的代表性 MTL 模型。
多任務監督學習
多任務監督學習(MTSL)意味著 MTL 中的每個任務都是監督學習任務,其建模了從數據到標籤的函數映射。
基於特徵的 MTSL
在這一類別中,所有 MTL 模型都假設不同的任務都具有同樣的特徵表示,這是根據原始特徵學習得到的。根據這種共有的特徵表示的學習方式,我們進一步將多任務模型分為了三種方法,包括特徵變換方法、特徵選擇方法和深度學習方法。特徵變換方法學習到的共有特徵是原始特徵的線性或非線性變換。特徵選擇方法假設共有特徵是原始特徵的一個子集。深度學習方法應用深度神經網路來為多個任務學習共有特徵,該表徵會被編碼在深度神經網路的隱藏層中。
特徵變換方法
在這種方法中,共有特徵是原始特徵的一種線性或非線性變換。
圖 1:帶有一個輸入層、隱藏層和輸出層的多任務前向神經網路
特徵選擇方法
特徵選擇方法的目標是選擇原始特徵的一個子集來作為不同任務的共有特徵。
深度學習方法
與特徵變換方法中的多層前向神經網路模型類似,深度學習方法中的基本模型包括卷積神經網路和循環神經網路等高級神經網路模型。但是,不同於僅有少數隱藏層(比如 2 層或 3 層)的多層前向神經網路,深度學習方法涉及到的神經網路有數十乃至數百個隱藏層。此外,與多層前向神經網路類似,這一類別中的大多數深度學習模型都會將某一隱藏層的輸出作為共有特徵表徵。[23] 中提出的 cross-stitch 網路則與這些深度模型不同,而是會將來自兩個任務的隱藏特徵組合起來構建更強大的隱藏特徵。關於 cross-stitch 網路的示意圖參見圖 1。
基於參數的 MTSL
基於參數的 MTSL 使用模型參數來關聯不同任務的學習。根據不同任務的模型參數的關聯方式,我們可將其分成 5 種方法,包括低秩方法、任務聚類方法、任務關係學習方法、臟方法(dirty approach)和多層次方法。具體而言,因為假設任務是相關的,所以參數矩陣 W 很可能是低秩的,這是低秩方法提出的動機。任務聚類方法的目標是將任務分成多個集群,並假設其中每個集群中的所有任務都具有同樣的或相似的模型參數。任務關係學習方法是直接從數據中學習任務間的關係。臟方法假設參數矩陣 W 可以分解成兩個分量矩陣,其中每個矩陣都由一種稀疏類型進行正則化。多層次方法是臟方法的一種泛化形式,是將參數矩陣分解成兩個以上的分量矩陣,從而建模所有任務之間的複雜關係。
低秩方法
相似的任務通常具有相似的模型參數,這使得 W 很可能是低秩的。
任務聚類方法
任務聚類方法是應用數據聚類方法的思想來將任務分成多個簇,其中每個簇中的任務具有相似的模型參數。
任務關係學習方法
這種方法使用任務關係來反映任務相關性,任務關係的例子包括相似度和協方差。
臟方法
臟方法假設參數矩陣 W 可以分解為兩個分量矩陣:W = U + V,其中 U 和 V 各自包含了任務相關性的不同部分。在這種方法中,不同模型的目標函數可以被統一成一個目標函數,此目標函數最小化所有任務上的訓練集損失以及 U 和 V 的兩個正則化項 g(U) 和 h(V)。因此,這種方法的不同類型主要體現在 g(U) 和 h(V) 的選擇上,具體可參見表 1。
表 1:臟方法中不同方法的 g(U) 和 h(V) 的選擇
多層次方法
多層次方法是臟方法的一種泛化形式。它是將參數矩陣 W 分解成多個(多於兩個)分量矩陣。多層次方法有助於建模複雜的任務結構。
基於實例的 MTSL
這一類別的研究很少,其中 [61] 提出的多任務分布匹配方法是其中的代表。具體來說,它首先評估每個實例來自其自己的任務的概率和來自所有任務的混合的概率之比。在確定了此比率之後,這種方法會利用此比率針對每一個任務來加權所有任務的數據,並利用加權的數據來學習每一個任務的模型參數。
討論
基於特徵的 MTSL 可以為不同的任務學習常見的特徵表示,而且更適合原始特徵信息不多和區分度不大的應用,比如計算機視覺、自然語言處理和語音。但是,基於特徵的 MTSL 容易輕易被與其它無關的離群任務(outlier task)影響,因為它難以為彼此無關的任務學習共有特徵。在有良好的特徵表徵時,基於參數的 MTSL 可以學習到更加準確的模型參數,而且它也對離群任務更為魯棒。因此,基於特徵的 MTSL 和基於參數的 MTSL 可以相互補充。基於實例的 MTSL 目前還處於探索階段,它與其它兩種方法並行發展。
總而言之,在 MTL 研究中,MTSL 是最重要的,因為這是其它設置研究的基礎。在 MTL 領域已有的研究工作中,有大約 90% 都是關於 MTSL 設置;而在 MTSL 設置中,基於特徵和基於參數的 MSTL 得到的關注最多。
多任務無監督學習
不同於每個數據實例都關聯了一個標籤的多任務監督學習,多任務無監督學習的訓練集僅由數據樣本構成,其目標是挖掘數據集中所包含的信息。典型的無監督學習任務包括聚類、降維、流形學習(manifold learning)和可視化等,而多任務無監督學習主要關注多任務聚類。聚類是指將一個數據集分成多個簇,其中每簇中都有相似的實例,因此多任務聚類的目的是通過利用不同數據集中包含的有用信息來在多個數據集上同時執行聚類。
多任務半監督學習
在很多應用中,數據通常都需要很多人力來進行標註,這使得有標籤數據並不很充足;而在很多情況下,無標籤數據則非常豐富。所以在這種情況下,可以使用無標籤數據來幫助提升監督學習的表現,這就是半監督學習。半監督學習的訓練集由有標籤和無標籤的數據混合構成。在多任務半監督學習中,目標是一樣的,其中無標籤數據被用於提升監督學習的表現,而不同的監督學習任務則共享有用的信息來互相幫助。
多任務主動學習
多任務主動學習的設置和多任務半監督學習幾乎一樣,其中每個任務的訓練集中都有少量有標籤數據和大量無標籤數據。但是不同於多任務半監督學習,在多任務主動學習中,每個任務都會選擇部分無標籤數據來查詢一個 oracle 以主動獲取其標籤。因此,無標籤數據的選擇標準是多任務主動學習領域的主要研究重點。
多任務強化學習
受行為心理學的啟發,強化學習研究的是如何在環境中採取行動以最大化累積獎勵。其在很多應用上都表現出色,在圍棋上擊敗人類的 AlphaGo 就是其中的代表。當環境相似時,不同的強化學習任務可以使用相似的策略來進行決策,因此研究者提出了多任務強化學習。
多任務在線學習
當多個任務的訓練數據以序列的形式出現時,傳統的 MTL 模型無法處理它們,但多任務在線學習則可以做到。
多任務多視角學習
在計算機視覺等一些應用中,每個數據樣本可以使用不同的特徵來描述。以圖像數據為例,其特徵包含 SIFT 和小波(wavelet)等。在這種情況下,一種特徵都被稱為一個視角(view)。多視角學習就是為處理這樣的多視角數據而提出的一種機器學習範式。與監督學習類似,多視角學習中每個數據樣本通常都關聯了一個標籤。多視角學習的目標是利用多個視角中包含的有用信息在監督學習的基礎上進一步提升表現。多任務多視角學習是多視角學習向多任務的擴展,其目標是利用多個多視角學習問題,通過使用相關任務中所包含的有用信息來提升每個多視角學習問題的性能。
並行和分散式 MTL
當任務數量很大時,如果我們直接應用一個多任務學習器,那可能就會有很高的計算複雜度。現在計算機使用了多 CPU 和多 GPU 架構,其計算能力非常強大。所以我們可以使用這些強大的計算設備來設計並行 MTL 演算法,從而加速訓練過程。[82] 中設計了一種並行 MTL 方法來解決 MTRL 模型的一個子問題,這個子問題也會出現在很多屬於任務關係學習方法的正則化方法中。具體而言,這種方法利用了 FISTA 演算法設計了一種針對所有任務的可分解的代理函數(surrogate function),這個代理函數可以並行化,從而實現學習過程加速。此外,[82] 還研究了三種損失函數(hinge、ε-insensitive 和平方損失),讓這種並行方法適用於 MTSL 中的分類和回歸問題。
在某些情況中,用於不同任務的訓練數據可能存在不同的機器中,這會使傳統的 MTL 模型難以工作。如果將所有的訓練數據都可轉移到一台機器上,這會造成額外的傳輸和存儲成本。設計能夠直接處理分布在多台機器上數據的分散式 MTL 模型是更好的選擇。[83] 提出了一種基於 debiased lasso 模型的分散式演算法,該演算法在一台機器上學習一個任務,並實現了高效的通信。
多任務學習的應用
包括計算機視覺、生物信息學、健康信息學、語音、自然語言處理、網路應用和普適計算在內的很多領域都在使用 MTL 來提升各自的應用的性能。
理論分析
學習理論(learning theory)用來研究機器學習的學習模型(包括 MTL 模型)的理論基礎。MTL 領域的理論分析主要關注的是 MTL 模型的泛化邊界(generalization bound)。眾所周知,MTL 的主要關注點是 MTL 在測試數據上的泛化表現。但是因為難以對底層的數據分布建模,所以泛化表現難以直接計算。因此泛化邊界被提出來用於提供泛化表現的上界。
[133] 首次為通用 MTL 模型推導出了泛化邊界,然後很多研究分析了不同 MTL 方法的泛化邊界,包括針對特徵變換方法的泛化邊界 [7,134]、針對特徵選擇方法的泛化邊界 [135]、針對低秩方法的泛化邊界 [24,135–138]、針對任務關係學習方法的泛化邊界 [136] 和針對臟方法的泛化邊界 [138]。
結論
在本文中,我們對 MTL 進行概述。首先,我們給出 MTL 的定義。在此基礎上,我們介紹了多任務監督學習、多任務無監督學習、多任務半監督學習、多任務主動學習、多任務強化學習、多任務在線學習和多任務多視角學習等多種不同的 MTL 設置。對於每種設置,我們介紹了其代表性模型。然後討論了並行和分散式 MTL 模型,這可以幫助加快學習過程。最後,我們回顧了 MTL 在各個領域的應用,並對 MTL 進行了理論分析。
最近,深度學習在諸多應用領域中廣為流行,並且深度學習十分適用於 MTL。幾乎所有的深層模型都會為不同的任務共享隱藏層;當各種任務非常相似時,這種在任務之間共享知識的方式非常有用,但是一旦這種假設被違背,模型性能則顯著惡化。我們認為,多任務深度模型的未來發展方向是設計更加靈活的架構,可以容納不相關的任務甚至異常的任務。此外,深度學習,任務聚類和多層次方法缺乏理論基礎,需要更多的分析來指導這些方面的研究。
英文原文 2017 年 9 月發表於《國家科學評論》(National Science Review, NSR),原標題為「An overview of multi-task learning」。《國家科學評論》是科學出版社旗下期刊,與牛津大學出版社聯合出版。機器之心經《國家科學評論》和牛津大學出版社授權刊發該論文文中文翻譯。
原文鏈接:https://doi.org/10.1093/nsr/nwx105
※亞馬遜帝國的人工智慧革命史
※劇本自動生成電影:杜克大學提出AI視頻生成新方法
TAG:機器之心 |