【研究生工作周报】(cyclegan消融实验)

项目场景:

CycleGAN消融实验设计及相关问题分析

数据集:horse2zebra

链接: GAN评价指标汇总


CycleGAN Training Result

A2B Loss:
在这里插入图片描述


B2A Loss:
在这里插入图片描述


Both Direction Loss:
在这里插入图片描述


Some perfect results

A2B results:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


B2A results:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


问题描述:

通过观察发现,A2B 与 B2A 两个方向的结果存在细微差异,表现在这个数据集上是 “马—>斑马” 的效果普遍优于 “斑马—>马”,我们采用网络结构完全对称,理论上这种现象不应该出现在。
在这里插入图片描述
在这里插入图片描述

原因分析:

Asumption1: 两个数据集的大小不一样
Asumption2: 数据不对称,学习难度不一样


解决方案:

先采用同等大小的数据集


GAN:Mode collapse

忽略cycle loss,按original GAN训练
在这里插入图片描述


原因分析:

GAN训练随机性太强,引起模式崩溃,训练出鲁棒性强的GAN确实是一个难题

在这里插入图片描述
在这里插入图片描述


解决方案:

先重新训练一下看看结果

MGO-GAN:利用正交向量缓解GAN训练时模式崩溃的问题

从优化目标考虑:

u n r o l l e d G A N [ 1 ] unrolled GAN^{[1]} unrolledGAN[1]:unrolled GAN认为,因为生成器缺乏“先见之明”,导致了无法跳出模式崩溃的困境,生成器每次更新参数时,只考虑在当前生成器和判别器的状态下可以获得的最优解,生成器并不知道当前选择的最优解从长远来看并不是最优解。通过一定的改进,来赋予生成器“先见之明”。即生成器在更新时,不仅仅考虑当前生成器的状态,还会额外考虑以当前状态为起始点,判别器更新K次后的状态,综合两个信息做出最优解。

D R A G A N [ 2 ] DRAGAN^{[2]} DRAGAN[2]:GAN的参数优化问题并不是一个凸优化问题,存在许多局部纳什均衡状态。即使GAN进入某个纳什均衡状态,损失函数表现为收敛,其仍旧可产生模式崩溃,我们认为此时参数进入一个坏的局部均衡点。通过实践,发现当GAN出现模式崩溃问题时,通常伴随着这样的表现:当判别器在训练样本附近更新参数时,其梯度值非常大,故DRAGAN的解决方法是:对判别器,在训练样本附近施加梯度惩罚项。试图在训练样本附近构建线性函数,因为线性函数为凸函数具有全局最优解。DRAGAN的形式与WGAN-GP颇为相似,只是WGAN-GP是在全样本空间施加梯度惩罚,而DRAGAN只在训练样本附近施加梯度惩罚。

从网络架构考虑:

M A D − G A N [ 3 ] MAD-GAN^{[3]} MADGAN[3]:即使单个生成器会产生模式崩溃的问题,但是如果同时构造多个生成器,且让每个生成器产生不同的模式,则这样的多生成器结合起来也可以保证产生的样本具有多样性。在MAD(Multi-agent diverse)GAN中,共包括k个初始值不同的生成器和1个判别器,与标准GAN的生成器一样,每个生成器的目的仍然是产生虚假样本试图欺骗判别器。对于判别器,它不仅需要分辨样本来自于训练数据集还是其中的某个生成器(这仍然与标准GAN的判别器一样),而且还需要驱使各个生成器尽量产生不相似的样本。
MAD-GAN-Sim :MAD-GAN-Sim是一种“更强力”的版本,它不仅考虑了每个生成器都分别负责生成不同的样本,而且更细致地考虑了样本的相似性问题。其出发点在于:来自于不同模式的样本应该是看起来不同的,故不同的生成器应该生成看起来不相似的样本。


参考论文:

[1] Kodali N , Abernethy J , Hays J , et al. On Convergence and Stability of GANs[J]. 2017.
[2] Metz L , Poole B , Pfau D , et al. Unrolled Generative Adversarial Networks[J]. 2016.
[3] Ghosh A , Kulharia V , Namboodiri V , et al. Multi-Agent Diverse Generative Adversarial Networks[J]. 2017.

Ablation study

按照论文中消融实验的思路,设计GANCycleGANGAN+foward_lossGAN+backward_loss,比对图像转换效果。
比较可惜的是训练出的GAN模型产生了模式崩溃,但对后三者进行对比还是可以说明问题的。

Direction A2B:

在这里插入图片描述

Direction B2A:

在这里插入图片描述

量化指标

DirectionMetricCycle-GANGAN + fowardGAN + backward
A2BFID184.63209.27214.93
A2BKIDx1005.7511.2013.83
B2AFID92.26102.2594.12
B2AKIDx1001.041.481.34

结论

从结果来看,当只考虑一个方向的循环损失时,另一个方向效果就会很差。

  • 综合考量双向的Cycle Loss会有更好的表现效果。

GAN的一些评价指标

  • Inception Score: 将GAN生成的样本丢给Inception网络,输出类别概率,对于同一类别的图片,其输出的概率分布应该趋向于一个脉冲分布,可以保证生成样本的准确性。对于所有类别,其输出的概率分布应该趋向于一个均匀分布,这样才不会出现mode dropping等,可以保证生成样本的多样性。
  • Mode Score:Inception Score的改进版本,添加了生成样本和真实样本预测的概率分布相似性度量。
  • Kernel MMD
  • Wasserstein distance
  • Fréchet Inception Distance (FID):计算真实样本和生成样本在特征空间之间的距离。首先利用Inception网络来提取特征,然后使用高斯模型对特征空间进行建模。根据高斯模型的均值和协方差来进行距离计算。
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值