Neural network 如何获得多重损失的加权和&;精度(caffe)

Neural network 如何获得多重损失的加权和&;精度(caffe),neural-network,deep-learning,caffe,Neural Network,Deep Learning,Caffe,我在同一个图像的两个不同模态上训练了一个网络。我在一个层中传递数据,但在这之后,它几乎是两个并行的网络,它们不共享一个层,两个任务有不同的标签集,因此我有两个不同的损失和准确性层 我已经读到caffe平均多重损失和准确性(在这个问题之后),是否只有在至少共享一层时才是这样?我打算创建一个合奏,但现在看来我只是有两个不同的网络。我打算平均损失和准确度,以便两个网络分支都有助于一个准确度。在训练中,我看到两个不同的损失&准确性。在测试新图像对时,如何获得平均损失和准确度 通过转发网络,是否可能得到两

我在同一个图像的两个不同模态上训练了一个网络。我在一个层中传递数据,但在这之后,它几乎是两个并行的网络,它们不共享一个层,两个任务有不同的标签集,因此我有两个不同的损失和准确性层

  • 我已经读到caffe平均多重损失和准确性(在这个问题之后),是否只有在至少共享一层时才是这样?我打算创建一个合奏,但现在看来我只是有两个不同的网络。我打算平均损失和准确度,以便两个网络分支都有助于一个准确度。在训练中,我看到两个不同的损失&准确性。在测试新图像对时,如何获得平均损失和准确度

  • 通过转发网络,是否可能得到两个预测?如果是,怎么做


  • 使用caffe参数loss_weight,一个网络可以使用多个损耗。例如,您可以为其中一个体重为0.5的减肥层添加以下内容

    ...
    layer{
      name: "loss_a"
      type: "SigmoidCrossEntropyLoss"
      bottom: "fc8_a"
      bottom: "attributes_a"
      top : "loss_a"
      loss_weight : 0.5
     }
    
     layer{
      name: "loss_b"
      type: "SigmoidCrossEntropyLoss"
      bottom: "fc8_b"
      bottom: "attributes_b"
      top : "loss_b"
    }
    

    使用caffe参数loss_weight,一个网络可以使用多个损耗。例如,您可以为其中一个体重为0.5的减肥层添加以下内容

    ...
    layer{
      name: "loss_a"
      type: "SigmoidCrossEntropyLoss"
      bottom: "fc8_a"
      bottom: "attributes_a"
      top : "loss_a"
      loss_weight : 0.5
     }
    
     layer{
      name: "loss_b"
      type: "SigmoidCrossEntropyLoss"
      bottom: "fc8_b"
      bottom: "attributes_b"
      top : "loss_b"
    }
    

    你所说的“平均”任务的准确性是什么意思?如果任务不同,那么相应精度的平均值是多少。你说得对。我在发布这篇文章后意识到,我拥有的只是两个独立的网络。我希望共同学习这两项任务。例如,当任务2预测某个类别标签时,任务1的类别预测应该更高。我不想在功能级别加入他们,而是在预测级别。你们所说的“平均”任务的准确性是什么意思?如果任务不同,那么相应精度的平均值是多少。你说得对。我在发布这篇文章后意识到,我拥有的只是两个独立的网络。我希望共同学习这两项任务。例如,当任务2预测某个类别标签时,任务1的类别预测应该更高。我不想在功能级别加入他们,而是在预测级别。