【问题标题】:How to jointly learn two tasks at prediction level?如何在预测级别联合学习两个任务?
【发布时间】:2017-03-30 21:46:51
【问题描述】:

我已经在同一图像的两个不同模态上训练了一个网络。我在一层中一起传递数据,但在那之后,它几乎是两个并行的网络,它们不共享一层,并且两个任务有不同的标签集,因此我有两个不同的损失和准确度层(我使用咖啡顺便说一句)。我想共同学习这些任务。例如,在任务 2 预测某个类别标签的情况下,任务 1 的类别的预测应该更高。我不想在功能级别但在预测级别加入他们。我该怎么做?

【问题讨论】:

标签: neural-network deep-learning conv-neural-network


【解决方案1】:

您为什么不想在特征级别加入预测?

如果您真的想坚持不加入任何网络层的想法,您可以在整个预测管道之上应用 CRF 或 SVM 来学习预测之间的互相关。对于任何其他方法,您需要以一种或另一种方式组合网络内的功能。但是我强烈建议您考虑这样做。这是深度学习的一个普遍主题,在网络内部做事比在外面做事效果更好。

根据我通过联合预测实验所学到的知识,如果您在网络的所有卷积层之间共享权重,您将获得最大的性能提升。然后,您可以应用独立的 fc 层,然后在联合预测的特征之上进行 softmax 回归和单独的损失函数。这将允许网络在仍然能够进行单独预测的同时学习特征之间的互相关。

看看我的MultiNet paper 作为一个很好的起点。我们所有的培训代码都在github。

【讨论】:

  • 我以前通过融合特征使用联合学习,但是我怀疑是否应该为我正在研究的这个问题连接后来的特征,或者是否有更好的方法来做到这一点。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-16
  • 2021-06-26
  • 1970-01-01
  • 2012-01-31
  • 2012-09-02
  • 2017-03-15
  • 2014-12-06
相关资源
最近更新 更多