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