1.導言
現在多任務學習根據實現方法可以粗略地被分為兩種,一個是基於神經網絡的多任務學習[1][2][3][4],這種多任務學習在CV和NLP取得了大量的應用。

然而我們最根溯源,其實多任務學習最開始並不是基於神經網絡的,而是另一種經典的方法——基於正則表示的多任務學習,我們這篇文章也主要介紹后者。為什么在深度學習稱為主流的今天,我們還需要了解過去的傳統方法呢?
首先,經典的多任務學習和基於神經網絡的多任務學習方法本質上都是基於知識共享的思想,而這種思想其他領域,比如聯邦學習中得到了大量的應用(參見我的博客《分布式多任務學習及聯邦學習個性化》)。而經典的基於正則表示的多任務學習更容易分布式化,因此大多數聯邦多任務學習的論文靈感其實都來源於經典方法。我的研究領域主要是聯邦學習,故我們下面主要介紹經典多任務學習。
2、多任務學習簡介
2.1 多任務學習:遷移學習和知識表示的延伸
多任務學習(Multi-task Learning, MTL)近年來在CV、NLP、推薦系統等領域都得到了廣泛的應用。類似於遷移學習,多任務學習也運用了知識遷移的思想,即在不同任務間泛化知識。但二者的區別在於:
- 遷移學習可能有多個源域;而多任務學習沒有源域而只有多個目標域。
- 遷移學習注重提升目標任務性能,並不關心源任務的性能(知識由源任務\(\rightarrow\)目標任務;而多任務學習旨在提高所有任務的性能(知識在所有任務間相互傳遞)。
下圖從知識遷移流的角度來說明遷移學習和多任務學習之間的區別所示:

不嚴格地說,多任務學習的目標為利用多個彼此相關的學習任務中的有用信息來共同對這些任務進行學習。
2.2 多任務學習目前的兩大主要實現方式
現在多任務學習根據數據的收集方式可以粗略地被分為兩種,一個是集中化的計算方法,一種是分布式的計算方法,可以參見我的博客《分布式多任務學習及聯邦學習個性化》。
3、基於正則化的多任務學習
3.1 基於正則化的多任務學習的形式表述
形式化地說,給定\(t\)個學習任務(我們這里只討論監督學習)\(\{\mathcal{T}_t\}_{t=1}^T\),每個任務各有一個訓練集\(\mathcal{D}_t = {\{(\bm{x}_{ti}, y_{ti})}_{i=1}^{m_t}\}\),其中\(\bm{x_{ti}} \in \mathbb{R}^{d}\),\(y_{ti} \in \mathbb{R}\)。多任務學習的目標是根據\(T\)個任務的訓練集學習\(T\)個函數\(\{f_t(\bm{x})\}_{t=1}^{T}\),使得\(f_t(\bm{x}_{ti})\)可以很好的近似\(y_{ti}\)。學習完成后,\(f_t(\cdot)\)將用於對第\(t\)個任務中的新數據樣本的標簽進行預測。
接下來我們描述多任務學習的目標函數,若第\(t\)個任務的經驗風險形式為\(\mathbb{E}_{(\bm{x_{ti}, y_{ti})\sim \mathcal{D}_t}}[L(y_{ti}, f(\bm{x}_{ti};\bm{w}_t))]\)(設\(\bm{w}_t\)為第\(t\)個模型的參數),則一般多任務學習的目標函數形式為
(此處\(\textbf{W}=(\bm{w}_1,\bm{w}_2,...,\bm{w}_T)\)為所有任務參數構成的矩陣)
不過,如果我們直接對各任務的損失函數和\(\sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, f(\bm{x}_{ti}))]\)進行優化,我們發現不同任務的損失函數是解耦(decoupled)的,無法完成我們的多任務學習任務。在多任務學習中一種典型的方法為增加一個正則項[5][6][7]:
這里\(g(\textbf{W})\)編碼了任務的相關性(多任務學習的假定)並結合了\(T\)個任務;\(\lambda\)是一個正則化參數,用於控制有多少知識在任務間共享。在許多論文中,都假設了損失函數\(f(\textbf{W})\)是凸的,且是\(L\text{-Lipschitz}\)可導的(對\(L>0\)),然而正則項\(g(\textbf{W})\)雖然常常不滿足凸性(比如采用矩陣的核范數),但是我們認為其實接近凸的,可以采用近端梯度算法(proximal gradient methods)[8]來求解。
3.2 基於正則化的多任務學習分類
基於正則化的多任務學習依靠正則化來找到任務之間的相關性,大致可以分為基於特征和基於模型的這兩種。
3.2.1 基於特征的多任務學習
a. 特征變換
即通過線性/非線性變換由原始特征構建共享特征表示。這種思想最早可追溯到多任務學習的開山論文——使用多層前饋網絡(Caruana, 1997)[9],如下圖所示:

該示例中,假設所有任務的輸入相同,將多層前饋網絡的隱藏層輸出視為所有任務共享的特征表示,將輸出層的輸出視為對\(T\)個任務的預測結果。
如果采用我們采用正則化框架,多任務特征學習(Multi-Task Feature Learning, MTFL)方法[10][11](Argyrious等人,2006、2008)和多任務稀疏編碼(Multi-Task Sparse Coding, MTSC)[12]方法(Maurer等, 2013)都通過酉變換\(\hat{\bm{x}}_{ti}= \textbf{U}^T\bm{x}_{ti}\)來為每個任務先構造共享特征表示, 再在此基礎上為每個任務學習線性函數\(f_t(\bm{x}_{ti})=\langle \bm{a}_t, \hat{\bm{x}}_{ti} \rangle\)。設每個\(f_t(\bm{x}_{ti})\)的參數為\(\bm{a}_{t}\),設線性函數的參數矩陣為\(\textbf{A}=(\bm{a}_1,...,\bm{a}_T)\)。 該方法定義的優化問題表示如下:
這里\(\mathbf{U} \in \mathbb{R}^{d \times d}\)是酉(正交)矩陣。
與MTFL不同, MTSC方法的目標函數定義為
此時\(\mathbf{U}^T \in \mathbb{R}^{d^{'}\times d}(d^{'}<d)\),除了學習共享特征表示之外,還會起到降維的作用,\(d^{'}\)為降維后的新特征維度,此外我們通過\(l_1\)約束使\(\mathbf{A}\)是稀疏的。
b. 聯合特征學習(joint feature learning)
通過特征選擇得到原始特征的共享子集(shared feature subset),以做為共享的特征表示。我們常采用的方法是將參數矩陣\(\textbf{W}=(\bm{w}_1,...,\bm{w}_T)\)正則化使其稱為行稀疏矩陣,從而去除特定特征對於線性模型預測的影響,只有對所有任務都有用的特征被保留。
所有正則化方法中,最廣泛使用的是\(l_{p, q}\)正則化(即采用\(l_{p, q}\)范數做為正則項),其目標函數為:
\(l_{p, q}\)正則化的特例是\(l_{2, 1}\)[13][14](Obozinski等人,2006、2010)和\(l_{\infin}\)無窮正則化[15](Liu等人,2009b)。\(l_{2, 1}\)正則化中采用\(l{2, 1}\)范數\(||\textbf{W}||_{2, 1} = \sum_{i=1}^{d}||\bm{w}^{i}||_2\)(此處\(d\)為特征維度,\(\bm{w}^i\)為\(\textbf{W}\)第\(i\)行),\(l_{\infin,1}\)正則化采用\(l_{\infin, 1}\)范數\(||\mathbf{W}||_{\infin, 1}=\sum_{i=1}^d||\bm{w}^i||_{\infin}= \sum_{i=1}^d\underset{1\leqslant t \leqslant T}{\text{max}}|w_{jt}|\),即先對每一行方向求絕對值最大,然后再沿着行方向求和(注意區分這個和矩陣的\(\infin\)范數,求和與求最大的順序是不一樣的!這里相當於求向量的無窮范數之和))。為了獲得對所有特征都有用的更緊湊的子集,Gong等人[16](2013)提出了上限\(l_{p, 1}\)懲罰項\(\sum_{i=1}^{d}\min(||\bm{w}^i||_p, \theta)\),當\(\theta\)足夠大時它將退化為\(l_{p, 1}\)正則化。
3.2.2 基於模型的多任務監督學習
a. 共享子空間學習(shared subspace learning)
該方法的假設參數矩陣\(\textbf{W}\)為低秩矩陣,以使相似的任務擁有相似的參數向量(即\(\textbf{W}\)的\(T\)個列向量盡量線性相關),以使\(T\)個任務的模型參數\(\bm{w_t}\)都來自一個共享低秩子空間。Ando和Zhang(2005)[17]提出了一個對\(\bm{w}_t\)的參數化方式,即\(\bm{w}_t = \bm{p}_t + \mathbf{\Theta}^T \bm{q}_t\),其中線性變換\(\mathbf{\Theta}^T\in \mathbb{R}^{d^{'} \times d}(d^{'}<d)\)由於構建任務的共享子空間,\(\bm{p}_t\)是任務特定的參數向量。在正則項設計方面,我們在\(\mathbf{\Theta}\)上使用正交約束\(\mathbf{\Theta}{\Theta}^T = \mathbf{I}\)來消除冗余,此時相應的目標函數為:
Chen等人(2009)[18]通過為\(\mathbf{W}\)增加平方Frobenius正則化推廣了這一模型(Frobenius范數表達式為\(||\mathbf{A}||_{F}= (\text{tr}(\mathbf{A}^T\mathbf{A}))^{1/2}=\left(\sum_{i=1}^m\sum_{j=1}^nA_{ij}^2 \right)^{1/2} = \left(\sum_{i=1}^{\min(d, T)}\sigma_i(\mathbf{A})^2\right)^{1/2}\)),並采用松弛技術將問題轉換為了凸優化問題。
除此之外,根據優化理論,使用矩陣的核范數(nuclear norm, 有時也稱跡范數(trace norm))\(||\mathbf{W}||_{*}= \text{tr}((\mathbf{A}^T\mathbf{A})^{1/2}) = \sum_{i=1}^{\min(d, T)}\sigma_i(\mathbf{W})\)來進行正則化會產生低秩矩陣,所以核范數正則化(pong等人)也在多任務學習中應用廣泛,此時目標函數通常為:
核范數是一rank function[19](Fazel等人, 2001)的緊的凸松弛,可以用近端梯度下降法求解。
b. 聚類方法
該方法受聚類方法的啟發,基本思想為:將任務分為若個個簇,每個簇內部的任務在模型參數上更相似。
Thrun等人(1996)[20]提出了第一個任務聚類算法,它包含兩個階段。在第一階段,該方法根據在單任務下單獨學習得到的模型來聚類任務,確定不同的任務簇。在第二階段,聚合同一個任務簇中的所有訓練數據,以學習這些任務的模型。這種方法把任務聚類和模型參數學習分為了兩個階段,可能得不到最優解,因此后續工作都采用了同時學習任務聚類和模型參數的方法。
Bakker等人(2003)[21]提出了一個多任務貝葉斯神經網絡(multi-task Bayesian neural network),其結構與我們前面所展現的多層神經網絡相同,其亮點在於基於連接隱藏層和輸出層的權重采用高斯混合模型(Gaussian mixture model)對任務進行分組。若給定數據集\(\mathcal{D} = \{D_t\}, t=1,...,T\),設隱藏層維度為\(h\),輸出層維度為\(T\),\(\mathbf{W}\in \mathbb{R}^{T\times (h + 1)}\)代表隱藏層到輸出層的權重矩陣(結合了偏置)。我們假定每個任務對應的權重向量\(\mathbf{w}_t\)(\(\mathbf{W}\)的第\(t\)列)關於給定超參數獨立同分布,我們假定第\(t\)個任務先驗分布如下:
這是一個高斯分布,均值為\(\bm{u} \in \mathbb{R}^{h + 1}\),協方差矩陣\(\mathbf{\Sigma} \in \mathbb{R}^{ (h+1) \times (h+1)}\)。
我們上面的定義其實假定了所有任務屬於一個簇,接下來我們假定我們有不同的簇(每個簇由相似的任務組成)。我們設有\(C\)個簇(cluster),則任務\(t\)的權重\(w_t\)為\(C\)個高斯分布的混合分布:
其中,每個高斯分布可以被認為是描述一個任務簇。式\((9)\)中的\(\alpha_c\)代表了任務\(t\)被分為簇\(c\)的先驗概率,其中task clustering(如下面左圖所示)模型中所有任務對簇\(c\)的加權\(\alpha_c\)都相同;而task-depenent模型(如下面右圖所示)中各任務對簇\(c\)的加權\(\alpha_{tc}\)不同,且依賴於各任務特定的向量\(\bm{f}_t\)。
Xue等人(2007)[22]根據模型參數應用Dirichlet過程(一種廣泛用於數據聚類的貝葉斯模型)對任務進行分組。
除了依賴貝葉斯模型的方法,還有一些正則化方法也被用於分組任務。如Jocob等人(2008)[23]提出了一個正則化項,將任務簇內部和之間的差異都考慮在內,以幫助學習任務簇,目標函數為:
其中第一個正則項度量所有任務任務平均權重的大小,第二個正則項表示任務簇內部的差異和簇之間的差異。\(\mathbf{\Pi} \in \mathbb{R}^{T \times T}\)表示中心化矩陣,\(\mathbf{A} \preccurlyeq \mathbf{B}\)表示\(\mathbf{B}-\mathbf{A}\)一定是半正定(Positive Semi-Definite, PSD)矩陣。\(\alpha\)、\(\beta\)、\(\gamma\)是三個超參數。注意在問題\((10)\)中,\(\mathbf{\Sigma}\)學習到了任務簇的結構,因此在解決優化問題\((10)\)之后,可以基於最優\(\mathbf{\Sigma}\)來確定任務簇結構。
Kang等人(2011)[24]將式\((3)\)所示的MTFL方法擴展到多個任務簇的情況下,其中每個任務簇中任務的學習模型是MTFL方法,其目標函數為:
這里\(||\cdot||_{*}\)是矩陣的跡范數。\(q_{ct}\in \{0, 1\}\) 是一個二值變量,表示任務\(t\)是否被分入第\(c\)個簇。矩陣\(\mathbf{Q} \in \mathbb{R}^{C\times T}\)以\(q_{ct}\)作為其元素,表示任務的划分情況。\(\mathbf{Q}_c \in \mathbb{R}^{T\times T}\)為第\(c\)個簇對應的對角矩陣,其對角元素為\(q_{ct}\),故對角矩陣\(\mathbf{Q}_c\)可用於識別第\(c\)個聚類的情況。
為了自動確定聚類的數量,Han和Zhang(2015a)[25]提出了先將任務划分為多個層次,然后再分別將各個層次的任務划分為簇。我們假定有\(H\)個任務層次(\(H\)為用戶定義的超參數),我們將權重矩陣分解為:
\(\mathbf{W}_h\)用於學習第\(h\)層次的任務簇。\(\mathbf{W}_h = (\bm{w}_{h,1},...,\bm{w}_{h,T})\in \mathbb{R}^{d\times T}\),其中\(\bm{w}_{h, t}\)是在\(h\)層次中任務\(t\)的參數。該論文將最終的正則化的目標函數(論文稱之為MeTaG方法)寫為
這里\(\lambda_h\)是正的正則化參數,正則項用\(l_2\)范數度量了\(\mathbf{W}_h\)不同列向量之間的兩兩差異,促使\(\mathbf{W}_h\)中的每對列向量\(\bm{w}_{h, i}\)和\(\bm{w}_{h, j}\)相等(即強制融合每對任務的模型參數),這樣在第\(h\)層的第\(i\)個和第\(j\)個任務就同屬一個任務簇。\(\lambda_h\)控制了第\(h\)層的任務任務聚類的強度,\(\lambda_h\)越大則意味着在第\(h\)層的任務簇更少。當\(\lambda_h \rightarrow \infin\),\(\mathbf{W}_h\)所有列將趨於相同,即只有一個任務簇。在求解問題\((13)\)之后,通過比較\(\mathbf{W}_h\)矩陣的列就可以識別任務簇的結構並確定任務簇的數量。
Kumar和Daume(2012)[26]以及Barizilai和Crammer(2015)[27]都提出了\(\mathbf{W} = \mathbf{L}\mathbf{S}(\mathbf{W} \in \mathbb{R}^{d\times T}, \mathbf{L} \in \mathbb{R}^{d\times C}, \mathbf{S} \in \mathbb{R}^{C\times T})\)的分解形式,其中\(\textbf{L}\)的列\(\bm{l}_c\)對應任務簇\(c\)的隱(latent)參數,\(\textbf{S}\)的列\(\bm{s}_t\)對應一組線性組合系數(\(\bm{w}_t = \mathbf{L}\mathbf{s}_t\),相當於\(s_t\)對\(\mathbf{L}\)中各列進行線性組合,以得到\(\bm{w}_t\))。這兩種方法的目標函數可以統一為
其中\(\mathbf{L}\)由Frobenius范數來進行正則化,但在這兩種方法中,\(\mathbf{S}\)由不同的\(h(\cdot)\)函數懲罰。我們想讓\(\mathbf{S}\)更稀疏,即讓一個任務屬於盡量少的任務簇(在本模型每個任務屬於多個任務簇是合法的),因此Kumar和Daume(2012)定義了\(h(\mathbf{S}) = ||\mathbf{S}||_1\)(\(\text{Lasso}\))來完成稀疏化,而Barzilai和Crammer(2015)的定義方法更為嚴格
該正則函數試圖為每個任務只指定單一的任務簇,這里\(C\)代表集群的數量,\(\mathbf{S}\)是一個\(C\times T\)的0-1矩陣,\(\bm{s}_t\)代表\(\mathbf{S}\)的第\(t\)列。
綜上所述,聚類⽅法的思想可以總結為:將不同任務分為不同的獨⽴簇,每個簇存在於⼀個低維空間,每個簇的任務共⽤同⼀個模型。我們可以通過交替迭代學習不同簇的分配權重和每個簇的模型權重。就這種方法而言,任務之間有強的關聯性,並行化難度非常大,后面我們在提到如何將基於聚類的方法並行化時再細講。
我們對基於正則化的多任務學習方法介紹就到此為止,后面我們會介紹如何采用不同的手段對這類方法進行分布式並行。
參考文獻
-
[1] Long M, Cao Z, Wang J, et al. Learning multiple tasks with multilinear relationship networks[J]. arXiv preprint arXiv:1506.02117, 2015.
-
[2] Misra I, Shrivastava A, Gupta A, et al. Cross-stitch networks for multi-task learning[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 3994-4003.
-
[3] Hashimoto K, Xiong C, Tsuruoka Y, et al. A joint many-task model: Growing a neural network for multiple nlp tasks[J]. arXiv preprint arXiv:1611.01587, 2016.
-
[4] Kendall A, Gal Y, Cipolla R. Multi-task learning using uncertainty to weigh losses for scene geometry and semantics[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 7482-7491.
-
[5] Evgeniou T, Pontil M. Regularized multi--task learning[C]//Proceedings of the tenth ACM SIGKDD international conference on Knowledge discovery and data mining. 2004: 109-117.
-
[6] Zhou J, Chen J, Ye J. Malsar: Multi-task learning via structural regularization[J]. Arizona State University, 2011, 21.
-
[7] Zhou J, Chen J, Ye J. Clustered multi-task learning via alternating structure optimization[J]. Advances in neural information processing systems, 2011, 2011: 702.
-
[8] Ji S, Ye J. An accelerated gradient method for trace norm minimization[C]//Proceedings of the 26th annual international conference on machine learning. 2009: 457-464.
-
[9] Caruana R. Multitask learning[J]. Machine learning, 1997, 28(1): 41-75
-
[10] Evgeniou A, Pontil M. Multi-task feature learning[J]. Advances in neural information processing systems, 2007, 19: 41.
-
[11] Argyriou A, Evgeniou T, Pontil M. Convex multi-task feature learning[J]. Machine learning, 2008, 73(3): 243-272.
-
[12] Maurer A, Pontil M, Romera-Paredes B. Sparse coding for multitask and transfer learning[C]//International conference on machine learning. PMLR, 2013: 343-351.
-
[13] Obozinski G, Taskar B, Jordan M. Multi-task feature selection[J]. Statistics Department, UC Berkeley, Tech. Rep, 2006, 2(2.2): 2.
-
[14] Obozinski G, Taskar B, Jordan M I. Joint covariate selection and joint subspace selection for multiple classification problems[J]. Statistics and Computing, 2010, 20(2): 231-252.
-
[15] Liu H, Palatucci M, Zhang J. Blockwise coordinate descent procedures for the multi-task lasso, with applications to neural semantic basis discovery[C]//Proceedings of the 26th Annual International Conference on Machine Learning. 2009: 649-656.
-
[16] Gong P, Ye J, Zhang C. Multi-stage multi-task feature learning[J]. arXiv preprint arXiv:1210.5806, 2012.
-
[17] Ando R K, Zhang T, Bartlett P. A framework for learning predictive structures from multiple tasks and unlabeled data[J]. Journal of Machine Learning Research, 2005, 6(11).
-
[18] Chen J, Tang L, Liu J, et al. A convex formulation for learning shared structures from multiple tasks[C]//Proceedings of the 26th Annual International Conference on Machine Learning. 2009: 137-144.
-
[19] Fazel M, Hindi H, Boyd S P. A rank minimization heuristic with application to minimum order system approximation[C]//Proceedings of the 2001 American Control Conference.(Cat. No. 01CH37148). IEEE, 2001, 6: 4734-4739.
-
[20] Thrun S, O'Sullivan J. Discovering structure in multiple learning tasks: The TC algorithm[C]//ICML. 1996, 96: 489-497.
-
[21] Bakker B J, Heskes T M. Task clustering and gating for bayesian multitask learning[J]. 2003.
-
[22] Xue Y, Liao X, Carin L, et al. Multi-task learning for classification with dirichlet process priors[J]. Journal of Machine Learning Research, 2007, 8(1).
-
[23] Zhou J, Chen J, Ye J. Clustered multi-task learning via alternating structure optimization[J]. Advances in neural information processing systems, 2011, 2011: 702.
-
[24] Kang Z, Grauman K, Sha F. Learning with whom to share in multi-task feature learning[C]//ICML. 2011.
-
[25] Han L, Zhang Y. Learning multi-level task groups in multi-task learning[C]//Twenty-Ninth AAAI Conference on Artificial Intelligence. 2015.
-
[26] Kumar A, Daume III H. Learning task grouping and overlap in multi-task learning[J]. arXiv preprint arXiv:1206.6417, 2012.
-
[27] Barzilai A, Crammer K. Convex multi-task learning by clustering[C]//Artificial Intelligence and Statistics. PMLR, 2015: 65-73.
-
[28] 楊強等. 遷移學習[M].機械工業出版社, 2020.