模型
生成式对抗网络
整个GANs的架构可以解释为两个对抗体的博弈过程,一个叫生成器,一个叫判别器。生成器的作用是模拟现有的训练数据的数据分布生成数据,判别器则用来判断接受的输入是不是真的。GANs之父Goodfellow把生成器比作造假者而把鉴别器比作警察,在相互博弈并多次迭代的过程中,造假者和警察都会逐渐提升,知道造假者的假货足以乱真。
作者这里把Goodfellow文章里的东西用自己的话又复述了一遍,不再赘译了,总之,GANs的目标函数如下:
图像翻译
将GANs用作一个通用的解决方案来应付图像翻译任务是Isola首次提出的,产生了大名鼎鼎的pix2pix。GANs的输入图像被附加上了标签信息为了能够生成用户真正想要的图像(而不是随机地乱搞一通)。为了实现这种功能,GANs的判别器中加入了Loss来对图像是否与标签匹配进行度量。
在遥感图像生成领域,因为常常有云层覆盖的原因,发现同一个地点的不同域之间的图像之间的相关关系并不容易,为了实现这种需求,CycleGAN模型横空出世。这种结构包含了两个主要的部分,除了“翻译过去”之外,还需要“翻译回来”。这两个部分都加上了一个循环一致性Loss,如果拿自然语言处理的例子解释,相当于先英译汉后汉译英,最好的结果当然是转了一圈又原原本本地回到了初始状态。所以在CycleGAN中,两个部分是互逆,对称的。给定的两个生成器叫做G和F的话,它的目标函数可以这样表达:
其中的就是所谓的原始的对抗损失,而循环一致性损失是这样计算的:
深度交叉质量评估
对GANs的结果进行评估一直都是研究热点问题,产生了很多相似度度量工具,比如Frechet距离,这个东西被嵌入到Inception-v3网络在ImageNet上做预训练产生的特定的层里,为了产生交叉特征。两个多元高斯特征被拟合成这些特征,并产生Frechet距离。另一种比较常用的是Wassterstein-2距离,它可以衡量两个高斯分布之间的距离,计算公式是这样的:
本文中,我们介绍一种方式衡量不匹配的图像翻译任务中生成图像的质量,我们用了一种和Frechet距离有点相似的方式,用一个预训练的深度神经网络去嵌入生成图像中。我们选择的是Resnet-50,同样,也是在ImageNet上预训练的。即使在没有微调过的情况下,在交叉空间里的相似度搜索也效果不错。既然生成结果的质量不仅取决于训练图像的质量,也和他们是否与目标域足够“亲密”有关系,我们就用了在Resnet-50的交叉空间里每个生成图像和真实图像的平均余弦距离(作为主要工具)。Resnet余弦距离(Cosine Resnet Distance,CRD)可以如下计算:
式子不难,解释不译,我们也算了Frechet距离,比划比划到底Inception-v3和Resnet谁在这个遥感图像应用上更牛逼。