多任务的loss优化

1、多任务学习优化面临的问题

多任务学习经常会出现跷跷板现象,即两个任务联合学习的时候,可能一个任务效果变好,另一个任务效果变差。究其本质,核心是训练过程中存在以下3个方面问题:

  1. 多任务梯度方向不一致:同一组参数,不同的任务更新方向不一致,导致模型参数出现震荡,任务之间出现负迁移的现象,一般出现在多个任务之间差异较大的场景;
  2. 多任务收敛速度不一致:不同的任务收敛速度不一样,有的任务比较简单收敛速度快,有的任务比较困难收敛速度慢,导致模型训练一定轮数后,有的任务已经overfitting,有的任务还是underfitting的状态;
  3. 多任务loss取值量级差异大:不同的任务loss取值范围差异大,模型被loss比较大的任务主导,这种情况在两个任务使用不同损失函数,或者拟合值的取值差异大等情况下最为常见。

2、多任务设计

比较容易想到的是,多目标loss设计要满足以下两点,避免被某个任务主导:

  1. 各任务loss量级接近,最好一致;(值域量级接近),loss量级可以使各任务loss除以对应的初始loss(交叉熵损失/L2)
  2. 各任务以相近的速度进行学习。(学习速度接近), 速度即相邻迭代次数对应的loss的比值,值越小则速度越高
  3. 各个任务间设置权重

2.3、多任务学习中各 loss 权重应该如何设计

AI上推荐 之 多任务loss优化(自适应权重篇)_翻滚的小@强的博客-CSDN博客

ShowMeAI知识社区深度学习中的multi task learning——optimization strategy部分 - 知乎

多任务学习优化(Optimization in Multi-task learning) - 知乎

深度学习的多个loss如何平衡? - 知乎

多任务学习MTL模型:多目标Loss优化策略 - 知乎

多任务模型融合如何平衡? - 简书

关于人工智能:多任务多目标CTR预估技术 - 乐趣区

PCGrad方法:深度学习的多个loss如何平衡? - 知乎

                        多任务学习——【ICLR 2020】PCGrad_小爷毛毛(卓寿杰)的博客-CSDN博客

任务不确定性:关于多任务学习中的均衡loss方法之一 - 算法之道

 作者自己的方法,没有论文,仅供参考:

极市开发者平台-计算机视觉算法开发落地平台

2.2、通过梯度优化提升多任务学习效果的方法

针对上述多任务学习优化过程中的问题,业内有一系列的工作进行解决。今天给大家介绍4篇通过梯度优化提升多任务学习效果的方法。

具体参考: 多任务学习中各loss权重应该如何设计呢? - 知乎

2.3 Using Uncertainty to Weigh Losses

Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics_cdknight_happy的博客-CSDN博客

Uncertainty Loss不确定损失_CharpYu的博客-CSDN博客

2.4、多任务分析解决

参考文章:

1、多目标模型的loss优化 - 知乎

2、论文阅读:Gradient Surgery for Multi-Task Learning - 知乎

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值