我用两个输出层建模,年龄和性别预测层。我想为每个输出层的损失分配不同的权重值。我有以下代码行。
model.compile(loss=[losses.mean_squared_error,losses.categorical_crossentropy], optimizer='sgd',loss_weights=[1,10])
我的问题是损失权重对模型性能的影响是什么?如何配置损失权重,以便模型在年龄预测上表现更好?
我用两个输出层建模,年龄和性别预测层。我想为每个输出层的损失分配不同的权重值。我有以下代码行。
model.compile(loss=[losses.mean_squared_error,losses.categorical_crossentropy], optimizer='sgd',loss_weights=[1,10])
我的问题是损失权重对模型性能的影响是什么?如何配置损失权重,以便模型在年龄预测上表现更好?
这将影响每个输出的反向传播如何导致网络中的中间节点被更新。如果输出节点的误差相等,则中间节点的梯度下降过程将同样有利于这些输出中的每一个的结果误差。通过更重地加权输出节点,这意味着梯度下降将有利于在该输出节点上表现更好的一组参数。