万字综述之生成对抗网络(GAN)(10)
2024-06-16 来源:飞速影视
如果变化为极小极大问题,那么迭代就是这样的,生成器先生成一些样本,然后判别器给出错误的判别结果并惩罚生成器,于是生成器调整生成的概率分布。可是这样往往导致生成器变“懒”,只生成一些简单的,重复的样本,即缺乏多样性,也叫 mode collapse。
稳定GAN训练的技巧
如上所述,GAN 在理论上和实践上存在三个大问题,导致训练过程十分不稳定,且存在 mode collapse 的问题。为了改善上述情况,可以使用以下技巧稳定训练:
Feature matching:方法很简单,使用判别器某一层的特征替换原始 GAN Loss 中的输出。即最小化:生成图片通过判别器的特征和真实图片通过判别器得到的特征之间的距离。
标签平滑:GAN 训练中的标签非 0 即 1,这使得判别器预测出来的 confidence 倾向于更高的值。使用标签平滑可以缓解该问题。具体来说,就是把标签 1 替换为 0.8~1.0 之间的随机数。
谱归一化:WGAN 和 Improve WGAN 通过施加 Lipschitz 条件来约束优化过程,谱归一化则是对判别器的每一层都施加 Lipschitz 约束,但是谱归一化相比于 Improve WGAN 计算效率要高一些。
PatchGAN:准确来说 PatchGAN 并不是用于稳定训练,但这个技术被广泛用于图像翻译当中,PatchGAN 相当于对图像的每一个小 Patch 进行判别,这样可以使得生成器生成更加锐利清晰的边缘。
具体做法是这样的:假设输入一张 256x256 的图像到判别器,输出的是一个 4x4 的 confidence map,confidence map 中每一个像素值代表当前 patch 是真实图像的置信度,即为 PatchGAN。当前图像 patch 的大小就是感受野的大小,最后将所有 Patch 的 Loss 求平均作为最终的 Loss。
mode collapse的解决方案
针对目标函数的改进方法
为了避免前面提到的由于优化 maxmin 导致 mode 跳来跳去的问题,UnrolledGAN 采用修改生成器 loss 来解决。具体而言,UnrolledGAN 在更新生成器时更新 k 次生成器,参考的 Loss 不是某一次的 loss,是判别器后面 k 次迭代的 loss。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号