在喀拉拉邦处理多重损失及其权重

时间:2019-01-07 03:49:33

标签: tensorflow keras deep-learning loss-function generative-adversarial-network

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

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

1 个答案:

答案 0 :(得分:0)

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