系统分析 BAGAN: Data Augmentation with Balancing GAN

 前一段时间研究了BAGAN这篇论文,我这里尝试着用最近接触的系统性的方法来阐述一下我对这篇文章的理解。我将从以下几个方面来进行分析:
(1)这篇文章解决了一个什么问题
(2)为何之前这个问题没有解决或者说这个问题的难点在哪里
(3)在这之前的解决方案有什么,作者的工作与前人相比好在哪里
(4)空口无凭,实验结果展示
(5)对整个实验的评估

1、文章解决掉的问题

 本文提出,在图像分类任务当中,我们的数据集经常是不平衡的,而这种不平衡性往往会降低分类的准确性。所以本文提出了balancing GAN(BAGAN)作为一种增强工具来恢复数据集的平衡性,以便提高分类的准确性。

2、问题的难点

 问题的难点在于我们想要生成不平衡数据集中样本数量少的类别数据,首先在GAN网络之前,我们通常会对数据做一些几何变换来增强数据集,但是这种方法遇到一些与方向性相关的数据集时,效果往往会特别不好。其次当我们使用GAN网络的时候,由于特定类别数据量较少,很难很好地训练一个GAN网络来生成数据。

3、问题的解决方案

(1)前人的工作
 由于几何变换方法的局限性,我们在这里不予以讨论。我们重点讨论GAN网络之前的工作。其实为了生成特定类别的样本,前人已经做出了一系列的工作,例如cGAN、ACGAN等。本文在我看来实际上是对ACGAN的一种改进,首先我们来看一下两者的结构图

图一、ACGAN和BAGAN结构对比
 从图中我们可以看出两者之间还是有一些不同的,之前的ACGAN是在本文之前唯一一种用于特定类别数据生成并用于分类的一种方法,但本文提出,当使用ACGAN进行小样本类别数据生成时,它会存在一定的问题。从图中我们可以看出,ACGAN有两个输出,分别是判断样本是否为真的fake,real输出以及对样本进行分类的类别输出,对应的也会有两个损失函数,我们分别称之为loss1和loss2。本文认为当将ACGAN用于小样本类别生成的时候,它的两个loss就会自相矛盾。

 我们设想一下,当判别器接收到一个数据之后,他会本能地将出现次数很少的数据认为是假的,而将多次出现的数据判别为真。这就导致当判别结果反馈的时候,生成器为了使loss值降低,就会生成样本数量多的类别数据,这就导致我们无法生成我们所需要的小样本类别数据,也就无法回复数据的平衡性。
(2)本文的贡献
 本文着力解决了两个问题,第一:当样本数量较少时,如何更好地训练一个GAN网络;第二:如何解决上述讲到的ACGAN的两个loss函数自相矛盾的问题。
 首先,为了解决第一个问题,本文使用自编码器对原始的所有数据进行编码,它认为这样子就可以从小样本类别和多样本类别中学习到他们的共同特征,来避免小样本数据学习到的特征不足导致的GAN网络训练效果不好的问题。为了解决第二个问题,本文将输出由两个变为了一个,如图一所示,变成了一个n+1的输出,来解决两个loss函数自相矛盾的问题。

3、实验结果

 本文使用了四个数据集,分别是MNIST、CIFAR-10、Flowers以及CTSRB。由于前三个数据集都是平衡数据集,所以文章中对其做了不平衡处理,来使数据集变成不平衡的。文章从定性和定量两个角度对实验结果进行了分析。
(1)定性分析
 话不多说,直接上图
图二、CIFAR-10数据集实验结果

图二、CIFAR-10数据集实验结果

 从图中可以看出,当我们丢掉40%的数据的时候,普通的GAN网络已经很难达到一个很好地训练效果;而ACGAN呢,为了使损失函数较小,倾向于生成一些重复数据,来降低不确定性;而BAGAN则效果很好。
图三、GTSRM数据集实验效果

图三、GTSRM数据集实验效果

 从Figure5中,我们可以看出生成多样本类别数据的时候,ACGAN的效果与BAGAN的效果相差无几;但是当我们要生成小样本类别数据的时候,ACGAN的生成效果就不够好,而且最严重的是,第二行的警示标志在使用ACGAN的时候,它倾向于生成限速标志。
 从上述两幅图中,我们可以直观地看到,ACGAN在生成小样本数据的时候,效果还是不如BAGAN好的。
(2)定量分析
 在我们做实验进行定量分析之前,首先要做的就是制定一个评估标准,然后我们才能围绕评估标准展开实验。
本文制定了三个评估标准或者说致力于达到的实现目标:
(a)我们要生成所需类别的图像
(b)我们生成的图像之间不能是重复的
(c)我们生成的图像必须与训练集中的真实图像不同
 为了评估目标一的实现程度,我们的实验结果如下:
图四、目标一实验结果图四、目标一实验结果图四、目标一实验结果图四、目标一实验结果图四、目标一实验结果图四、目标一实验结果图四、目标一实验结果图四、目标一实验结果

图四、目标一实验结果

 从图中我们可以看出,在四个数据集中,BAGAN的分类准确率都是高于普通GAN网络和ACGAN的。所以BAGAN可以更好地生成指定类别的样本。

 为了评估目标二的实现程度,我们的实验结果如下:
图五、目标二实验结果

图五、目标二实验结果

 其中SSIM值是衡量相似度的一个指标,值越大,代表相似度越高。而Reference指的是真实数据集彼此之间的相似度。从图中我们可以看出,在四个数据集中,BAGAN生成的数据之间相似度都是最小的,很好地达到了我们目标二的要求。

 目标三文章中并没有贴出实验结果图,而出给出了在四个数据集上,BAGAN的SSIM值分别是0.8、0.25、0.05、0.5。

 文章最后,将不同方法的分类准确度通过实验进行比较,结果如下图:
图六、最终分类准确率比较

图六、最终分类准确率比较

 其中Plain代表对原始数据进行分类的结果,Mirror代表对数据进行镜像处理增强之后分类结果。从图中我们可以看出,在前三个数据集中,准确率最高的是镜像增强方法,之后才是BAGAN。而在最后一个数据集上,我们发现镜像增强方法的准确率极低,这是因为这里的数据是关于交通标志的,与方向性有关。所以,我们看到在处理与方向性相关的数据集时,BAGAN的效果是目前比较好的。
 最后总结一下,BAGAN: Data Augmentation with Balancing GAN这篇文章实际上就是提出了一种增强工具来恢复一些不平衡数据的平衡性,其实在对于很多领域都是很有效的一种方法。因为在某些领域,数据集大多都是不平衡的。
 希望我这次的解读能给大家带来一点收获,也欢迎大家多提意见。谢谢阅读~

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值