多任务学习中的目标权重平衡(2)
本文介绍多任务学习中目标权重平衡方法GradNorm。
- 传统多任务目标函数构造的问题:
多任务损失函数定义如下:
相应的,随机梯度下降的权重更新公式如下:
(注释:这里是共享层最后一层的权重,具体和多任务学习的网络构造有关,这里不做具体介绍。)
当某一个任务的梯度占据主导地位,或者任务梯度冲突时,权重更新可能并不是最优的。
- 改进方法:
本次介绍方法Gradnorm,通过调整不同loss的数量级和学习速度来平衡多个任务的学习情况。
- Loss的数量级通过以下公式获得
其中为其中一个loss针对共享层参数求梯度的二范数,用量衡量第i个loss的数量级;相应的代表了所有loss梯度的期望。
- 学习速度通过以下公式获得
其中为第i个loss在t时刻的loss除以0时刻的loss,衡量第i个任务的反向训练速度,越小表示训练越快;代表了所有任务中,第i个任务的相对训练速度
- Gradnorm通过数量级和学习速度两个方面来构造Gradient Loss,具体公式如下:
其中α为超参数,如果某个loss数量级过大或者过小,训练速度过快,则会导致Gradient Loss变大,相应的Gradient Loss会反应在中每个任务的权重项w_i上。具体的,w_i的更新方式为:
参考文献:
[1]. Chen Z, Badrinarayanan V, Lee C Y, et al. Gradnorm: Gradient normalization for adaptive loss balancing in deep multitask networks[C]//International Conference on Machine Learning. PMLR, 2018: 794-803.
- 点赞
- 收藏
- 关注作者
评论(0)