多任务学习中如何处理不同尺度的损失?

人工智能 深度学习 目标函数 梯度下降 多任务学习
2021-11-15 09:50:43

假设我正在通过尝试最小化损失总和来训练多个任务的模型L1+L2通过梯度下降。

如果这些损失的规模不同,则范围较大的损失将主导优化。我目前正在尝试通过引入超参数来解决这个问题λ,并尝试通过调整将这些损失达到相同的规模,即,我尝试最小化L1+λL2在哪里λ>0.

但是,我不确定这是否是一个好方法。简而言之,在进行多任务学习时,有哪些应对不同尺度损失的策略?我对深度学习场景特别感兴趣。

1个回答

我目前正在研究类似的问题。我觉得你的方法很好。至于设置参数 lambda,由于您使用的是深度神经网络,因此您可以将其设为可学习参数,而不是您设置的超参数。这样,随着两个损失在您的训练迭代/时期内波动,模型将能够相应地调整 lambda 参数。