我的项目涉及训练cGAN(pix2pix)以生成仍与输入图像归为同一标签但结构不同的图像。例如,如果输入的图像是一个知更鸟,则GAN的目标是产生一个新的姿势不同的知更鸟图像。
我正在尝试通过将GAN输出输入预先训练的模型进行分类,并使用其交叉熵损失作为整体损失函数的一部分来实现这一目标。 但是,如果这是我唯一的更改,则GAN将不执行任何操作,并生成与输入相同的图像。一定有损失的成分会促使输出与该输入有所不同。现在,我通过使用负权重的L1损失来做到这一点,因此增加L1损失可以减少总体损失。我不确定这是否是正确的方法,因为经过几批处理后,输出只会转到这些blob(批处理2500):当前L1损失的权重为-10,分类损失的权重为100。我是否应该增加分类损失的权重/将L1损失的权重设为-1或-0.5?还是应该使用其他方法代替L1损失?使用pytorch,我拥有(尽管有限)GPU支持。