#
Introduction
多任务学习中,有时会遇到两个任务的梯度方向冲突的问题。我们将梯度冲突定义为,夹角cosine < 0. 梯度冲突是有害的 when a) conflicting gradients coincide with b) high
positive curvature and c) a large difference in gradient magnitudes.
- 高曲率:高曲率的地方 性能提升会被高估
- 两个梯度的数值差异极大(有一个主导梯度)
例子:
本文中提出的 PCGrad 方法应对了这个问题。当多个任务的梯度在更新时相互冲突时,PCGrad 主要考虑如何修整这些梯度,使它们不再互相矛盾。具体地,它通过将每个任务的梯度投影到与其他任务梯度冲突方向的正交平面上,来消除梯度之间的冲突。
三重tragic的定义:梯度冲突、主导梯度、高曲率
定义1:夹角cos<0即为冲突
定义2:如果梯度值的相似度高,则值为1,否则趋近于0
定义3:多任务梯度∇L(θ)\nabla \mathcal{L}(\theta)∇L(θ)的方向上,L\mathcal{L}L 在 θ\thetaθ和θ′\theta^{\prime}θ′之间的平均曲率
PCGrad: Project Conflicting Gradients
如果两个任务之间的梯度发生冲突,即它们的余弦相似度为负,则我们将每个任务的梯度投影到另一个任务的梯度的法向平面上。这相当于为任务去除了梯度的冲突组件,从而减少了任务之间的梯度干扰。这个想法的图解如图2所示。
效果
监督学习