天天看点

分布式多任务学习论文阅读(一):多任务学习速览

分布式多任务学习论文阅读(一):多任务学习速览

最近导师让我做分布式多任务学习方面的工作,我开始着手阅读这方面的论文并归纳一个大致的速览。首先,我们看看什么是多任务学习,然后我们主要聚焦于基于正则化的多任务学习方法(这也是目前学术界主要的并行对象),并在此基础上讨论如何分布式并行。类似于迁移学习,多任务学习也运用了知识迁移的思想,即在不同任务间泛化知识。但二者的区别在于:迁移学习可能有多个源域;而多任务学习没有源域而只有多个目标域;且迁移学习注重提升目标任务性能,并不关心源任务的性能(知识由源任务→目标任务;而多任务学习旨在提高所有任务的性能(知识在所有任务间相互传递)。

最近导师让我做分布式多任务学习方面的工作。分布式机器学习我已经比较熟悉,但多任务学习我还不是很熟。于是,我开始着手阅读多任务学习方面的论文,并归纳一个大致的速览(主要讨论基于正则化的多任务学习方法,这也是目前学术界主要进行分布式并行的对象)。在下一篇博客里,我们再结合分布式多任务学习的文章研究如何在此基础上进行分布式并行。

多任务学习(Multi-task Learning, MTL)近年来在CV、NLP、推荐系统等领域都得到了广泛的应用。类似于迁移学习,多任务学习也运用了知识迁移的思想,即在不同任务间泛化知识。但二者的区别在于:

迁移学习可能有多个源域;而多任务学习没有源域而只有多个目标域。

迁移学习注重提升目标任务性能,并不关心源任务的性能(知识由源任务\(\rightarrow\)目标任务;而多任务学习旨在提高所有任务的性能(知识在所有任务间相互传递)。

下图从知识迁移流的角度来说明迁移学习和多任务学习之间的区别所示:

分布式多任务学习论文阅读(一):多任务学习速览

不严格地说,多任务学习的目标为利用多个彼此相关的学习任务中的有用信息来共同对这些任务进行学习。

现在多任务学习根据数据的收集方式可以粗略地被分为两种,一个是集中化的计算方法,即假定数据被事先收集到一个中心节点上然后再运行模型, 大多数基于神经网络的多任务学习应用,比如CV和NLP,主要都用的这种方法[1][2][3][4]。

分布式多任务学习论文阅读(一):多任务学习速览

另外还有一种是分布式的计算方法,这种方法假定异构的(heterogeneous)数据分别由各个任务分别以分布式的方式收集。这种方法常常被建模为在多智能体(multi-agent)系统(比如移动设备、无人驾驶汽车、智慧城市等)中的分布式学习。这种方式通常有两个假定,一是各任务节点和中心节点之间的网络通信代价很高,二是数据只能在任务节点存放,不能拷贝到中心节点(由于隐私性和通信代价问题)。近年来由于联邦学习的火热,该方法得到了很多的重视。

在分布式多任务学习中,传统的处理方式[5][6][7]仍然是多个任务节点分摊任务,然后将信息交给主节点汇总(比如在分布式近端映射算法中,任务节点进行梯度计算,主节点负责近端映射)。

分布式多任务学习论文阅读(一):多任务学习速览

近年来,随着去中心化优化算法的研究发展,越来越朝着去中心化的路线发展[8][9][10],也就是尽量满足使任务节点直接相互通信,而减少任务节点与主节点的通信。同时,随着联邦学习的发展,也越来越注重联邦学习中的经典问题,比如拜占庭容错等。

分布式多任务学习论文阅读(一):多任务学习速览

注1: 多任务学习和联邦学习的区别

在标准的联邦学习中,每个节点任务不共享数据,但是可以共享参数,以此联合训练出各一个全局的模型。也就是说,联邦学习下每个节点的任务是一样的(但是由于数据不独立同分布,每个模型训练出的局部模型差异会很大,就会使得构建一个全局的、通用的模型难度很大。比如同样一个下一个单词预测的任务,同样给定"I love eating,",但对于下一个单词每个client会给出不同的答案,这也是现在有人提出联邦多任务学习的原因)。

为了解决联邦学习中数据不独立同分布的的问题,有论文[34][35]提出不求训练出一个全局的模型,使每个节点训练各不相同的模型这样一种训练方式,这被冠名为联邦多任务学习了。

注2: 分布式多任务学习和联邦多任务学习的区别

此二者非常相似,但是联邦多任务学习可以看做是分布式多任务学习在特殊条件下的限制版,即联邦多任务学习中可能更关注节点的容错性,以及节点数据集隐私(节点之间的数据不能共享),单纯的分布式多任务学习一般没这几个需求。此外还有一点就是,按照最初的传统联邦多任务学习一般是有中心节点的(如论文[34]中所说),而分布式多任务学习是可以去中心化的(如论文[10]中所说)。但是也有论文把联邦多任务学习也去中心化了([35]),所以这个应该算不上主要依据。

我的研究现在关注的是分布式/联邦的多任务学习方法。而分布式的多任务学习方法其思想常常来源于基于正则化的多任务学习,这是一种非神经网络的多任务学习方法,已经得到了充分的研究,下面我们主要回顾一下这种方法。

形式化地说,给定\(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\)个模型的参数),则一般多任务学习的目标函数形式为

\[\begin{aligned}

\underset{\textbf{W}}{\min}

& \sum_{t=1}^{T}\mathbb{E}_{(\bm{x_{ti}, y_{ti})\sim \mathcal{D}_t}}[L(y_{ti}, f(\bm{x}_{ti}; \bm{w}_t))]\\

& = \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, f(\bm{x}_{ti}; \bm{w}_t))]

\end{aligned}

\tag{1}

\]

(此处\(\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)的,无法完成我们的多任务学习任务。在多任务学习中一种典型的方法为增加一个正则项[11][12][13]:

\underset{\textbf{W}}{\min} & \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, f(\bm{x}_{ti}; \bm{w}_t))]+\lambda g(\textbf{W})\\

& = f(\textbf{W}) + \lambda g(\textbf{W})

\tag{2}

这里\(g(\textbf{W})\)编码了任务的相关性(多任务学习的假定)并结合了\(T\)个任务;\(\lambda\)是一个正则化参数,用于控制有多少知识在任务间共享。在许多论文中,都假设了损失函数\(f(\textbf{W})\)是凸的,且是\(L\text{-Lipschitz}\)可导的(对\(L>0\)),然而正则项\(g(\textbf{W})\)虽然常常不满足凸性(比如采用矩阵的核范数),但是我们认为其实接近凸的,可以采用近端梯度算法(proximal gradient methods)[14]来求解。

基于正则化的多任务学习依靠正则化来找到任务之间的相关性,大致可以分为基于特征和基于模型的这两种。

a. 特征变换

即通过线性/非线性变换由原始特征构建共享特征表示。这种思想最早可追溯到多任务学习的开山论文——使用多层前馈网络(Caruana, 1997)[15],如下图所示:

分布式多任务学习论文阅读(一):多任务学习速览

该示例中,假设所有任务的输入相同,将多层前馈网络的隐藏层输出视为所有任务共享的特征表示,将输出层的输出视为对\(T\)个任务的预测结果。

如果采用我们采用正则化框架,多任务特征学习(Multi-Task Feature Learning, MTFL)方法[16][17](Argyrious等人,2006、2008)和多任务稀疏编码(Multi-Task Sparse Coding, MTSC)[18]方法(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)\)。 该方法定义的优化问题表示如下:

& \underset{\textbf{A},\mathbf{U},\bm{b}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \bm{a}_t, \mathbf{U}^T\bm{x}_{ti} \rangle+b_t)]+\lambda ||\textbf{A}||_{2,1}^2 \\

& \text{s. t. } \quad \mathbf{U}\mathbf{U}^T = \mathbf{I}

\tag{3}

这里\(\mathbf{U} \in \mathbb{R}^{d \times d}\)是酉(正交)矩阵。

与MTFL不同, MTSC方法的目标函数定义为

& \underset{\textbf{A},\mathbf{U},\bm{b}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \bm{a}_t, \mathbf{U}^T\bm{x}_{ti} \rangle+b_t)] \\

& \text{s. t. } \quad ||\bm{a}_i||_{1} \leqslant \lambda , \quad i=1,2,..,m\\

&\quad\quad\quad||\bm{u}_j||_{2}\leqslant 1, \quad j=1,2,.., d^{'},表示第j列

\tag{4}

此时\(\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}\)范数做为正则项),其目标函数为:

\[ \underset{\textbf{W}, \bm{b}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \bm{w}_t, \bm{x}_{ti} \rangle + b_{t})]+\lambda ||\textbf{W}||_{p, q}

\tag{5}

\(l_{p, q}\)正则化的特例是\(l_{2, 1}\)[19][20](Obozinski等人,2006、2010)和\(l_{\infin}\)无穷正则化[21](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等人[22](2013)提出了上限\(l_{p, 1}\)惩罚项\(\sum_{i=1}^{d}\min(||\bm{w}^i||_p, \theta)\),当\(\theta\)足够大时它将退化为\(l_{p, 1}\)正则化。

a. 共享子空间学习(shared subspace learning)

该方法的假设参数矩阵\(\textbf{W}\)为低秩矩阵,以使相似的任务拥有相似的参数向量(即\(\textbf{W}\)的\(T\)个列向量尽量线性相关),以使\(T\)个任务的模型参数\(\bm{w_t}\)都来自一个共享低秩子空间。Ando和Zhang(2005)[23]提出了一个对\(\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}\)来消除冗余,此时相应的目标函数为:

& \underset{\textbf{P},\mathbf{Q},\mathbf{\Theta},\bm{b}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \bm{p}_t + \mathbf{\Theta}^T \bm{q}_t, \bm{x}_{ti} \rangle + b_{t}]+\lambda ||\textbf{P}||_{F}^2 \\

& \text{s. t. } \quad \mathbf{\Theta}\mathbf{\Theta}^T = \mathbf{I}

\tag{6}

Chen等人(2009)[24]通过为\(\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等人)也在多任务学习中应用广泛,此时目标函数通常为:

\[ \underset{\textbf{W}, \bm{b}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \bm{w}_t, \bm{x}_{ti} \rangle + b_{t}]+\lambda ||\textbf{W}||_{*}

\tag{7}

核范数是一rank function[25](Fazel等人, 2001)的紧的凸松弛,可以用近端梯度下降法求解。

b. 聚类方法

该方法受聚类方法的启发,基本思想为:将任务分为若个个簇,每个簇内部的任务在模型参数上更相似。

Thrun等人(1996)[26]提出了第一个任务聚类算法,它包含两个阶段。在第一阶段,该方法根据在单任务下单独学习得到的模型来聚类任务,确定不同的任务簇。在第二阶段,聚合同一个任务簇中的所有训练数据,以学习这些任务的模型。这种方法把任务聚类和模型参数学习分为了两个阶段,可能得不到最优解,因此后续工作都采用了同时学习任务聚类和模型参数的方法。

Bakker等人(2003)[27]提出了一个多任务贝叶斯神经网络(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{w}_t \sim \mathcal{N}(\bm{w}_t | \bm{u}, \mathbf{\Sigma})

\tag{8}

这是一个高斯分布,均值为\(\bm{u} \in \mathbb{R}^{h + 1}\),协方差矩阵\(\mathbf{\Sigma} \in \mathbb{R}^{ (h+1) \times (h+1)}\)。

我们上面的定义其实假定了所有任务属于一个簇,接下来我们假定我们有不同的簇(每个簇由相似的任务组成)。我们设有\(C\)个簇(cluster),则任务\(t\)的权重\(w_t\)为\(C\)个高斯分布的混合分布:

\[\bm{w}_t \sim \sum_{c=1}^C \alpha_c \mathcal{N} (\bm{w}_t | \bm{u}_c, \mathbf{\Sigma}_c)

\tag{9}

其中,每个高斯分布可以被认为是描述一个任务簇。式\((9)\)中的\(\alpha_c\)代表了任务\(t\)被分为簇\(c\)的先验概率,其中task clustering(如下面左图所示)模型中所有任务对簇\(c\)的加权\(\alpha_c\)都相同;而task-depenent模型(如下面右图所示)中各任务对簇\(c\)的加权\(\alpha_{tc}\)不同,且依赖于各任务特定的向量\(\bm{f}_t\)。

分布式多任务学习论文阅读(一):多任务学习速览

Xue等人(2007)[28]根据模型参数应用Dirichlet过程(一种广泛用于数据聚类的贝叶斯模型)对任务进行分组。

除了依赖贝叶斯模型的方法,还有一些正则化方法也被用于分组任务。如Jocob等人(2008)[29]提出了一个正则化项,将任务簇内部和之间的差异都考虑在内,以帮助学习任务簇,目标函数为:

& \underset{\textbf{W}, \bm{b}, \bm{\Sigma}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \bm{w}_t, \bm{x}_{ti} \rangle + b_{t})]

+\lambda_1 \text{tr}(\textbf{W}\textbf{U}\textbf{W}^T)

+ \text{tr}(\textbf{W}\mathbf{\Pi}\mathbf{\Sigma}^{-1}\mathbf{\Pi}\mathbf{W}^T) \\

& \text{s.t.}\quad \alpha \mathbf{I} \preccurlyeq \mathbf{\Sigma} \preccurlyeq \beta \mathbf{I},

\text{tr}(\mathbf{\Sigma}) = \gamma

\tag{10}\]

其中第一个正则项度量所有任务任务平均权重的大小,第二个正则项表示任务簇内部的差异和簇之间的差异。\(\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)[30]将式\((3)\)所示的MTFL方法扩展到多个任务簇的情况下,其中每个任务簇中任务的学习模型是MTFL方法,其目标函数为:

& \underset{\textbf{W}, \bm{b}, \{\bm{Q}_c\}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \bm{w}_t, \bm{x}_{ti} \rangle + b_{t})]

+\lambda \sum_{c=1}^{C}||\mathbf{W}\mathbf{Q}_c||_*^{2} \\

& \text{s.t.}\quad q_{ct} \in \{0, 1\} 且\sum_{c=1}^{C}\mathbf{Q}_c = \mathbf{I}, \space c=1,2,..,C

\tag{11}

这里\(||\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)[31]提出了先将任务划分为多个层次,然后再分别将各个层次的任务划分为簇。我们假定有\(H\)个任务层次(\(H\)为用户定义的超参数),我们将权重矩阵分解为:

\[\mathbf{W} = \sum_{h=1}^H\mathbf{W}_h

\tag{12}

\(\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方法)写为

& \underset{\textbf{W}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \sum_{h=1}^{H} \bm{w}_{h,t}, \bm{x}_{ti} \rangle + b_t)]

+ \sum_{h=1}^{H} \lambda_h \sum_{i<j}^{T}||\bm{w}_{h,i} - \bm{w}_{h,j}||_2

\tag{13}

这里\(\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)[32]以及Barizilai和Crammer(2015)[33]都提出了\(\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\))。这两种方法的目标函数可以统一为

& \underset{\textbf{W}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \textbf{L}\bm{s}_t, \bm{x}_{ti} \rangle + b_t)]

+ \lambda_1 h(\mathbf{S}) + \lambda_2||\mathbf{L}||_F^2

\tag{14}

其中\(\mathbf{L}\)由Frobenius范数来进行正则化,但在这两种方法中,\(\mathbf{S}\)由不同的\(h(\cdot)\)函数惩罚。我们想让\(\mathbf{S}\)更稀疏,即让一个任务属于尽量少的任务簇(在本模型每个任务属于多个任务簇是合法的),因此Kumar和Daume(2012)定义了\(h(\mathbf{S}) = ||\mathbf{S}||_1\)(\(\text{Lasso}\))来完成稀疏化,而Barzilai和Crammer(2015)的定义方法更为严格

\[h(\mathbf{S}) = \left\{

\begin{aligned}

& 0 \quad \mathbf{S} \in \{0, 1\}^{C\times T}, ||\bm{s}_t||_2=1 \\

& +\infin \quad 其他

\right.

\tag{15}

该正则函数试图为每个任务只指定单一的任务簇,这里\(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] Baytas I M, Yan M, Jain A K, et al. Asynchronous multi-task learning[C]//2016 IEEE 16th International Conference on Data Mining (ICDM). IEEE, 2016: 11-20.

[6] Liu S, Pan S J, Ho Q. Distributed multi-task relationship learning[C]//Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2017: 937-946.

[7] Dinuzzo F, Pillonetto G, De Nicolao G. Client–server multitask learning from distributed datasets[J]. IEEE Transactions on Neural Networks, 2010, 22(2): 290-303.

[8] Zhang C, Zhao P, Hao S, et al. Distributed multi-task classification: A decentralized online learning approach[J]. Machine Learning, 2018, 107(4): 727-747.

[9] Yang P, Li P. Distributed primal-dual optimization for online multi-task learning[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(04): 6631-6638.

[10] Li J, Abbas W, Koutsoukos X. Byzantine Resilient Distributed Multi-Task Learning[J]. arXiv preprint arXiv:2010.13032, 2020.

[11] 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.

[12] Zhou J, Chen J, Ye J. Malsar: Multi-task learning via structural regularization[J]. Arizona State University, 2011, 21.

[13] Zhou J, Chen J, Ye J. Clustered multi-task learning via alternating structure optimization[J]. Advances in neural information processing systems, 2011, 2011: 702.

[14] 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.

[15] Caruana R. Multitask learning[J]. Machine learning, 1997, 28(1): 41-75

[16] Evgeniou A, Pontil M. Multi-task feature learning[J]. Advances in neural information processing systems, 2007, 19: 41.

[17] Argyriou A, Evgeniou T, Pontil M. Convex multi-task feature learning[J]. Machine learning, 2008, 73(3): 243-272.

[18] Maurer A, Pontil M, Romera-Paredes B. Sparse coding for multitask and transfer learning[C]//International conference on machine learning. PMLR, 2013: 343-351.

[19] Obozinski G, Taskar B, Jordan M. Multi-task feature selection[J]. Statistics Department, UC Berkeley, Tech. Rep, 2006, 2(2.2): 2.

[20] 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.

[21] 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.

[22] Gong P, Ye J, Zhang C. Multi-stage multi-task feature learning[J]. arXiv preprint arXiv:1210.5806, 2012.

[23] 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).

[24] 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.

[25] 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.

[26] Thrun S, O'Sullivan J. Discovering structure in multiple learning tasks: The TC algorithm[C]//ICML. 1996, 96: 489-497.

[27] Bakker B J, Heskes T M. Task clustering and gating for bayesian multitask learning[J]. 2003.

[28] 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).

[29] Zhou J, Chen J, Ye J. Clustered multi-task learning via alternating structure optimization[J]. Advances in neural information processing systems, 2011, 2011: 702.

[30] Kang Z, Grauman K, Sha F. Learning with whom to share in multi-task feature learning[C]//ICML. 2011.

[31] Han L, Zhang Y. Learning multi-level task groups in multi-task learning[C]//Twenty-Ninth AAAI Conference on Artificial Intelligence. 2015.

[32] Kumar A, Daume III H. Learning task grouping and overlap in multi-task learning[J]. arXiv preprint arXiv:1206.6417, 2012.

[33] Barzilai A, Crammer K. Convex multi-task learning by clustering[C]//Artificial Intelligence and Statistics. PMLR, 2015: 65-73.

[34] Smith V, Chiang C K, Sanjabi M, et al. Federated multi-task learning[J]. Advances in Neural Information Processing Systems, 2017.

[35] Marfoq O, Neglia G, Bellet A, et al. Federated multi-task learning under a mixture of distributions[J]. Advances in Neural Information Processing Systems, 2021, 34.

[36] 杨强等. 迁移学习[M].机械工业出版社, 2020.

数学是符号的艺术,音乐是上界的语言。

继续阅读