当前位置:   article > 正文

论文笔记:Dual Contrastive Loss and Attention for GANs

dual contrastive loss and attention for gans

目录

一.Dual Contrastive Loss and Attention for GANs 是什么?

        1.损失函数

        2.网络结构

        3.总结

二.这项工作主要做了什么?

        1.双重对比损失

         2.生成器中的自注意力机制

        3.判别器中的参考注意力机制

三.这项工作效果怎么样?

        1.双重对比损失实验结果

         2.生成器中加入注意力机制的实验结果

        3.判别器中加入参考注意力机制实验效果

        4.综合实验

 四. 给我们的启示


一.Dual Contrastive Loss and Attention for GANs 是什么?

        随着生成式对抗式网络的发展,在大规模数据集下、参数调优合理、损失函数设计合理的话就能够生成逼真的图像,作者指出了在最先进的StyleGAN2看似饱和的性能背后,仍然存在GANs的一些问题,它生成的图像仍然容易被甄别出来,尤其是在具有高方差的数据集上(例如卧室、教堂)上,因此作者重新审视了GAN基本的生成能力,为此在损失函数网络结构上寻找原因(两个维度)。

        1.损失函数

        在第一个维度中,作者研究了损失函数,由于鉴别器的目标是通过一种真伪二元分类的解决方案来建模难以处理的真实数据分布,所以构造出更有效的鉴别器可以反向传播更多有意义的信号,供生成器对抗。然而,鉴别器的特征表示通常没有足够的泛化来激励敌对进化的生成器,并且容易忘记之前的任务或之前的数据模式。这常常导致生成的样本语义结构被破坏或者出现生成的分布模式崩溃。为了缓解这一个问题,作者提出将生成建模与对比学习的进展相结合。在这个方向上,作者首次将StyleGAN的逻辑损失替换为新设计的双重对比损失。

        2.网络结构

        在第二个维度中,作者回顾了生成器和鉴别器网络的架构(许多基于网络的图像生成器依赖于卷积层编码特征),在这种设计下,像素之间的长期依赖关系(例如大尺寸的语义相关布局)只能通过深度的卷积层堆栈来表示。然而,这并不利于GAN训练的稳定性,因为需要协调多层,在GAN框架中,极大极小公式和交替梯度上升-下降进一步加剧了这种不稳定性。为了解决这个问题,支持跨图像区域的远程建模的注意力机制被纳入GAN模型当中,SyleGAN2并没有任何一种注意力机制被加入,因此加入注意力机制之后能否改善结果,哪一种普遍的注意力机制改善最多,以及会带来多少额外的参数这些问题都不清楚。为了回答这些问题,作者研究了注意力在当前最先进的生成器中的作用,并在这项研究中显著改善了结果。在鉴别器中设计了一种新颖的参考注意机制,允许两幅无关图像同时作为输入:一个输入来自真实数据作为参考,另一个输入在真实样本和生成样本之间切换。两个输入通过两个孪生神经网络饱和参考注意模块融合。这样就能实现在现实世界的关注下引导真假分类。

图1 技术汇总包含三个方面:自注意力机制(self-attention)用于生成器、参考注意力机制(reference-attention)用于判别器、双对比损失函数(dual contrastive loss)

        3.总结

        作者在对抗训练中提出了一种新颖的双重对比损失方法,该方法将表征一般化,以更有效地区分真假,并进一步激励图像生成质量。作者研究GAN架构中注意力机制的变体,以减轻卷积的局部和稳定问题。作者设计了一种新颖的参考注意鉴别器架构,适用于有限规模的数据集,在大型基准数据集上提高至少17.5%的FID分数,在CLEVR数据集上实现了更真实的生成,在这个数据集上有了更的挑战:合成场景与遮挡、阴影、反射和镜像表面。在这上面它有惊人的47.5%的FID改进。

二.这项工作主要做了什么?

        1.双重对比损失

        传统的对抗学习损失函数基本思路始终是对每一个样本单独进行真假二分类,具体到StyleGAN2就是二分类非饱和交叉熵损失函数。受限于有限的真实图像样本,训练得到的判别器容易过拟合于真实图像,而对动态进化的生成器缺乏区分性和普适性。作者发现广泛运用于图像识别的对比学习(contrstive learning)技术恰好针对的是图像表征的区分性和普适性(作者受深度学习其他最新技术启发),于是作者提出了一个全新的双重对比损失函数(dual contrastive loss),整批图像样本形成真假对比,贡献于一个统一的损失函数,应用于对抗学习,替换传统的每张图像单独真假二分类。

        具体来说,训练迭代过程中对于一批真假图像,我们形成两种场景的“多选一”对比,第一种场景是在所有生成图像中混入一张真实图像,然后要求判别器把这唯一一张真实图像挑选出来。数学上,将这些图像输入判别器会得到各自的标量输出Logit,我们希望唯一一张真实图像的Logit要远远大于其他logits,从而形成鲜明对比,增加判别器的区分性。由于判别器是作用于一大批图相关而非单张图像,这也简洁增强了判别器的普适性。类似于多分类问题,我们对这一批logits取softmax操作,然后计算其与one-hot ground truth的交叉熵,这里的one-hot正式代表了那唯一一张真实图像。对于同一批生成图像,我们可以混入不同的一张真实图片,我们把这些不同组态分别进行对比和交叉熵的计算,取平均得到在第一种场景下的对比损失函数如下:

        

 对偶地,我们可以在一批真实图像中混入一张生成图像,训练判别器将这唯一一张生成图像挑选出来。我们将这些图像的判别器logits取负再取softmax,再与one-hot ground truth取交叉熵。最后我们对不同组态取平均,得到在第二种场景下的对比损失函数如下:

        

 最后我们把这两种场景的损失函数简单相加应用于对抗学习,得到我们的双重对比损失函数如下:

 双重对比损失函数如下图所示:

         2.生成器中的自注意力机制

        首先为什么作者没在判别器中加入自注意力机制?因为作者尝试过,在判别器架构中应用同样的自注意力机制,效果却适得其反,因此作者提出了一个全新的参考注意力机制(reference-attention)用于StyleGAN2的判别器中。

        自注意力机制(self-attention)层出现于图像生成技术,后来又被最近的StyleGAN2摒弃。与此同时,自注意力机制的宽视野空间自适应的优势在图像识别领域得到了进一步发展和广泛认可,于是我们好奇把最新的自注意力机制SAN和最新的生成对抗网络StyleGAN2=结合会收获怎样的效果?具体俩说就是在生成器架构中用如下图所示的自注意力机制模块替换一层传统卷积层,至于替换哪一层,对不同数据依经验而定。

图2 自注意力机制和参考注意力机制模块图

上图就是自注意力机制和参考注意力机制模块示意图了,左上角的开关用于切换两种机制,主体设计启发于SAN。

        3.判别器中的参考注意力机制

        虽然自注意力机制在生成器中替代卷积层是有有益的,然而使用在判别器中却使FID变差(数值上升),这归因于生成器和判别器训练本身的不平衡,由于判别器的任务远比生成的任务简单,进一步提高判别器的性能让两者更加不平衡,从而使得对抗学习更不稳定(对抗学习肯定要尽量公平,这样才有锻炼作用)。于是我们考虑保留注意力机制的优点,但是引入一张真实图像作为参考,用于注意力机制中的key和query模块计算,我们将此新提出的模块称之为参考注意力机制。见图2 自注意力机制和参考注意力机制模块图中的左上角的开关。

        具体来说,就是在判别器中增加一个真实图像的输入,用孪生网络结构并行编码原始图像输入和参考图像输入直至很深的一层(8*8张量尺寸),再用参考注意力模块融合两个编码,最终输入原始图像的判别器logit,详见图1。我们的动机在于,正如在图像识别中引入不同的图像变换作为数据增强,从而增强分类器的鲁棒性,这里我们引入不同的参考图像,通过参考注意力机制作特征增强,从而增强判别器的鲁棒性。同时,不同特征增强,进一步挑战判别器的任务,让判别器和生成器的难度变得接近,从而使两者训练更均衡。

三.这项工作效果怎么样?

        1.双重对比损失实验结果

        在下图所示这个表格当中我们可以看出来,基于同样的StyleGAN2主干上,作者在多个数据集上对比了多种主流传统损失函数的表现,我们发现Dual contrastive在绝大部分数据集上的FID都达到了最佳(数值下降),在CLEVER数据集上也是表现次优的

         2.生成器中加入注意力机制的实验结果

        作者将各种自注意力机制方法应用于StyleGAN2生成器当中,在不同数据集上的对比效果可见下表所示,我们可以很容易的发现所有自注意力机制都对FID有提升作用(数值下降),而最前沿的SAN提升效果最明显,在CelebA数据集上也是次优的。 

        3.判别器中加入参考注意力机制实验效果

        实验方面,作者在多个数据集上对比了原始StyleGAN2、自注意力机制用于判别器、以及参考注意力机制用于判别器,发现不同于自注意力机制的副作用,我们的参考注意力机制全面提升了FID性能(数值下降)。 

        

        4.综合实验

        由于我们在各个方面的改进彼此独立,我们直接将其一并用于StyleGAN2主干,并与StyleGAN2原始设计和另一并行前沿技术U-Net GAN进行对比,主要的FID对比见表1所示,定性对比也可见下图所示,更多度量可见原文补充材料表12和图8-12。我们的方法一致的优于另两个基准方法,在不同数据集上至少有17.%的FID性能提升(数值下降),尤其是在强几何和光学的CLEVR数据场景下,我们的方法有惊人的47.5%的FID提升。

表1 们的方法一致地优于基准方法,在不同数据集上有至少17.%的FID性能提升(数值下降),尤其是在强几何和光学的CLEVR数据场景下,我们的方法有惊人的47.5%的FID提升。

未经挑选的随机生成的图片的直观对比,我们尽量对比生成图片的布局和结构。最后一行是结合我们所有改进的结果,质量显著优于其他方法,瑕疵明显更少。对比之下,我们用红色边框标出了原始StyleGAN2的瑕疵部分

 四. 给我们的启示

        本文产生的背景是当前最好的生成对抗网络StyleGAN2在复杂数据上仍频繁出现肉眼可见的瑕疵,因此本文以StyleGAN2为baseline进行改进,从常见的两个可以创新的地方,损失函数和网络架构上进行改进了,主要是也是从发现问题,结合技术前沿解决问题的流程进行改进的。

        1. 损失函数发现了原来判别器总是对有限的真实图像过拟合,从而对不断进化生成器和生成图像没有普适性,因此作者在损失函数上将生成建模与对比学习的进展相结合,提出了一个全新的双对比损失函数应用于对抗训练,使之学到的图像表征更具有真假区分性和普适性,从而激励了高质量的图像生成(其实就是使得判别器和两者之间更公平了一点)

        2. 网络结构上作者发现了StyleGAN2移除了在图像识别领域广泛证明有效的自注意力机制,因而暴露出卷积层的固有问题,因而暴露出卷积层的固有问题,也就是卷积核视野狭小(空间3*3)并且不同位置都不得不和同一个卷积核进行运算,这最终导致生成图像中出现不连贯的物体结构的。因此作者提出了能否在StyleGAN2中加入最前沿的注意力机制,加入之后效果如何?因此作者首先尝试了在判别器架构中应用自注意力机制,发现效果不好后,又向生成器中加入自注意力机制,发现效果好后,又对判别器加入自注意力机制效果不好的原因进行思考,最后认为是加入自注意力机制之后判别器的鉴别能力提升了,更加剧了判别器和生成器的不平衡博弈(本来判别器就任务简单),因此想着能不能把判别器的任务变得更复杂一些,因此提出了一个权限的参考注意力机制用于StyleGAN2的判别器中(其实就是相当于加任务了,也使得判别器能够更加激励了高质量的图像生成了)。最终发现效果是很好的。

        总体上作者的思考点应该就是看能不能加入注意力机制?能不能借鉴其他深度学习技术的进展设计一种全新的损失函数?本文的创新点其实也是主要在于一个双对比损失函数和参考注意力机制。

        作者从不同损失函数给StyleGAN2的“加成”对比、生成不同注意力机制的“加成”对比、判别器自注意力机制以及作者自己提出的参考注意力机制对StyleGAN2的增益对比这三个角度进行实验分析,要注意的是作者似乎并没有在生成器和判别器那俩对比表上放入FFHQ和CLEVR上这一数据集上的实验效果(但是这两个表上的实验数据集都是一致的),也没有在损失函数对比那个表中放入CelebA那个数据集上的表现效果对比。最后作者将所有自己的方法分离或组合起来与BigGAN、U-Net GAN和StyleGAN2进行对比,最终体现了作者提出的两个创新点都是有效的,能够帮助StyleGAN2的FID性能提升。

        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/316397
推荐阅读
相关标签
  

闽ICP备14008679号