读论文笔记(ACGAN)

前言:

这篇论文的全称为:《Conditional Image Synthesis with Auxiliary Classifier GANs》,基于辅助分类器GANs的条件图像合成,在很多时候,它和SGAN一样经常被人们称为半监督学习,因为会用到图片的类别标签;ACGAN同时结合了CGAN和SGAN的做法来提高图片的生成质量,即CGAN通过结合标签信息来提高生成数据的质量,SGAN通过重建标签信息来提高生成数据的质量。在我看来,(1)ACGAN的提出在很大程度上解决了GAN模型崩溃的问题,所谓GAN的模型崩溃是指通过生成单一的样本来骗过判别器,这听起来蛮糟糕的,因为我们知道GAN其中一个最大的用途用来做数据增强。(2)ACGAN可以生成高分辨率的图片,注意不是将低分辨率的图片进行简单的线性插值而生成高分辨率的图片,作者还提出了2个指标来佐证这一点。

 ACGAN模型结构:

从上面这个结构图更容易看出ACGAN结合了CGAN和SGAN的做法,很形象也很直观。在ACGAN中,主要是在原CGAN的基础上,对判别器的输入进行改变,不仅要输出图片的真假信息,同时还对应一个分类器来判断输入图片所属的类别,对应类别的损失会告诉判别器和生成器往着目标类别生成图片。

损失函数:

D被训练为使L_{S} +L_{C}最大化,而G被训练为使L_{C}-L_{S}最大化,这点也很好理解,无论是判别器还是分类器都希望生成的图片属于指定的类别。

实验:

在这部分,作者做了很多的实验,如果去看论文,你会发现有很大的篇幅在阐述实验;总的来说,主要包含以下几个部分:

  • ACGAN生成高分辨率图像提高了可分辨性:

如何评价一个生成模型生成图片的分辨率,最简单的方法无非就是直观用眼睛来看,但这样显然无法量化一个图片的好坏,于是作者提出使用一个分类器,若生成的图片具有较高的分类正确率,我们就有理由认为生成的图片质量比较高,也即该图片具有较高的可分辨性,如上所述,生成高分辨率的图片,需要不是简单的将低分辨率的图片进行线性插值来生成,因而要量化的分析生成的图片的质量,可以从其分辨力。从低分辨率通过插值生成的高分辨率图片,其本质上没有增加多余信息,只是低分辨率的模糊版。结合这样的思路,高分辨率的图片提供了更多的信息,这些信息结合到AC-GAN结构,每个生成图片都有其对应的标签,因而这个更多的信息,可以通过分类来表明,也就是说更多的信息,可以用于分类,也就是文中所说的分辨力。因此,文中采用了Inception网络对于生成的图片进行分类,查看其被分类为正确类别的比率,以此来判定生成的图片质量。下图中,最上面给出了真实图片和基于ACGAN生成图片,可以明显感觉图片高分辨率对应高可分辨性;图中左下的图,黑色的线,是真实图片,因而其达到的准确率可以说是生成图片的准确率的上限,红色的线表示的是生成的128 \times128分辨率的图片的准确率表现,蓝色的线是生成的64 \times64分辨率的图片的准确率表现,对于比其高或低分辨率的图片的准确率,是通过插值的方式缩放以后得到的图片得出的准确率表现,可以看到,降低分辨率确实降低了准确率,明确表明低分辨率的类信息更少;同样通过插值方式提高分辨率并不会带来更多的类信息,同时也不会损害已有的类信息,因而准确率保持不变。图中右下的图,每个点代表不同的类别,其坐标分别代码不同的分辨率下的准确率,其中蓝色的线是y=x的函数线,也就表明位于蓝色线上方的点,含义是该类别的图片在32 \times32分辨率条件下准确率高于128 \times128条件下的准确率,反之,在下方的点表明32 \times32的准确率低于128 \times128的准确率。文中统计了在线下方的点的比例为84.4%,也可以说大部分的图片在高分辨率的情况下,用于分类准确率会高于低分辨率。

  • 测量ACGAN生成图像的多样性:

GAN有个最常见的问题就是模式坍塌的问题,就是模型找到一种方式,无论输入的内容是什么,生成的图片都只有一种,然而这种图片能大概率欺骗过分辨器。因而,产生的图片具有多样性,也是可以评估GAN模型好坏的指标。文中采用了图片的多尺度结构相似度来衡量图片与图片之间的相似度(multi-scale structural similarity,MS-SSIM),这个相似度在0和1之间取值,越大说明图片之间越相似;提及MS-SSIM的时候,往往也要提及SSIM,来看看它们具体是怎么计算的。

SSIM:

SSIM的全称为structural similarity index,即为结构相似性,是一种衡量两幅图像相似度的指标。

关于图像的均值、方差、协方差计算公式,看这篇博客即可,也很简单。

MS-SSIM:

其中L(X,Y)L(X,Y)是亮度对比因子,C(X,Y)C(X,Y)是对比度因子,S(X,Y)S(X,Y)是结构对比因子,计算公式同上。

文中在一个给定类中取图片对,计算两者之间的MS-SSIM,如果图片多样性程度越高,那么这个MS-SSIM的分数应该越低。ImageNet的训练数据的平均MS-SSIM值最高的为0.25,这部分的实验结果如下图所示,图中左下角的图,图中每个点代表一个类,分别对应训练数据和生成数据的MS-SSIM的数值,蓝色的线依旧为y=x的函数线。但是这块并不是看生成数据MS-SSIM比训练数据的MS-SSIM大或者小的部分(因为这并没有什么意义,生成的数据多样性比训练数据高或低没有太多意义),而是要看红色的分界线,红色的线为MS-SSIM为0.25,因而低于0.25的数据,可以说生成的数据是比较接近真实图片的,文中统计了这根红线下面的类的数量为847个,也就是说84.7%的AC-GAN生成的类数据的多样性超过了训练集中最小变化量的类。图中右下角的图,文中表示红色的线是生成数据的MS-SSIM平均值在训练过程中的变化(一直在上升,是不是说明有崩塌的可能,而且接近1了);同时图中黑色的线,应该是训练完成后生成的图片的多样性。

  • ACGAN生成的图像既多样又可分辨:

下图显示了Inception初始精度和MS-SSIM分数在所有类中的联合分布。初始精度和MS-SSIM是反相关的(r2=−0.16)。事实上,74%的低多样性类(MS-SSIM≥0.25)包含初始精度≤1%。相反,78%的高多样性类(MS-SSIM<0.25)的初始精度超过1%。相比之下,incep -v3模型在所有1000个类中平均达到了78.8%的准确率。这些结果表明,GANs最有可能产生低质量的图像。这与一个关于GANs的流行假设形成了鲜明的对比,即GANs以牺牲可变性为代价来获得高样本质量。我们希望这些发现能够帮助我们进一步研究GANs和其他图像合成模型之间样本质量差异的原因。

  • 分析ACGAN是否已经过拟合:

在探索AC-GAN是否存在过拟合的实验中,文中提出了两种思路,第一种思路是比较L1距离最近的生成的图片(下图左一),看起是否类似于训练的数据,从而判定是否存在过拟合,给出的实验结果图比较,依旧是人为的评定是否相似。除此方法之前,文中提出了线性插值噪声z和类标签c,查看其变化(下图右一),其认为如果是过拟合的模型,那么产生的图片在插值的输入面前会发生图片,结果依旧需要认为判断,不过这样判断是否发生突变会比之前的容易。

注:实验部分大量挪用了这篇博客,博客里写的还是挺详细的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值