我有一个有3个头的神经网络,其中一个是焦距损失,另外两个是L1损失。它们通过求和进行组合:损耗= hm_loss + off_loss + wh_loss,但损失元素的典型取值范围不同。这是问题吗?我应该加权损失元素,还是应该规范网络输出?
发布于 2022-05-19 10:24:55
这是执行多任务学习时的一个典型挑战。处理这一问题的方法很多,但对于这一领域的所有问题,没有单一的解决办法来解决所有这些问题。最简单的方法就是对不同的损失分量进行权衡。您可以通过对三个权重执行网格搜索或随机搜索来做到这一点,或者通过查看每个权重的数量级来尝试和平衡损失的三个分量。这背后的一般想法是,如果你对一个损失项给予很高的优先级,那么在执行反向传播和参数更新时,与这个项相对应的梯度将更加突出。
我建议你多读关于多任务学习的文章。例如,您可以从https://arxiv.org/pdf/2004.13379.pdf:Simon等人在TPAMI'21中开始。
https://stackoverflow.com/questions/72302269
复制相似问题