Multi-task Learning(MTL) 多任务学习

本文深入探讨了多任务学习的概念,其优势在于通过发掘子任务间的关系,提升模型的泛化能力。介绍了多任务学习的不同形式,包括联合学习、自主学习和带有辅助任务的学习。文章还解释了多任务学习如何通过在所有任务间共享隐藏层,同时保留特定任务的输出层来实现,并指出它是迁移学习的一种,旨在利用源领域知识改善目标领域学习效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        Multi-tasklearning (多任务学习)是和single-task learning (单任务学习)相对的一种机器学习方法

       单任务学习的过程中忽略了任务之间的联系,而现实生活中的学习任务往往是有千丝万缕的联系的,比如多标签图像的分类,人脸的识别等等,这些任务都可以分为多个子任务去学习,多任务学习的优势就在于能发掘这些子任务之间的关系,同时又能区分这些任务之间的差别。

       MTL 有很多形式:联合学习(joint learning)、自主学习(learning to learn)和带有辅助任务的学习(learning with auxiliary task)等都可以指 MTL。一般来说,优化多个损失函数就等同于进行多任务学习(与单任务学习相反)

      举例:比如我们要识别一张图像中的脸是否是人脸、哪种脸部表情、性别、年龄段。针对这个问题,可以用单个模型来预测单个任务,但是可能在数据量不够的情况下,可能会导致过拟合,但是由于这几个任务之间存在一些联系,因此可以考虑用多任务学习,让模型同时给出多个任务的结果。


      在实际应用中,通常通过在所有任务之间共享隐藏层,同时保留几个特定任务的输出层来实现。多任务学习涉及多个相关的任务同时并行学习,梯度同时反向传播,多个任务通过底层的共享表示(shared representation)来互相帮助学习,提升泛化效果。
 

 

多任务学习(Multi-task learning)是迁移学习(Transfer Learning)的一种,而迁移学习指的是将从源领域的知识(source domin)学到的知识用于目标领域(target domin),提升目标领域的学习效果。 而多任务学习也是希望模型同时做多个任务时,能将其他任务学到的知识,用于目标任务中,从而提升目标任务效果。



多任务学习方法

①硬共享机制

 在一个基学习器的最后一层加上多个特定的输出层,如softmax或者Dense层

 

 

②Soft 参数共享机制

每个任务有自己的参数,最后通过对不同任务的参数之间的差异加约束,表达相似性。比如可以使用L2, trace norm等。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值