我正在训练一个具有 1 个输入和 3 个输出的卷积神经网络:一个分类和 2 个回归输出。
我最初使用了 3 个单独的模型,但我发现将第一个和第二个损失函数组合到一个模型中可以提高两者的准确度/rmse。我正在应用多任务学习。
现在我正在尝试将第 3 个损失函数与前 2 个损失函数合并到同一个模型中。
我的挑战是,第三个损失函数仅在第一个分类器识别出正样本时才有效(它是测量识别样本的回归输出)。这些标签在训练时是已知的。
我尝试过:
- 标准化标签并为所有负样本的第三次回归估算一个 0 值。在某些情况下,这种方法偏向于 0,所以我把它扔掉了。
- 在第 1 次和第 2 次损失的所有样本之间交替训练,并且仅使用所有 3 个损失函数的总和的正样本。这里的结果好坏参半,但第 3 个损失函数的表现似乎比它在其自己的单独模型中的表现更差。
问题:
我正在考虑如何重新构建损失函数(目前是 L2 损失),以便将 0 值视为不相关(例如,当标签为 0 时不传播梯度)。
有什么想法吗?