我的损失函数由2个项组成:crossentropy
损失和mse
损失。我希望mse
对1e-5
的损失进行加权。但是,我只希望某些样本损失mse
。如何指定呢?
从文档中不清楚如何执行此操作。我目前的方法是使用model.train_on_batch(x,y,w)
传递每个损失项的样本权重,其中w
是包含1
或0
值的两个数组的列表。然后,我使用以下代码编译模型:
model.compile(optimizer = tf.keras.optimizers.RMSprop(lr=1e-5), loss = ['categorical_crossentropy', 'mse'], loss_weights= [1, 1e-5])
我的理解是,损失权重用于以下目的:
total loss = 1 * crossentropy loss + 1e-5 * mse loss
。w
的值,样本是否损失或不损失。因此,一些样本可能仅损失cross entropy
,而某些样本将损失mse
,或者某些样本将同时损失。我想知道这是否是指定样本相关权重的正确方法。