1. 程式人生 > >多工學習概述論文:從定義和方法到應用和原理分析

多工學習概述論文:從定義和方法到應用和原理分析

多工學習是一個很有前景的機器學習領域,相關的理論和實驗研究成果以及應用也在不斷湧現。近日,香港科技大學電腦科學與工程系的楊強教授和張宇助理教授在《國家科學評論(National Science Review)》2018 年 1 月份釋出的「機器學習」專題期刊中發表了題為《An overview of multi-task learning》的概述論文,對多工學習的現狀進行了系統性的梳理和介紹。機器之心對該論文的主幹內容進行了編譯介紹,欲更深入瞭解多工學習的讀者可參閱原論文及論文中列出的相關參考文獻。

 

多工學習概述(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 中的每個任務都是監督學習任務,其建模了從資料到標籤的函式對映。

 

基於特徵的

 

在這一類別中,所有 MTL 模型都假設不同的任務都具有同樣的特徵表示,這是根據原始特徵學習得到的。根據這種共有的特徵表示的學習方式,我們進一步將多工模型分為了三種方法,包括特徵變換方法、特徵選擇方法和深度學習方法。特徵變換方法學習到的共有特徵是原始特徵的線性或非線性變換。特徵選擇方法假設共有特徵是原始特徵的一個子集。深度學習方法應用深度神經網路來為多個任務學習共有特徵,該表徵會被編碼在深度神經網路的隱藏層中。

 

特徵變換方法

 

在這種方法中,共有特徵是原始特徵的一種線性或非線性變換。

多工學習概述論文:從定義和方法到應用和原理分析

圖 1:帶有一個輸入層、隱藏層和輸出層的多工前向神經網路特徵選擇方法

 

特徵選擇方法的目標是選擇原始特徵的一個子集來作為不同任務的共有特徵。

 

深度學習方法

 

與特徵變換方法中的多層前向神經網路模型類似,深度學習方法中的基本模型包括卷積神經網路和迴圈神經網路等高階神經網路模型。但是,不同於僅有少數隱藏層(比如 2 層或 3 層)的多層前向神經網路,深度學習方法涉及到的神經網路有數十乃至數百個隱藏層。此外,與多層前向神經網路類似,這一類別中的大多數深度學習模型都會將某一隱藏層的輸出作為共有特徵表徵。[23] 中提出的 cross-stitch 網路則與這些深度模型不同,而是會將來自兩個任務的隱藏特徵組合起來構建更強大的隱藏特徵。關於 cross-stitch 網路的示意圖參見圖 1。

 

基於引數的

 

基於引數的 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 分解成多個(多於兩個)分量矩陣。多層次方法有助於建模複雜的任務結構。

 

基於例項的

 

這一類別的研究很少,其中 [61] 提出的多工分佈匹配方法是其中的代表。具體來說,它首先評估每個例項來自其自己的任務的概率和來自所有任務的混合的概率之比。在確定了此比率之後,這種方法會利用此比率針對每一個任務來加權所有任務的資料,並利用加權的資料來學習每一個任務的模型引數。

 

討論

 

基於特徵的 MTSL 可以為不同的任務學習常見的特徵表示,而且更適合原始特徵資訊不多和區分度不大的應用,比如計算機視覺、自然語言處理和語音。但是,基於特徵的 MTSL 容易輕易被與其它無關的離群任務(outlier task)影響,因為它難以為彼此無關的任務學習共有特徵。在有良好的特徵表徵時,基於引數的 MTSL 可以學習到更加準確的模型引數,而且它也對離群任務更為魯棒。因此,基於特徵的 MTSL 和基於引數的 MTSL 可以相互補充。基於例項的 MTSL 目前還處於探索階段,它與其它兩種方法並行發展。

 

總而言之,在 MTL 研究中,MTSL 是最重要的,因為這是其它設定研究的基礎。在 MTL 領域已有的研究工作中,有大約 90% 都是關於 MTSL 設定;而在 MTSL 設定中,基於特徵和基於引數的 MSTL 得到的關注最多。

 

多工無監督學習

 

不同於每個資料例項都關聯了一個標籤的多工監督學習,多工無監督學習的訓練集僅由資料樣本構成,其目標是挖掘資料集中所包含的資訊。典型的無監督學習任務包括聚類、降維、流形學習(manifold learning)和視覺化等,而多工無監督學習主要關注多工聚類。聚類是指將一個數據集分成多個簇,其中每簇中都有相似的例項,因此多工聚類的目的是通過利用不同資料集中包含的有用資訊來在多個數據集上同時執行聚類。

 

多工半監督學習

 

在很多應用中,資料通常都需要很多人力來進行標註,這使得有標籤資料並不很充足;而在很多情況下,無標籤資料則非常豐富。所以在這種情況下,可以使用無標籤資料來幫助提升監督學習的表現,這就是半監督學習。半監督學習的訓練集由有標籤和無標籤的資料混合構成。在多工半監督學習中,目標是一樣的,其中無標籤資料被用於提升監督學習的表現,而不同的監督學習任務則共享有用的資訊來互相幫助。

 

多工主動學習

 

多工主動學習的設定和多工半監督學習幾乎一樣,其中每個任務的訓練集中都有少量有標籤資料和大量無標籤資料。但是不同於多工半監督學習,在多工主動學習中,每個任務都會選擇部分無標籤資料來查詢一個 oracle 以主動獲取其標籤。因此,無標籤資料的選擇標準是多工主動學習領域的主要研究重點。

 

多工強化學習

 

受行為心理學的啟發,強化學習研究的是如何在環境中採取行動以最大化累積獎勵。其在很多應用上都表現出色,在圍棋上擊敗人類的 AlphaGo 就是其中的代表。當環境相似時,不同的強化學習任務可以使用相似的策略來進行決策,因此研究者提出了多工強化學習。

 

多工線上學習

 

當多個任務的訓練資料以序列的形式出現時,傳統的 MTL 模型無法處理它們,但多工線上學習則可以做到。

 

多工多視角學習

 

在計算機視覺等一些應用中,每個資料樣本可以使用不同的特徵來描述。以影象資料為例,其特徵包含 SIFT 和小波(wavelet)等。在這種情況下,一種特徵都被稱為一個視角(view)。多視角學習就是為處理這樣的多視角資料而提出的一種機器學習正規化。與監督學習類似,多視角學習中每個資料樣本通常都關聯了一個標籤。多視角學習的目標是利用多個視角中包含的有用資訊在監督學習的基礎上進一步提升表現。多工多視角學習是多視角學習向多工的擴充套件,其目標是利用多個多視角學習問題,通過使用相關任務中所包含的有用資訊來提升每個多視角學習問題的效能。

 

並行和分散式

 

當任務數量很大時,如果我們直接應用一個多工學習器,那可能就會有很高的計算複雜度。現在計算機使用了多 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」。《國家科學評論》是科學出版社旗下期刊,與牛津大學出版社聯合出版。機器之心經《國家科學評論》和牛津大學出版社授權刊發該論文文中文翻譯。