多任务学习在学术界中图像目标检测任务用得很多,比如回归loss和分类loss,看了很多论文,loss都是直接相加。
学术
论文1
Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics
作者列表中的Yarin Gal 是贝叶斯深度学习的重要人物。基本思想是估计每个任务的不确定度,每个loss除以不确定度,如果不确定度大,大体上相当于自动把loss的权重变小。
论文2
Multi-Task Learning as Multi-Objective Optimization
https://www.zhihu.com/question/359962155
工程解决方案
(1)在Keras库中,没有对不同的任务使用 Adaptive 的学习率
实在要做看了下苏神的这篇文章,不知是否能够按照这个思路实现
分层学习率
https://spaces.ac.cn/archives/6418
tensorflow中有:
a_optimizer = tf.train.AdamOptimizer(a_learning_rate)
b_optimizer = tf.train.AdamOptimizer(b_learning_rate)
pytorch是可以实现的。
(2)多个loss权重通过网格搜索的方法进行初步确定。就是实验的次数按照倍数增加。
总的来说,这方面资料还是很少的。有一些基本概念在知乎上还有争议,这事很麻烦。
先写到这里,后面看下国外论文还没有没有相关的研究。目前能找到的是这四篇
Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics
Adaptively Weighted Multi-task Deep Network for Person A!ribute Classification