#285·Keras-GAN

CycleGAN 训练日志: 敌对损失持续不变, 判别器准确率稳定在 ~49%

作者: AmadeuSY-labo创建于 2025年3月3日更新于 2025年3月3日

问题描述: 我正在使用 Keras v3.8.0 运行 CycleGAN 训练,并在初始 epoch(0/200)期间观察到以下行为: 判别器(D): D 损失初始时大约为 0.70(例如,在批次 0 时为 0.695766),准确率非常低(约 25%)。在接下来的几个批次中,D 损失迅速下降至大约 0.47,判别器准确率上升并稳定在 49% 附近。生成器(G): G 损失初始时大约为 17.42,并逐渐下降(例如,到批次 15 时大约为 14.85)。然而,G 损失的对抗组件在整个这些批次中几乎保持不变(约 0.91)。重建损失和身份损失都呈现出小幅下降的趋势。问题/疑虑: 判别器行为: 判别器准确率迅速上升至约 49%,接近随机猜测(50%)。这是否是早期训练阶段的预期行为,或者可能表明判别器设置存在问题? 稳定的对抗损失: 尽管总体生成器损失下降,但对抗损失几乎保持不变(约 0.91)。我是否应该担心生成器没有提高其欺骗判别器的能力,还是这在初始 epoch 中是典型的? 下一步: 是否在当前阶段建议进一步调整超参数或更改训练策略,以促进更有效的对抗学习? 可复现步骤: 使用 Keras 版本 3.8.0。在给定数据集上训练 CycleGAN 200 次迭代。观察训练日志,尤其是在初始 epoch(批次 0-15)期间。日志片段示例: [Epoch 0/200] [Batch 0/3400] [D loss: 0.695766, acc: 25%] [G loss: 17.421459, adv: 0.911943, recon: 0.703973, id: 0.664554] time: 0:00:54.098616 [Epoch 0/200] [Batch 1/3400] [D loss: 0.544706, acc: 41%] [G loss: 17.582617, adv: 0.913612, recon: 0.759879, id: 0.702040] time: 0:00:54.705443 [Epoch 0/200] [Batch 2/3400] [D loss: 0.516353, acc: 44%] [G loss: 17.095995, adv: 0.912766, recon: 0.749940, id: 0.726107] time: 0:00:54.945915 ... [Epoch 0/200] [Batch 15/3400] [D loss: 0.477357, acc: 49%] [G loss: 14.845922, adv: 0.901916, recon: 0.742566, id: 0.698672] time: 0:00:58.317200 任何见解或建议都将非常感谢。提前感谢您的帮助!

内容来源: eriklindernoren/Keras-GAN