Multi-task Learning
1.Multi-task Learning & Transfer Learning
Multi-task Learning 是Transfer Learning中的一种
Multi-task Learning :任务之间相等,信息share
Transfer Learning:有一个target 任务,从其余任务中学习来提高Target
2.现有Multi-task Learning 方法分类《A Survey on Multi-Task Learning》
(1)Feature Learning Approach
- Feature Transformation Approach:《Cross-Stitch Networks for Multi-task Learning》《Learning Multiple Tasks with Multilinear Relationship Networks》
- Feature Selection Approach
(2)Low-Rank Approach
||W ||
(3)Task Clustering Approach
(4)Task Relation Learning Approach
(5)Decomposition Approach
3.与标准的单任务相比,在学习共享表示的同时训练多个任务有两个主要挑战(关于多任务学习(MTL),我们应该知道的事 - 知乎 (zhihu.com)):
- Loss Function(how to balance tasks):多任务学习的损失函数,对每个任务的损失进行权重分配,在这个过程中,必须保证所有任务同等重要,而不能让简单任务主导整个训练过程。手动的设置权重是低效而且不是最优的,因此,自动的学习这些权重或者设计一个对所有权重具有鲁棒性的网络是十分必要和重要的。《Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics》
- Network Architecture(how to share):一个高效的多任务网络结构,必须同时兼顾特征共享部分和任务特定部分,既需要学习任务间的泛化表示(避免过拟合),也需要学习每个任务独有的特征(避免欠拟合)。
关于特征共享表示,一般有两种方法,Hard-parameter sharing和soft-parameter-sharing。
当下最主流的框架都是两种框架的结合,通过结合,能够找到特征共享部分和特定任务部分很好的协调,常见的多任务网络的结构设计:《Cross-Stitch Networks for Multi-task Learning》
接下来就是去读一下经典的multi-task的文章