0

使用具有多个损失的 train_on_batch 训练 GAN 模型,我可以在编译模型时使用随机loss_weights还是有一些特定的策略来使用这些损失权重,如此处所述。在我的问题中,是 generated_image 和 original_image的损失函数,是 0 和 1 类的分类损失函数。 mean_sqaured_errorbinary_crossentropy

model.compile(optimizer=optimizer, loss=['mean_squared_error', 'binary_crossentropy'], loss_weights=[100,1])
4

1 回答 1

0

权重是您需要优化的超参数。请注意,优化这些超参数并不简单,因为降低权重会自动减少损失(我们通常旨在最小化损失),但不一定会创建更好的模型。如果未归一化,则 MSE 的范围可以在 [0, 无穷大) 之间,或者,如果特征在 [0,1] 之间归一化(并且使用了 sigmoid),则 MSE 的范围可以在 [0, 1] 之间。二进制交叉熵值的范围可以在 [0, infinity) 之间,这使得这个过程不像我们想象的那么简单。在不了解您的具体问题的情况下,我将首先尝试使用默认权重(每个 1)。

于 2019-01-15T21:05:43.530 回答