2020/03/16 AttentionGAN的注意力机制理解

论文地址:Attention-GAN for Object Transfiguration in Wild Images

最近学习了一下ECCV2018的attentionGAN,文章中attention能自动注意到 前景目标 的现象让我感觉很神奇,同时又很困惑,在这个以CycleGAN为框架的模型里,也没有类似监督学习利用标签方向传播指导网络关注感兴趣区域的机制啊,怎么attention mask就能注意到 前景目标 呢?,如果我要是想直接转换背景目标,那这个网络岂不是很差?

带着上面的疑问,我仔细阅读了一下论文的loss。在阅读过程中,我忽然有一个想法,这个判别器实际上就是有监督学习的分类器,是不是判别器起的作用?有个这个疑问,我进一步分析了一下判别器的作用。

判别器在CYCLE-GAN里的目的就是判断输入是否来自B域,那么靠什么来判断呢?B域数据的共同特点!那什么是B域的共同特点?斑马!对!在进一步说明之前,还有一个很重要的因素需要补充一下,这也是我为啥没有理解AttentionGAN的重要因素[捂脸]。。AttentionGAN的训练数据是这样的:A域是普通马,B域是斑马。这是关键!也就是说,A域与B域各自都是 一个类别 (之前做数据集风格转换,里面有很多类别,所以想当然的认为A域与B域里有多个类别,只不过训练完了之后,用普通马来做个测试。。。太想当然了。。),这样我们就知道B域(以B域为例)的共同特点是 斑马!

判别器就是通过这个来找到感兴趣区域的。B域数据背景可以不一样,但是前景都是斑马,这样一来,判断输入是否是来自B域的标准就是判断是否有斑马。这样,判别器就相当于一个有二分类标签的分类器,这个标签直接指导编码器去关注对判别有效的特征——也就是斑马。这样,网络的注意力全部到了斑马身上,也就是前景目标。

放一张pipline的图:

总结一下,为什么AttentionGAN能自动关注到前景目标:

  1. 首先受训练数据集的数据分布影响。由于A域和B与数据各自的代表性特点都是前景目标——马(A)和斑马(B)。
  2. 判别器为了判断输入是否来自B域,需要判断输入中是否有斑马。为了判断是否有斑马,需要把关注点放在输入图片中有斑马的区域——也就是前景目标。

猜你喜欢

转载自www.cnblogs.com/Research-XiaoEMo/p/12503297.html
今日推荐