小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

共享相關任務表征,一文讀懂深度神經(jīng)網(wǎng)絡多任務學習...

 昵稱16619343 2017-06-23

近日,自然語言處理方向博士生、AYLIEN 研究科學家 Sebastian Ruder 在其同名博客上發(fā)表了一篇長文,從多任務學習 MTL 的背景、現(xiàn)狀、動機、方法、機制、實踐等方面,全面而詳實地對深度神經(jīng)網(wǎng)絡多任務學習(Multi-Task Learning in Deep Neural Networks)進行了深度介紹。機器之心對該文進行了編譯,原文鏈接請見文末。

目錄

1.介紹

2.動機

3.兩種深度學習 MTL 方法

  • Hard 參數(shù)共享

  • Soft 參數(shù)共享

4.為什么 MTL 有效

  • 隱式數(shù)據(jù)增加

  • 注意力機制

  • 竊聽

  • 表征偏置

  • 正則化

5.非神經(jīng)模型中的 MTL

  • 塊稀疏正則化

  • 學習任務的關系

6.最近 MTL 的深度學習研究

  • 深度關系網(wǎng)絡

  • 全自適應特征共享

  • 十字繡網(wǎng)絡

  • 低監(jiān)督

  • 聯(lián)合多任務模型

  • 權重損失與不確定性

  • MTL 的張量因子分解

  • 水閘網(wǎng)絡

  • 我應該在模型中共享什么

7.輔助任務

  • 相關任務

  • 對抗性

  • 提示

  • 注意力機制

  • 量子平滑

  • 預測輸入

  • 使用未來預測現(xiàn)在

  • 表征學習

  • 哪些輔助任務有幫助?

8.結論

介紹

在機器學習(ML)中,通常的關注點是對特定度量進行優(yōu)化,度量有很多種,例如特定基準或商業(yè) KPI 的分數(shù)。為了做到這一點,我們通常訓練一個模型或模型組合來執(zhí)行目標任務。然后,我們微調這些模型,直到模型的結果不能繼續(xù)優(yōu)化。雖然通??梢酝ㄟ^這種方式使模型達到可接受的性能,但是由于我們的關注點集中在單個任務上,我們忽略了可能幫助優(yōu)化度量指標的其它信息。具體來說,這些信息來自相關任務的訓練信號。通過共享相關任務之間的表征,可以使我們的模型更好地概括原始任務。這種方法被稱為多任務學習(MTL),這正是本文的主題。

MTL 有很多形式:聯(lián)合學習(joint learning)、自主學習(learning to learn)和帶有輔助任務的學習(learning with auxiliary task)等都可以指 MTL。一般來說,優(yōu)化多個損失函數(shù)就等同于進行多任務學習(與單任務學習相反)。這些情況有助于你明確地思考如何在 MTL 方面做嘗試并從中獲得啟發(fā)。

即使只優(yōu)化一個損失函數(shù)(如在典型情況下),也有可能借助輔助任務來改善原任務模型。Rich Caruana [1] 簡要總結了 MTL 的目標:「MTL 通過利用包含在相關任務訓練信號中的特定領域的信息來改進泛化能力」。

在本文中,我將嘗試概括一下多任務學習的現(xiàn)狀,特別是當涉及到具有深度神經(jīng)網(wǎng)絡的 MTL 時。我將首先從不同的角度闡述 MTL 的動機。然后,我將介紹 MTL 在深度學習中最常用的兩種方法。隨后,我將描述 MTL 的機制,并闡述為什么 MTL 在實踐中效果良好。在研究更先進的基于神經(jīng)網(wǎng)絡的 MTL 方法之前,我將通過討論 MTL 的文獻來提供一些背景。然后,我將介紹一些最近提出的更強大的深度神經(jīng)網(wǎng)絡 MTL 方法。最后,我將討論常用的輔助任務類型,并討論什么是一個好的 MTL 輔助任務。

動機

多任務學習的動機有不同的方式:從生物學的角度,多任務學習可以看作是受到人類學習的啟發(fā)。對于學習新任務,我們經(jīng)常應用通過學習相關任務獲得的知識。例如,寶寶首先學會識別面部,然后可以應用這些知識來識別其它對象。

從教學的角度,我們經(jīng)常通過學習任務來獲得必要的技能,以便掌握更復雜的技術。學習武術(比如柔道)的恰當方式也適用于學習編程。

以流行文化為例,一個例子是《空手道少年(1984)》(感謝 Margaret Mitchell 與 Adrian Benton 提供靈感)。在電影中,老師宮城先生教導了空手道孩子看起來是無關緊要的任務,如打地板和給車打蠟。事后看來,這些可以讓他掌握與學習空手道相關的寶貴技巧。

最后,從機器學習的角度:我們可以將多任務學習看作歸納轉移的一種形式。歸納傳遞可以通過引入歸納偏置(inductive bias)來幫助改進模型,這導致模型比其它模型更喜歡某些假設。例如,一種常見形式的歸納偏置是 L1 正則化,這導致偏好稀疏解。在 MTL 模型下,歸納偏置由輔助任務提供,這導致模型更喜歡假設而不是解釋多個任務。正如我們將在下面看到的,這通常會導致更好的一般化解決方案。

兩種深度學習 MTL 方法

到目前為止,我們只研究了 MTL 的理論動機。為了使 MTL 的思想更具體化,現(xiàn)在我們來看一下在深度神經(jīng)網(wǎng)絡中執(zhí)行多任務學習的兩種最常用的方法。在深度學習中,多任務學習通常通過隱藏層的 Hard 或 Soft 參數(shù)共享來完成。

Hard 參數(shù)共享

共享 Hard 參數(shù)是神經(jīng)網(wǎng)絡 MTL 最常用的方法,可以追溯到 [2]。在實際應用中,通常通過在所有任務之間共享隱藏層,同時保留幾個特定任務的輸出層來實現(xiàn)。

圖 1:深度神經(jīng)網(wǎng)絡多任務學習的 Hard 參數(shù)共享

共享 Hard 參數(shù)大大降低了過擬合的風險。實際上,[3] 表明過擬合共享參數(shù)的風險為 O(N)——其中 N 是任務數(shù)——小于過擬合特定任務參數(shù),即輸出層。這很直觀:我們同時學習的工作越多,我們的模型找到一個含有所有任務的表征就越困難,而過擬合我們原始任務的可能性就越小。

Soft 參數(shù)共享

另一方面,在共享 Soft 參數(shù)時,每個任務都有自己的參數(shù)和模型。模型參數(shù)之間的距離是正則化的,以便鼓勵參數(shù)相似化。例如使用 L2 距離進行正則化 [4],而 [5] 使用跡范數(shù)(trace norm)。

圖 2:深度神經(jīng)網(wǎng)絡多任務學習的 Soft 參數(shù)共享

約束深度神經(jīng)網(wǎng)絡 Soft 參數(shù)共享的思想受到了 MTL 正則化技術的極大啟發(fā),這種思想已經(jīng)用于其它模型開發(fā),我們將在下面討論。

為什么 MTL 有效?

即使多任務學習獲得的歸納偏置看起來是可信的,為了更好地了解 MTL,我們仍需要闡述它所基于的機制。其中大部分最初都是由 Caruana(1998)提出的。對于所有例子,假設我們有兩個相關的任務 A 和 B,它們依賴于一個共同的隱藏層表征 F。

隱式數(shù)據(jù)增加

MTL 有效地增加了我們用于訓練模型的樣本大小。由于所有任務不同程度地存在噪聲,當在某些任務 A 上訓練模型時,我們的目標是為任務 A 學習一個很好的表征,理想情況下,這個表征能忽略與數(shù)據(jù)相關的噪聲并具有良好的泛化性。由于不同的任務具有不同的噪聲模式,所以同時學習兩個任務的模型能夠學習更一般的表征。只學習任務 A 有可能過擬合任務 A,而聯(lián)合地學習 A 和 B 使模型能夠通過平均噪聲模式獲得更好的表征。

注意力機制

如果一個任務非常嘈雜或數(shù)據(jù)量有限并且高維,模型可能難以區(qū)分相關與不相關的特征。MTL 可以幫助模型將注意力集中在重要的特征上,因為其它任務將為這些特征的相關性或不相關性提供額外的證據(jù)。

竊聽(eavesdroping)

某特征 G 很容易被任務 B 學習,但是難以被另一個任務 A 學習。這可能是因為 A 以更復雜的方式與特征進行交互,或者因為其它特征阻礙了模型學習 G 的能力。通過 MTL,我們可以允許模型「竊聽」,即通過任務 B 學習 G。最簡單的方法是通過提示(hint)[6],即直接訓練模型來預測最重要的特征。

表征偏置

MTL 任務偏好其它任務也偏好的表征,這造成模型偏差。這將有助于模型在將來泛化到新任務,因為在足夠數(shù)量的訓練任務上表現(xiàn)很好的假設空間也將很好地用于學習具有相同環(huán)境的新任務 [7]。

正則化

最后,MTL 通過引入歸納偏置作為正則化項。因此,它降低了過擬合的風險以及模型的 Rademacher 復雜度(即適合隨機噪聲的能力)。

非神經(jīng)模型中的 MTL

為了更好地了解深度神經(jīng)網(wǎng)絡中的 MTL,我們將研究關于 MTL 在線性模型、核函數(shù)方法和貝葉斯算法方面的論文。特別地,我們將討論一直以來在多任務學習的歷史中普遍存在的兩個主要思想:通過范數(shù)正則化制造各任務間的稀疏性;對任務間的關系進行建模。

請注意,許多 MTL 的論文具有同構性假設:它們假設所有任務與單個輸出相關,例如,多類 MNIST 數(shù)據(jù)集通常被轉換為 10 個二進制分類任務。最近的方法更加接近實際,對問題進行異構性假設,即每個任務對應于一組唯一的輸出。

塊稀疏(block-sparse)正則化

為了更好地與下面的方法銜接,我們首先介紹一些符號。我們有 T 個任務。對于每個任務 t,我們有一個模型 m_t,其參數(shù) a_t 的維度是 d。我們可以將參數(shù)作為列向量寫出 a_t=[a_{1,t} ... a_{d,t}]^?。我們現(xiàn)在逐列地將這些列向量 a_1, ... ,a_T 進行堆疊,形成矩陣 A∈?^{d×T}。A 的第 i 行包含與每個任務的模型的第 i 個特征對應的參數(shù) a_{i,.},而 A 的第 j 列包含對應于第 j 個模型的參數(shù) a_{.,j}。

許多現(xiàn)有的方法對模型的參數(shù)做了稀疏性假設。例如,假設所有模型共享一小組特征 [8]。對我們任務的參數(shù)矩陣 A 來說,這意味著除了幾行之外,所有數(shù)據(jù)都是 0,對應于所有任務只共同使用幾個特性。為了實現(xiàn)這一點,他們將 L1 范數(shù)推廣到 MTL?;叵胍幌?,L1 范數(shù)是對參數(shù)之和的約束,這迫使除幾個參數(shù)之外的所有參數(shù)都為 0。這也被稱為 lasso(最小絕對收縮與選擇算子)。

在單任務中,L1 范數(shù)根據(jù)相應任務 t 的參數(shù)向量 a_t 被計算,在 MTL 中,我們在任務參數(shù)矩陣 A 中計算它。為了做到這一點,我們首先對每行 a_i 計算出包含與第 i 個特征相對應的參數(shù)的 Lq 范數(shù),其產(chǎn)生向量 b=[‖a_1‖_q ...‖a_d‖_q]∈?^d。然后,我們計算該向量的 L1 范數(shù),這迫使 b(即 A 矩陣的行)中除少數(shù)元素(entry)外,所有元素都為 0。

可以看到,根據(jù)我們希望對每一行的約束,我們可以使用不同的 Lq。一般來說,我們將這些混合范數(shù)約束稱為 L1/Lq 范數(shù),也被稱為塊稀疏正則化,因為它們導致 A 的整行被設置為 0。[9] 使用 L1/L∞ 正則化,而 Argyriou 等人(2007)使用混合的 L1/L2 范數(shù)。后者也被稱為組合 lasso(group lasso),最早由 [10] 提出。

Argyriou 等人(2007)也表明,優(yōu)化非凸組合 lasso 的問題可以通過懲罰 A 的跡范數(shù)(trace norm)來轉化成凸問題,這迫使 A 變成低秩(low-rank),從而約束列參數(shù)向量 a_{.,1},...,a_{.,t} 在低維子空間中。[11] 進一步使用組合 lasso 在多任務學習中建立上限。

盡管這種塊稀疏正則化直觀上似乎是可信的,但它非常依賴于任務間共享特征的程度。[12] 顯示,如果特征不重疊太多,則 Ll/Lq 正則化可能實際上會比元素一般(element-wise)的 L1 正則化更差。

因此,[13] 通過提出一種組合了塊稀疏和元素一般的稀疏(element-wise sparse)正則化的方法來改進塊稀疏模型。他們將任務參數(shù)矩陣 A 分解為兩個矩陣 B 和 S,其中 A=B+S。然后使用 L1/L∞ 正則化強制 B 為塊稀疏,而使用 lasso 使 S 成為元素一般的稀疏。最近,[14] 提出了組合稀疏正則化的分布式版本。

學習任務的關系

盡管組合稀疏約束迫使我們的模型僅考慮幾個特征,但這些特征大部分用于所有任務。所有之前的方法都基于假設:多任務學習的任務是緊密相關的。但是,不可能每個任務都與所有任務緊密相關。在這些情況下,與無關任務共享信息可能會傷害模型的性能,這種現(xiàn)象稱為負遷移(negative transfer)。

與稀疏性不同,我們希望利用先驗信息,指出相關任務和不相關任務。在這種情況下,一個能迫使任務聚類的約束可能更適合。[15] 建議通過懲罰任務列向量 a_{.,1},...,a_{.,t} 的范數(shù)與它們具有以下約束形式的方差來強加聚類約束:

其中

為參數(shù)向量的均值。這個懲罰項強制將任務參數(shù)向量 a_{.,1},...,a_{.,t} 向由 λ 控制的均值聚類。他們將此約束應用于核函數(shù)方法,但這同樣適用于線性模型。

[16] 也提出了對于 SVM 的類似約束。這個約束受到貝葉斯方法的啟發(fā),并試圖使所有模型接近平均模型。由于損失函數(shù)的平衡制約,使每個 SVM 模型的間隔(margin)擴大并產(chǎn)生類似于平均模型的結果。

[17] 在聚類的數(shù)量 C 已知的假設下,通過形式化對 A 的約束,使聚類正則化更加明確。然后他們將懲罰項分解為 3 個獨立的范數(shù):

  • 衡量列參數(shù)向量平均大小的全局懲罰項:

  • 衡量類間距離的類間方差(between-cluster variance):

其中 T_c 是第 c 個類中任務的數(shù)量,

是第 c 個類中任務參數(shù)向量的均值向量。
  • 衡量類內數(shù)據(jù)緊密度的類內方差(within-cluster variance):

其中 J(c) 是第 c 個類中任務的集合。

最終的約束形式是這 3 個范數(shù)的加權和:

由于此約束假設聚類是已知的,所以它們引入了上述懲罰項的凸松弛(convex relaxation),這使算法允許同時學習聚類。

在另一種情況下,任務可能不在類結構中,但具有其它的結構。[18] 使用擴展組合 lasso 來處理樹型結構(tree structure)中的任務,而 [19] 將其應用于具有圖結構(graph structure)的任務。

雖然之前對任務之間關系建模的方法使用了范數(shù)正則化,但也存在沒有用到正則化的方法:[20] 第一個提出了使用 k-nn 的任務聚類算法,而 [21] 通過半監(jiān)督學習從多個相關任務中學習通用結構。

其它 MTL 任務之間關系的建模使用了貝葉斯方法:

  • [22] 提出了使用模型參數(shù)先驗的貝葉斯神經(jīng)網(wǎng)絡方法,來鼓勵任務間使用相似的參數(shù)。[23] 將高斯過程(Gaussian process/GP)應用于 MTL,該方法利用 GP 推斷共享協(xié)方差矩陣的參數(shù)。由于這在計算上非常昂貴,它們采用稀疏近似方案用來貪心地選擇信息量最大的樣本。[24] 同樣將 GP 應用于 MTL,該方法利用 GP 假設所有模型抽樣于同一個普通先驗分布。

  • [25] 在每個任務特定的層上使用高斯分布作為先驗分布。為了鼓勵不同任務之間的相似性,他們建議使用任務依賴的平均值,并引入使用混合分布的任務聚類。重要的是,它們首先需要確定聚類和混合分布數(shù)量的任務特征。

基于此,[26] 使用 Dirichlet process 提取分布,并使模型能夠學習任務之間的相似性以及聚類的數(shù)量。然后,算法在同一個類中的所有任務間共享相同的模型。[27] 提出了一個分層貝葉斯模型,它學習一個潛在的任務層次結構,而 [28] 對于 MTL 使用基于 GP 的正則化,并擴展以前的基于 GP 的方法,以便在更復雜的設置中增加計算的可行性。

其它方法側重于 on-line 多任務學習設置:[29] 將一些現(xiàn)有的方法,如 Evgeniou 等人的方法(2005)應用到 on-line 算法。他們還提出了一種使用正則化感知機(perceptron)的 MTL 擴展方法,該算法計算任務相關性矩陣。他們使用不同形式的正則化來偏置該任務相關性矩陣,例如,任務特征向量(characteristic vector)的接近程度或跨度子空間(spanned subspace)的維數(shù)。重要的是,與之前的方法類似,它們需要首先確定構成該矩陣的任務特征。[30] 通過學習任務關系矩陣來擴展之前的方法。

[31] 假設任務形成相互分隔的組,并且每個組中的任務位于低維子空間中。在每個組內,任務共享相同的特征表征,其參數(shù)與組分配矩陣(assignment matrix)一起使用代替的最小化方案學習。然而,組之間的完全分隔可能不是理想的方式,因為任務可能分享一些有助于預測的特征。

[32] 通過假設存在少量潛在的基礎任務,反過來允許來自不同組的兩個任務重疊。然后,他們將每個實際任務 t 的參數(shù)向量 a_t 建模為下面的線性組合:a_t=Ls_t,其中 L∈?^{k×d} 是包含 k 個潛在任務的參數(shù)向量的矩陣,而 s_t∈?^k 是包含線性組合系數(shù)的向量。此外,它們約束潛在任務中的線性組合為稀疏;約束在稀疏模式下兩個任務之間的重疊然后控制它們之間的共享數(shù)量。最后,[33] 學習一個小的共享假設池,然后將每個任務映射到一個假設。

最近 MTL 的深度學習研究

雖然許多最近的深度學習方法已經(jīng)將多任務學習(無論是顯式使用或隱式使用)作為其模型的一部分(例子將在下一節(jié)中介紹),但是它們都采用了我們之前介紹的兩種方法,Hard 和 Soft 參數(shù)共享。相比之下,只有少數(shù)論文研究了如何在深度神經(jīng)網(wǎng)絡中開發(fā)更優(yōu)的 MTL 算法。

深度關系網(wǎng)絡

在用于計算機視覺的 MTL 中,通常的方法是共享卷積層,同時學習特定任務的全連接層。[34] 通過提出深度關系網(wǎng)絡(Deep Relationship Network)來改進這些模型。除了圖 3 中可以看到的共享和特定任務層的結構之外,他們在全連接層上使用矩陣先驗(matrix priors),這樣可以讓模型學習任務之間的關系,類似于一些之前看過的貝葉斯模型。然而,這種方法仍然依賴于預定義的共享結構,這可能對于已經(jīng)充分研究的計算機視覺問題是可行的,但是其證明對于新任務來說容易出錯。

圖 3:具有共享卷積和特定任務的全連接層與矩陣先驗的深度關系網(wǎng)絡(Long 和 Wang,2015)。

全自適應特征共享

從另一個極端,[35] 提出了一個從窄網(wǎng)絡(thin network)開始的自下而上的方法,并在訓練過程中使用一個促進類似任務分組的標準,貪婪地動態(tài)拓寬網(wǎng)絡。動態(tài)創(chuàng)建分支的拓寬過程可以在圖 4 中看到。但是,貪婪方法可能無法發(fā)現(xiàn)全局最優(yōu)的模型,而將每個分支正好分配給一個任務不允許模型學習更復雜任務交互。

圖 4:完全自適應特征共享的拓寬過程(Lu 等人,2016)。

十字繡網(wǎng)絡

[36] 從兩個獨立的模型架構開始,如共享 Soft 參數(shù)一樣。然后,他們使用稱為十字繡(cross stitch)的單位,以允許模型通過學習前面層的輸出的線性組合來確定如何使特定任務的網(wǎng)絡利用其它任務的知識。圖 5 為模型架構,其中它們僅在池化(pooling)和全連接層之后使用十字繡單位。

圖 5:兩個任務的十字繡網(wǎng)絡(Misra 等人,2016)。

低監(jiān)督

相比之下,在自然語言處理(NLP)中,最近的工作側重于為多任務學習找到更好的任務層次:[37] 顯示當?shù)图壢蝿沼米鬏o助任務時應該在低層(lower layer)監(jiān)督,如通常用于預處理的 NLP 任務(如詞性標注/part-of-speech tagging 和命名實體識別/named entity recognition)。

聯(lián)合多任務模型

基于這一發(fā)現(xiàn),[38] 預定義了由幾個 NLP 任務組成的層次結構,圖 6 為聯(lián)合多任務學習模型。

圖 6:聯(lián)合多任務模型(Hashimoto 等人,2016)。

加權損失與不確定性

與學習共享的結構不同,[39] 通過考慮每個任務的不確定性應用正交方法(orthogonal approach)。然后,他們通過基于最大化任務決定的不確定性的高斯似然估計,求導多任務損失函數(shù),并以此來調整成本函數(shù)中的每個任務的相對權重。每一像素的深度回歸(per-pixel depth regression)、語義和實例分割的架構可以在圖 7 中看到。

圖 7:用于多任務學習的基于不確定性的損失函數(shù)加權(Kendall 等人,2017)。

MTL 的張量因子分解

最近的研究旨在將現(xiàn)有方法泛化到深度學習的 MTL:[40] 概括了一些之前討論的矩陣因子分解的方法,通過使用張量因子分解將每層的模型參數(shù)分為共享和特定任務參數(shù)。

水閘網(wǎng)絡

最后,我們提出了水閘網(wǎng)絡(Sluice Network)[41],一種泛化基于深度學習的 MTL 方法(比如 Hard 參數(shù)共享和十字繡網(wǎng)絡、塊稀疏正則化方法以及最近的任務層次結構的 NLP 方法)的模型,。圖 8 為該模型,該模型可以學習哪些層和子空間應該共享,以及網(wǎng)絡在哪層學到了輸入序列的最佳表征。

圖 8:兩個任務的水閘網(wǎng)絡(Ruder 等人,2017)。

模型應該共享什么?

在對這些最近的方法進行研究之后,我們現(xiàn)在對深度 MTL 模型中怎樣共享進行簡要總結并得出結論。傳統(tǒng)的大多數(shù) MTL 方法都側重于從相同分布中抽樣任務(Baxter,1997)。雖然這種情況有利于共享,但并不總是如此。為了開發(fā)強大的 MTL 模型,我們必須能夠處理無關或只松散相關的任務。

雖然 MTL 早期的深度學習研究已預先指定了為每個任務分配哪些層,但是這一策略并沒有衡量反而嚴重偏差了 MTL 結構。在技術發(fā)明 20 年之后,Hard 參數(shù)共享(由 Caruana(1997)最初提出)仍然是標準。雖然在許多情況下很有用,但如果任務不緊密相關或需要不同層次的推理,Hard 參數(shù)共享就會快速失效。因此,最近的方法正在考慮「學習」分享什么,并且這個方法通常優(yōu)于 Hard 參數(shù)共享。此外,賦予我們的模型學習任務層次結構的能力是有幫助的,特別是在需要不同粒度的情況下。

正如最初提到的,一旦我們優(yōu)化了多個損失函數(shù),我們就會做 MTL。與限制模型將所有任務的信息壓縮到相同的參數(shù)空間中不同,基于 MTL 的優(yōu)勢,我們上面討論的 MTL 的先進算法是有用的,并使模型能夠了解任務之間是如何交互的。

輔助任務

當我們希望一次獲得多個任務的預測時,MTL 是非常適合的。這種情況在金融或經(jīng)濟預測中較為常見,我們可能希望預測多種相關指標的值;或者在生物信息學中同時預測多種疾病的癥狀。

然而在大多數(shù)情況下,我們只關心一項任務的效果。在本節(jié)中,我們將介紹在利用多任務學習時如何找到合適的輔助任務。

相關任務

經(jīng)典的方法是使用相關任務作為 MTL 的輔助任務。為了了解相關任務是什么,我們將介紹一些典型的例子。Caruana(1997)使用多任務學習預測自動駕汽車的轉向方向,并將預測道路的不同特征作為輔助任務;[42] 使用多任務學習進行面部特征點檢測,并將頭姿勢估計和面部屬性推斷作為輔助任務;[43] 共同學習查詢分類和網(wǎng)頁搜索;[44] 共同預測圖像中對象的類和坐標;最后,[45] 共同預測文本到語音的音素持續(xù)時間和頻率分布(frequency profile)。

對抗性

通常,相關任務的標簽數(shù)據(jù)不可用。然而,在某些情況下,我們想要實現(xiàn)的任務與可用的任務結果相反??梢允褂脤箵p失函數(shù)來利用這些數(shù)據(jù),該損失函數(shù)不會使用梯度反轉層(gradient reversal layer)來最小化訓練誤差,相反會最大化訓練誤差。這個設置發(fā)現(xiàn)最近在域適應方面取得了成功 [46]。在這種情況下的對抗任務是預測輸入的域;通過反轉對抗任務的梯度,使對抗任務的損失函數(shù)得到最大化,由于它迫使模型學習不能區(qū)分域的表征,這將有利于主任務。

提示

如前所述,MTL 可用于學習使用原任務不容易學習的特征。實現(xiàn)這一點的有效方法是使用提示(hint),即將特征預測為輔助任務。在自然語言處理方面,最近的應用這個方法的例子是 [47],他們將預測一個輸入句是否包含一個正或負的情感詞作為情感分析(sentiment analysis)的輔助任務,同時,[48] 預測語句中是否存在名字作為名字錯誤檢測的輔助任務。

注意力機制

類似地,輔助任務可用于將注意力集中在網(wǎng)絡可能通常忽略的部分圖像上。例如,對于學習駕駛(Caruana,1997),單任務模型通??赡芎雎攒嚨罉擞?,因為它們僅構成圖像的一小部分,而且并不總在圖中出現(xiàn)。然后,將車道標記預測作為輔助任務,強制模型學習它們的表征;這個信息也可以用于主任務。類似地,對于面部識別,人們可能會學習將預測面部特征點的位置作為輔助任務,因為它們通常是獨特的。

量化平滑

對于許多任務,訓練目標是量化的,即可用的標簽是離散的,但是連續(xù)數(shù)值可能更合理。在許多情況下,需要人為評估收集的數(shù)據(jù),例如預測疾?。ǖ?中/高)或情感分析(積極/中性/消極)的風險。使用降低量化的輔助任務可能有助于這些情況,由于目標更平滑,它們可能更容易學習。

預測輸入

在某些情況下,使用某些特征作為輸入是不切實際的,因為它們對預測所需的目標無益。但是,它們仍然可以指導學習任務。在這些情況下,這些特征可以用作輸出而不是輸入。[49] 提出了這種方法適用的幾種情況。

用未來預測現(xiàn)在

在許多情況下,某些特征只能在預測之后才能使用。例如,對于自動駕駛汽車,車輛通過后可以進行更準確的障礙物測量和車道標記。Caruana(1997)也給出了肺炎預測的例子,預測后的結果能夠提供額外的醫(yī)學試驗結果。對于這些例子,附加數(shù)據(jù)不能用作特征,因為它不會在建模時作為輸入使用。然而,它可以用作輔助任務,以便在訓練期間向模型傳入額外的信息。

表征學習

MTL 中輔助任務的目標是使模型能夠學習對主任務有共享或有幫助的表征。迄今為止所討論的所有輔助任務都是隱式的:它們與主任務密切相關,以便幫助模型學習有用的表征。更顯式的建模是可能的,例如通過采用已知的任務使模型能夠學習可遷移的表征。Cheng 等人(2015)和 [50] 采用語言模型的目標作為輔助任務。類似地,自編碼器的目標也可以用于輔助任務。

哪些輔助任務是有幫助的?

在本節(jié)中,我們討論了可用于 MTL 的不同輔助任務,即使我們只關心一個任務。然而,我們仍然不知道什么輔助任務在實際中是有用的。尋找輔助任務主要是基于一種假設,即認為輔助任務與主任務有某種相關性,并且有助于預測主任務。

然而,我們仍然不知道什么時候兩個任務應該被認為是相似或相關的。Caruana(1997)定義如果兩個任務使用相同的特征作判斷,那么這兩個任務是相似的。Baxter(2000)認為理論上相關的任務共享一個共同的最優(yōu)假設類,即具有相同的歸納偏置。[50] 提出,如果兩個任務的數(shù)據(jù)可以使用一個從一組分布變換 F 得到的固定概率分布生成,那么兩個任務是 F-相關的。雖然這允許對不同傳感器收集的相同分類問題的數(shù)據(jù)的任務進行推理,例如用不同角度和照明條件的相機得到的數(shù)據(jù)進行對象識別,這不適用于處理不同問題的任務。Xue 等人(2007)討論,如果兩個任務的分類邊界即參數(shù)向量接近,則兩個任務是相似的。

在理解任務相關性方面,盡管有這些早期的理論進展,但實踐中還沒有太多進展。任務相似度不是二進制的,而是在一個頻譜范圍內。MTL 中,更多的相似任務有更大的作用,而較少的相似任務相反。允許我們的模型學習如何分享每個任務,可能使我們能夠暫時避開理論的缺失,并更好利用即使是松散相關的任務。然而,我們還需要制定一個有關任務相似性的原則概念,以便了解我們應該選擇哪些任務。

最近的工作 [52] 發(fā)現(xiàn)了標簽滿足緊湊且均勻分布的輔助任務,這適用于 NLP 中的序列標簽問題,并且已經(jīng)在實驗中(Ruder 等人,2017)得到證實。此外已經(jīng)發(fā)現(xiàn),主任務更有可能快速達到高峰平穩(wěn)(plateau),而輔助任務不容易達到高峰平穩(wěn) [53]。

然而,這些實驗迄今在范圍上受到限制,最近的發(fā)現(xiàn)僅提供了加深對神經(jīng)網(wǎng)絡中多任務學習理解的啟發(fā)式線索。

在本篇概述中,我們回顧了多任務學習的發(fā)展歷程,以及最近的深度學習 MTL 的研究。雖然對 MTL 的應用更加頻繁,但是有 20 年歷史的 Hard 參數(shù)共享模式仍然普遍存在于神經(jīng)網(wǎng)絡 MTL 中。然而,最新的基于讓模型學習共享參數(shù)的方法的進展讓我們看到了希望。同時,我們對任務的理解仍然有限(如,它們的相似性、關系、層次結構和 MTL 的用處),我們需要更多地了解它們,以便更好地了解 MTL 在深度神經(jīng)網(wǎng)絡方面的泛化能力。

本文來自機器之心(almosthuman2014)

眾論大數(shù)據(jù) 引領大時代

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多