如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'}
这些是正确的损失功能吗?那些是正确的权重,是否正确设置了这些指标?
答案 0 :(得分:1)
binary_accuracy
,对于回归常常mae
或者使用平均绝对误差,最后一个对于多类分类是正确的。