多任務學習_不同任務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

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