多任务学习_不同任务loss权重如何设置

多任务学习在学术界中图像目标检测任务用得很多,比如回归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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章