Multi-task Learning(Review)多任務(wù)學(xué)習(xí)概述

背景:只專注于單個(gè)模型可能會(huì)忽略一些相關(guān)任務(wù)中可能提升目標(biāo)任務(wù)的潛在信息,通過(guò)進(jìn)行一定程度的共享不同任務(wù)之間的參數(shù),可能會(huì)使原任務(wù)泛化更好。廣義的講,只要loss有多個(gè)就算MTL,一些別名(joint learning,learning to learn,learning with auxiliary task)

目標(biāo):通過(guò)權(quán)衡主任務(wù)與輔助的相關(guān)任務(wù)中的訓(xùn)練信息來(lái)提升模型的泛化性與表現(xiàn)。從機(jī)器學(xué)習(xí)的視角來(lái)看,MTL可以看作一種inductive transfer(先驗(yàn)知識(shí)),通過(guò)提供inductive bias(某種對(duì)模型的先驗(yàn)假設(shè))來(lái)提升模型效果。比如,使用L1正則,我們對(duì)模型的假設(shè)模型偏向于sparse solution(參數(shù)要少)。在MTL中,這種先驗(yàn)是通過(guò)auxiliary task來(lái)提供,更靈活,告訴模型偏向一些其他任務(wù),最終導(dǎo)致模型會(huì)泛化得更好。

MTL Methods for DNN

  • hard parameter sharing (此方法已經(jīng)有26歲了<1993>)

在所有任務(wù)中共享一些參數(shù)(一般底層),在特定任務(wù)層(頂層)使用自己獨(dú)有參數(shù)。這種情況,共享參數(shù)得過(guò)擬合幾率比較低(相對(duì)非共享參數(shù)),過(guò)擬合的幾率是O(#tasks). [1]

image
  • soft parameter sharing

每個(gè)任務(wù)有自己的參數(shù),最后通過(guò)對(duì)不同任務(wù)的參數(shù)之間的差異加約束,表達(dá)相似性。比如可以使用L2, trace norm等。

image

優(yōu)點(diǎn)及使用場(chǎng)景

  1. implicit data augmentation: 每個(gè)任務(wù)多少都有樣本噪聲,不同的任務(wù)可能噪聲不同,最終多個(gè)任務(wù)學(xué)習(xí)會(huì)抵消一部分噪聲(類似bagging的思想,不同任務(wù)噪聲存在于各個(gè)方向,最終平均就會(huì)趨于零)
  2. 一些噪聲很大的任務(wù),或者訓(xùn)練樣本不足維度高,模型可能無(wú)法有效學(xué)習(xí),甚至無(wú)法無(wú)法學(xué)習(xí)到相關(guān)特征
  3. 某些特征可能在主任務(wù)不好學(xué)習(xí)(比如只存在很高階的相關(guān)性,或被其他因素抑制),但在輔助任務(wù)上好學(xué)習(xí)。可以通過(guò)輔助任務(wù)來(lái)學(xué)習(xí)這些特征,方法比如hints(預(yù)測(cè)重要特征)[2]
  4. 通過(guò)學(xué)習(xí)足夠大的假設(shè)空間,在未來(lái)某些新任務(wù)中可以有較好的表現(xiàn)(解決冷啟動(dòng)),前提是這些任務(wù)都是同源的。
  5. 作為一種正則方式,約束模型。所謂的inductive bias。緩解過(guò)擬合,降低模型的Rademacher complexity(擬合噪聲的能力,用于衡量模型的能力)

傳統(tǒng)方法中的MTL (linear model, kernel methods, Bayesian algo),其主要關(guān)注兩點(diǎn):

  1. 通過(guò)norm regularization使模型在任務(wù)之間具有稀疏性
  2. 對(duì)多任務(wù)之間關(guān)系進(jìn)行建模

1.1 Block-sparse regularization (mixed l1/lq norm)

目標(biāo):強(qiáng)制模型只考慮部分特征,前提為不同任務(wù)之間必須相關(guān)。

假設(shè)K個(gè)任務(wù)有相同的特征,和相同數(shù)量的模型參數(shù)。形成一個(gè)矩陣A(DxK),D為參數(shù)維度,K為任務(wù)數(shù),目標(biāo)為這些任務(wù)只使用一些特征,也就是A的某些行也0。(最簡(jiǎn)單的想法就是使其變?yōu)橐粋€(gè)low rank的矩陣;或者使用L1正則,因?yàn)長(zhǎng)1可以約束某些特征到0,如果我們想使某些行為0,則只要先對(duì)行聚合操作,再對(duì)聚合后的結(jié)果使用L1即可,具體可以參考文章 [3]。通常,使用lq norm 先對(duì)行(每個(gè)特征)進(jìn)行約束,之后使用L1 norm再約束,就是mixer l1/lq norm

發(fā)展:

  1. **group lasso [4] **: l1/l2 norm,通過(guò)trace norm 解決l1/l2 norm非凸; 之后有人對(duì)此提出了upper bound for using group lasso in MTL [5]
  2. 當(dāng)多個(gè)任務(wù)公共特征不多時(shí),l1/lq norm可能沒(méi)有elment-wise norm效果好。有人提出了結(jié)合這兩種方法,分解參數(shù)矩陣為A = S + B,對(duì)S使用lassso,對(duì)B使用l1/l_infinite。[6]
  3. distributed version of group-sparse reguarization [7]

2.1 regularization way for learning task relationship

當(dāng)任務(wù)之間相關(guān)性較弱,使用上述方法可能導(dǎo)致negative transfer(也就是負(fù)向效果)。在此情景下,我們希望增加的先驗(yàn)知識(shí)是,某些任務(wù)之間是相關(guān)的,但是某些任務(wù)之間是相關(guān)性較差。可以通過(guò)引入任務(wù)clustering來(lái)約束模型。可以通過(guò)penalize 不同任務(wù)的parameter vectors 和他們的方差。限制不同模型趨向于不同的各自 cluster mean vector。

image

類似的,比如SVM中引入bayesian方法,事先指定一些cluster,目標(biāo)在最大化margin的同時(shí)使不同任務(wù)趨向于各自的cluster中心;[8]

指定了cluster,可以通過(guò)聚類方法(類內(nèi),類間,自己的復(fù)雜度)對(duì)模型進(jìn)行約束

image

有些場(chǎng)景下,任務(wù)可能不會(huì)出現(xiàn)在同一個(gè)cluster,但存在潛在的相似結(jié)構(gòu),比如group-lasso在樹(shù)結(jié)構(gòu)和圖結(jié)構(gòu)的任務(wù)。

2.2 other methods for learning task relationship

  1. KNN methods for task clustering. [9]
  2. semi-supervised learning for learning common structures of some related tasks. [10]
  3. 多任務(wù)BNN,通過(guò)先驗(yàn)控制多任務(wù)的相似,模型復(fù)雜度大,可以使用sparse approximation貪心選擇樣本 [11];高斯過(guò)程中通過(guò)不同任務(wù)之間使用相同的covariance matrix和相同的先驗(yàn)(進(jìn)而也降低復(fù)雜度)[12]
  4. 對(duì)每個(gè)task-specific layers 使用高斯先驗(yàn),可以使用一個(gè)cluster的混合分布(事先定好)來(lái)促使不同任務(wù)的相似 [13]
  5. 進(jìn)而,通過(guò)一個(gè)dirichlet process采樣分布,使模型任務(wù)之間的相似性和cluster的數(shù)目。相同cluster的任務(wù)使用同一個(gè)模型 [14]
  6. hierarchical Bayesian model,學(xué)習(xí)一個(gè)潛在的任務(wù)結(jié)構(gòu) [15]
  7. MTL extension of the regularized Perceptron,encodes task relatedness in a matrix. 之后可以通過(guò)不同正則對(duì)其限制(比如rank)[16]
  8. 不同tasks屬于不同的獨(dú)立cluster,每個(gè)cluster存在于一個(gè)低維空間,每個(gè)cluster的任務(wù)共用同一個(gè)模型。通過(guò)交替迭代學(xué)習(xí)不同cluster的分配權(quán)重和每個(gè)cluster的模型權(quán)重。假定任務(wù)之間的絕對(duì)獨(dú)立可能不太好 [17]
  9. 假設(shè)兩個(gè)不同cluster的兩個(gè)任務(wù)之間存在重疊,存在一部分的latent basis tasks。令每個(gè)任務(wù)的模型參數(shù)是latent basis tasks的線性組合,對(duì)latent basis tasks限制為稀疏的。重疊部分控制共享程度 [18]
  10. 學(xué)習(xí)一小撮shared hypotheses,之后map each task to a single hypothesis [19]

DNN中的MTL

Deep Relation Network [20]

計(jì)算機(jī)視覺(jué)中,一般共享卷積層,之后是任務(wù)特定的DNN層。通過(guò)對(duì)任務(wù)層設(shè)定先驗(yàn),使模型學(xué)習(xí)任務(wù)之間的關(guān)系。

image

Fully-Adaptive Feature Sharing [21]

從一個(gè)簡(jiǎn)單結(jié)構(gòu)開(kāi)始,貪心地動(dòng)態(tài)地加寬模型,使相似的模型聚簇。貪心方法可能無(wú)法學(xué)到全局最優(yōu)結(jié)構(gòu);每個(gè)分支一個(gè)任務(wù)無(wú)法學(xué)習(xí)任務(wù)之間的復(fù)雜關(guān)系。

image

Cross-stitch Networks [22]

soft parameter sharing,通過(guò)線性組合學(xué)習(xí)前一層的輸出,允許模型決定不同任務(wù)之間的分享程度

image

Low supervision [23]

尋找更好的多任務(wù)結(jié)構(gòu)復(fù)雜任務(wù)的底層應(yīng)該被低級(jí)任務(wù)目標(biāo)來(lái)監(jiān)督(比如NLP前幾層學(xué)習(xí)一個(gè)NER或POS輔助任務(wù))

A Joint Many-task Model [24]

對(duì)多個(gè)NLP任務(wù)預(yù)先設(shè)定層級(jí)結(jié)構(gòu),之后joint learning

image

Weighting losses with uncertainty [25]

不考慮學(xué)習(xí)共享的結(jié)構(gòu),考慮每個(gè)任務(wù)的不確定性。通過(guò)優(yōu)化loss(Gaussian likelihood with task-dependant uncertainty),調(diào)節(jié)不同tasks之間的相似性。

image

Tensor factorisation for MTL [26]

對(duì)每層參數(shù)進(jìn)行分解,為shared和task-specific

Sluice Networks [27]

大雜燴(hard parameter sharing + cross stitch networks + block-sparse regularization + task hierarchy(NLP) ),使得模型自己學(xué)習(xí)哪些層,哪些子空間來(lái)共享,在哪層模型找到了inputs的最優(yōu)表達(dá)。

image

當(dāng)不同的任務(wù)相關(guān)性大,近似服從相同的分布,共享參數(shù)是有益的,如果相關(guān)性不大或者不相關(guān)的任務(wù)呢?

早期工作是預(yù)先為每對(duì)任務(wù)指定哪些層來(lái)分享,這種方法擴(kuò)展性差且模型結(jié)構(gòu)嚴(yán)重有偏;當(dāng)任務(wù)相關(guān)性下降或需要不同level推理時(shí),hard parameter sharing就不行了。

目前比較火的是learning what to share(outperform hard parameter sharing);還有就是對(duì)任務(wù)層級(jí)進(jìn)行學(xué)習(xí)在任務(wù)具有多粒度因素時(shí)也是有用的。

Auxiliary task

我們只關(guān)注主任務(wù)目標(biāo),但是希望從其他有效的輔助任務(wù)中獲利!

目前選擇一些輔助任務(wù)方法

  1. Related task:常規(guī)思路(自動(dòng)駕駛+路標(biāo)識(shí)別; query classification+web search;坐標(biāo)預(yù)測(cè)+物體識(shí)別;duration+frequency)
  2. Adversarial:在domain adaption,相關(guān)的任務(wù)可能無(wú)法獲取,可以使用對(duì)抗任務(wù)作為negative task(最大化training error),比如輔助任務(wù)為預(yù)測(cè)輸入的domain,則導(dǎo)致主任務(wù)模型學(xué)習(xí)的表征不能區(qū)分不同的domain。
  3. Hints:前面提到的某些特征在某些任務(wù)不好學(xué),選擇輔助任務(wù)為predicting features(NLP中主任務(wù)為情感預(yù)測(cè),輔助任務(wù)為inputs是否包含積極或消極的詞;主任務(wù)name error detection,輔助任務(wù)為句子中是否有name)
  4. Focusing attention:使模型注意到那些在任務(wù)中可能不容易被注意到的部分(自動(dòng)駕駛+路標(biāo)檢測(cè); 面部識(shí)別+頭部位置識(shí)別)
  5. Quantization smoothing:某些任務(wù)中,訓(xùn)練目標(biāo)是高度離散化的(人為打分,情感打分,疾病風(fēng)險(xiǎn)等級(jí)),使用離散程度較小的輔助任務(wù)可能是有幫助的,因?yàn)?strong>目標(biāo)更平滑使任務(wù)更好學(xué)
  6. prediting inputs:有些場(chǎng)景下,可能不會(huì)選擇某些特征,由于其不利于預(yù)估目標(biāo),但是這可能這些特征對(duì)模型的訓(xùn)練有一定的幫助,這種場(chǎng)景下,這些特征可以作為outputs而不是inputs
  7. Using the future to predict the presnet有些特征只有在決策之后才會(huì)有,比如自動(dòng)駕駛時(shí),當(dāng)車路過(guò)一些物體才得到這些物體的數(shù)據(jù);醫(yī)療中只有使用過(guò)藥物才知此藥物的效果。這些特征不能作為inputs,但是可以用作輔助任務(wù),來(lái)給主任務(wù)在訓(xùn)練過(guò)程中透露信息。
  8. representation learning:auxiliary task大多都是潛在地學(xué)習(xí)一些特征表達(dá),且一定程度上都利于主任務(wù)。也可以顯示地對(duì)此學(xué)習(xí)(使用一個(gè)學(xué)習(xí)遷移特征表達(dá)的輔助任務(wù),比如AE)

那么,哪些auxiliary task是有用的呢?

auxiliary task背后的假設(shè)是輔助任務(wù)應(yīng)該在一定程度上與主任務(wù)相關(guān),利于主任務(wù)的學(xué)習(xí)。

那么如何衡量?jī)蓚€(gè)任務(wù)是否相關(guān)呢?

一些理論研究:

  1. 使用相同的特征做決策
  2. 相關(guān)的任務(wù)共享同一個(gè)最優(yōu)假設(shè)空間(having the same inductive bias)
  3. F-related: 如果兩個(gè)任務(wù)的數(shù)據(jù)是通過(guò)一個(gè)固定分布經(jīng)過(guò)一些變換得到 [28]
  4. 分類邊界(parameter vectors)接近

任務(wù)是否相似不是非0即1的,越相似的任務(wù),收益越大。learning what to share允許我們暫時(shí)忽略理論上的不足,即使相關(guān)性不好的任務(wù)之間也能有所收益。但是發(fā)展任務(wù)之間的相似性對(duì)我們?cè)谶x擇輔助任務(wù)上也是有絕對(duì)的幫助的。

MTL learning Tips

  1. 緊湊分布均勻的label的輔助任務(wù)更好(from POS in NLP)[29]
  2. 主任務(wù)訓(xùn)練曲線更快平穩(wěn),輔助任務(wù)平穩(wěn)慢(還未平穩(wěn))[30]
  3. 不同任務(wù)尺度不一樣,任務(wù)最優(yōu)學(xué)習(xí)率可能不同
  4. 某個(gè)任務(wù)的輸出可以作為某些任務(wù)的輸入
  5. 某些任務(wù)的迭代周期不同,可能需要異步訓(xùn)練(后驗(yàn)信息;特征選擇,特征衍生任務(wù)等)
  6. 整體loss可能被某些任務(wù)主導(dǎo),需要整個(gè)周期對(duì)參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整通過(guò)引入一些不確定性,每個(gè)任務(wù)學(xué)習(xí)一個(gè)噪聲參數(shù),統(tǒng)一所有損失 [31]
  7. 某些估計(jì)作為特征(交替訓(xùn)練

總結(jié)

20多歲的hard parameter shareing還是很流行,目前熱點(diǎn)learning what to learn也很有價(jià)值,我們對(duì)tasks的理解(similarity, relationship, hierrarchy, benefit for MTL) 還是很有限的,希望以后有重大發(fā)展吧。

可研究方向

  1. learning what to share
  2. measurement for similarity of tasks
  3. using task uncertainty
  4. 引入異步任務(wù)(特征學(xué)習(xí)任務(wù)),采用交替迭代訓(xùn)練
  5. 學(xué)習(xí)抽象子任務(wù);學(xué)習(xí)任務(wù)結(jié)構(gòu)(類似強(qiáng)化里面的hierarchy learning)
  6. 參數(shù)學(xué)習(xí)輔助任務(wù)
  7. More...

備注:本文學(xué)習(xí)資料主要來(lái)自 An Overview of Multi-Task Learning in Deep Neural Networkshttps://arxiv.org/abs/1706.05098**

Reference

[1] A Bayesian/information theoretic model of learning to learn via multiple task sampling. http://link.springer.com/article/10.1023/A:1007327622663

[2] Learning from hints in neural networks. Journal of Complexity https://doi.org/10.1016/0885-064X(90)90006-Y

[3] Multi-Task Feature Learning http://doi.org/10.1007/s10994-007-5040-8

[4] Model selection and estimation in regression with grouped variables

[5] Taking Advantage of Sparsity in Multi-Task Learninghttp://arxiv.org/pdf/0903.1468

[6] A Dirty Model for Multi-task Learning. Advances in Neural Information Processing Systems https://papers.nips.cc/paper/4125-a-dirty-model-for-multi-task-learning.pdf

[7] Distributed Multi-task Relationship Learning http://arxiv.org/abs/1612.04022

[8] Regularized multi-task learning https://doi.org/10.1145/1014052.1014067

[9] Discovering Structure in Multiple Learning Tasks: The TC Algorithm http://scholar.google.com/scholar?cluster=956054018507723832&hl=en

[10] A Framework for Learning Predictive Structures from Multiple Tasks and Unlabeled Data

[11] Empirical Bayes for Learning to Learn

[12] Learning to learn with the informative vector machine https://doi.org/10.1145/1015330.1015382

[13] Task Clustering and Gating for Bayesian Multitask Learning https://doi.org/10.1162/153244304322765658

[14] Multi-Task Learning for Classification with Dirichlet Process Priors

[15] Bayesian multitask learning with latent hierarchies http://dl.acm.org.sci-hub.io/citation.cfm?id=1795131

[16] Linear Algorithms for Online Multitask Classification

[17] Learning with whom to share in multi-task feature learning

[18] Learning Task Grouping and Overlap in Multi-task Learning

[19] Learning Multiple Tasks Using Shared Hypotheses

[20] Learning Multiple Tasks with Deep Relationship Networks http://arxiv.org/abs/1506.02117

[21] Fully-adaptive Feature Sharing in Multi-Task Networks with Applications in Person Attribute Classification http://arxiv.org/abs/1611.05377

[22] Cross-stitch Networks for Multi-task Learning https://doi.org/10.1109/CVPR.2016.433

[23] Deep multi-task learning with low level tasks supervised at lower layers

[24] A Joint Many-Task Model: Growing a Neural Network for Multiple NLP Tasks http://arxiv.org/abs/1611.01587

[25] Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics http://arxiv.org/abs/1705.07115

[26] Deep Multi-task Representation Learning: A Tensor Factorisation Approach https://doi.org/10.1002/joe.20070

[27] Sluice networks: Learning what to share between loosely related tasks http://arxiv.org/abs/1705.08142

[28] Exploiting task relatedness for multiple task learning. Learning Theory and Kernel Machines https://doi.org/10.1007/978-3-540-45167-9_41

[29] When is multitask learning effective? Multitask learning for semantic sequence prediction under varying data conditions http://arxiv.org/abs/1612.02251

[30] Identifying beneficial task relations for multi-task learning in deep neural networks http://arxiv.org/abs/1702.08303

[31] Multitask learning using uncertainty to weigh losses for scene geometry and senantics

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容