-
在模型层面理解,我们在单目标中经常会花费大量的精力“找强特征”和“删冗余特征”输入到模型,提高模型效果。那么切换到MTL时,每个task所需要的“强特”和排斥的“负特”是不同的,MTL的目的就是对每个task 尽可能的找到他们的强特和负特。
-
在优化层面理解,多个task同时优化模型,某些task会主导了模型的优化过程,淹没了其他task。
-
从监督信号的角度理解,MTL不仅仅是任务,也是一种数据扩增,相当于每个task多了k-1个监督信号来辅助学习,一些特征可以从其他task学的更好。监督信号的质量和task间的相似性有关,不相似的task反而是噪声。
#SB、MOE、MMOE
《Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts》Google KDD 2018
share-bottom
多个任务共享相同的底部网络,底部网络输出一个样本的特征向量,每个子任务自己接一个小NN tower。
-
优点:简单,并且模型过拟合的风险小(因为能同时过拟合多个任务也是不容易的,可以说多个任务互相监督惩罚过拟合);多任务越相关,互相补充效果越好。
-
缺点:如果任务之间联系不强(矛盾、冲突),那么对底层网络的优化方向可能是相反的。
-
底层输出:f(x),子任务tower:$h^k_x ,每个子任务输出: ,每个子任务输出: ,每个子任务输出:y_x^k = h^k_x(f(x)) $
One-gate-MoE
将input分别输入给三个独立的expert(3个nn),同时将input输入到gate,gate输出每个expert被选择的概率,然后将三个expert的输出加权求和,输出给tower:
y k = h k ( ∑ i = 1 n g i f i ( x ) ) , y^{k}=h^{k}\left(\sum_{i=1}^{n} g_{i} f_{i}(x)\right) \text { ,} yk=hk(