Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 多输出模型的编译选项:多重损失&;损失加权_Python_Keras_Deep Learning - Fatal编程技术网

Python 多输出模型的编译选项:多重损失&;损失加权

Python 多输出模型的编译选项:多重损失&;损失加权,python,keras,deep-learning,Python,Keras,Deep Learning,正如Keras手册-Pyhton深度学习-中所述,对于多输出模型,我们需要为不同的网络头指定不同的损失函数。但是,因为梯度下降需要最小化标量,所以必须将这些损失合并为单个值,以便训练模型 非常不平衡的损失贡献将导致模型表示优先针对个体损失最大的任务进行优化,而以牺牲其他任务为代价。要解决此问题,您可以在损失值对最终损失的贡献中为其指定不同的重要性级别。如果损失值使用不同的标度,这尤其有用 任何人都可以在以下方面提供帮助: 我有一个五输出模型,输出如下: 情感(多类别、多标签分类) 价(回归) 觉

正如Keras手册-Pyhton深度学习-中所述,对于多输出模型,我们需要为不同的网络头指定不同的损失函数。但是,因为梯度下降需要最小化标量,所以必须将这些损失合并为单个值,以便训练模型

非常不平衡的损失贡献将导致模型表示优先针对个体损失最大的任务进行优化,而以牺牲其他任务为代价。要解决此问题,您可以在损失值对最终损失的贡献中为其指定不同的重要性级别。如果损失值使用不同的标度,这尤其有用

任何人都可以在以下方面提供帮助:

我有一个五输出模型,输出如下:

  • 情感(多类别、多标签分类)
  • 价(回归)
  • 觉醒(回归)
  • 优势(回归)
  • 年龄(多类分类)
  • 我正在使用以下工具:

    losses_list = {'EMOTIONS': 'binary_crossentropy',
                   'VALENCE': 'mse',
                   'AROUSAL': 'mse',
                   'DOMINANCE': 'mse',
                   'AGE': 'categorical_crossentropy'}
    
    
    losses_weights = {'EMOTIONS': 1.0,
                      'VALENCE': 0.025,
                      'AROUSAL': 0.025,
                      'DOMINANCE': 0.025,
                      'AGE': 0.45}
    
    metrics ={'EMOTIONS': 'crossentropy',
              'VALENCE': 'mse',
              'AROUSAL': 'mse',
              'DOMINANCE': 'mse',
              'AGE': 'categorical_accuracy'}
    
    这些是正确的损失函数吗?这些权重正确吗?这些指标设置正确吗?

  • 这些是正确的损失函数吗?是的,打得不错
  • 这些重量合适吗?你决定训练应该如何受到各种损失的影响,这主要取决于你的数据,例如,如果配价是有噪声的,你可能想减少它的重量,就像你做的那样
  • 这些指标设置正确吗?第一个应该是
    二元精度
    ,对于经常使用的回归
    mae
    或平均绝对误差,最后一个对于多类分类是正确的

  • 谢谢你。例如,如书中所述,用于年龄回归任务的均方误差(MSE)损失通常取3-5左右的值,而用于性别分类任务的交叉熵损失可低至0.1。在这种情况下,为了平衡不同损失的贡献,您可以为交叉熵损失分配10的权重,为MSE损失分配0.25的权重。因此,基于此,我的问题是,我的示例中使用的损失函数的典型值是什么?