基于论文“Multi-Task Learning Using Uncertainty to Weighting Losses for Scene Geometry and Semantics”,可以通过最大似然估计来学习多任务损失的权重,将其转换为最小化函数:
据我了解,我们计算每个任务的损失后(通常我们使用均方误差),它形成一个参数为ε的多变量函数,我们使用Adam来求解。然后可以使用损失函数来更新神经网络的参数。
当我尝试在我的神经网络中实现这个方法时,我发现当每个部分的损失小于 1 时,计算的总损失变为负数。这是因为 (1/ε2)*Loss 的符号总是正的,但 log(ε) 为负,abs 值更大。
所以我想知道我哪里错了?还是方法的特点?
我的神经网络的损失有三个损失部分,在每个epoch中,我计算每个部分的损失,得到三个ε值,用Adam求解multi_varaible函数。然后参数ε被用来计算总损失来更新神经网络的参数。