《Image Generation and Translation with Disentangled Representations 》论文解读--解开图像表示的生成与转换

Image Generation and Translation with Disentangled Representations 》 解读

论文下载地址:点击打开链接

如果下载链接出现了问题,回复我,我会发一个链接给下载。


一、论文解读

1. 原始GANs在图像生成与转换的几个主要问题

注:要看原文的话,可以结合paper第一部分和第二部分可以看出原始的GANs在图像生成与转换的主要问题。这里给出如下几个总结:

(1) 原始的GANs模型不能对生成什么种类的图像进行控制。

(2) 不能提供一个能修改存在的数据样例的方法,但是能生成一个新的图像。

(3) 在图像生成和转换问题上,一个模型只能对应一个领域图像的生成和转换。

(4) 没有解开表示图像在生成和转换上的学到的问题,导致其在图像生成和转换上没有得到一个较好的表现。

(5) 原始的GANs不好训练,并且需要用全部的已有的label数据进行训练。


2. 论文的主要贡献

(1) 用一个模型实现了可控制的图像生成和图像转换。

说明:这一点的重要性具体可见paper的第二部分(Relatedt Work),这里文章用了较多的篇幅说明目前大多数的GANs在iamge-to-image的问题上,一个模型只能针对于一个领域图像的转换,并且效果并不是特别的好;在图像生成上同样也是效果不好,并且无法很好的生成该领域中其他的较好的图像....等等,作者引用了很多paper进行说明,可以去看一下,对GANs现有的发展情况有个了解。

(2) 论文提出的模型可以使图像在多个领域图像进行转换并且不需要多种编码解码成对的结构,并且该模型还可以探索到一些比较新奇的有关数据生成的因素,这些因素都可用于图像生成与转换。

(3)该模型只需要少量的训练标签数据,对所有训练的信息进行编码进行表示用于图像的生成。



3. 论文的idea

(3.1) 模型的结构解读

这里先给出模型的结构图,对照图进行理解:

《Image Generation and Translation with Disentangled Representations 》论文解读--解开图像表示的生成与转换_第1张图片

① 模型的组成部分

鉴别器Discriminator(D),生成器Generator(G),这里的鉴别器和生成器的作用和以前的生成对抗模型一样。

编码器Ecoder(E),E的作用是将原图像X编码成有潜在表示的一个向量(vector) --Z,

Z由两部分构成Z=(u, c),u编码成非结构化的信息和噪音noise,c编码成结构化的信息和数据生成的因素(例如类标签的信息)。


② 模型结构设计的意义以及代价损失函数的计算

先介绍结构的上部分:

首先输入的原始图像X经过E的编码成Z(u,c),这里Z(Z=E(X)得到)有两部分内容:第一与原始图像X(这里需要标签数据)进行一个loss的计算并把这一部分的loss丢给G;第二部分,Z通过G(Z)生成图像G(Z),这一部分计算一个图像生成的loss,即Lrec。

结构的下部分:

结构下部分这个G的方向的意义在于:确保生成器G确实使用了c提供的信息,同时也探索了先前不知道的数据生成的因素。

G将Z(u,c)中的c进行随机打乱得到Z',然后G(Z')送入E编码器生成Z_(u' , c'),这里Z_计算一个损失Li。

-----------------------------------------------------------------------------------------------------------

以上就是整个模型的流程,接下介绍损失函数的计算以及结构设计的意义。

Lrec设计的意义:为了确保潜在表示Z的编码需要重建的原始图像的信息。我们只需要Lrec将它最小化,其计算如下:


Li设计的意义:需要所有有必要的潜在的表示Z,更加明确的c。我们要将Li最大化,我们的得到c'即(E(G(u,c)))和图像生成得到的(u,c)共同的信息。它的计算如下:


对于Li的计算,直接最大化计算比较困难,需要做一个c后边的分布P(c|x),并设计了一个辅助分布E(c|x)来估计P(c|x),只需要调解参数c,而把H(c)当做一个常数就好了。

Lsup设计的意义:增加这个损失是为了为c提供信息(不能直接指明信息),通过使用小部分有标签的数据。其计算如下:

《Image Generation and Translation with Disentangled Representations 》论文解读--解开图像表示的生成与转换_第2张图片

y表示label值,y*表示预测值。

设计D的意义:1.确保图像通过G生成是真实的;2.E和G能学到更多模型反转的信息(((u; c); G(u; c)) 和(X; E(X)) 是来自E还是G);3.我们使用一个D,E模型的u能选择对应的分布。Ladv其计算如下:

《Image Generation and Translation with Disentangled Representations 》论文解读--解开图像表示的生成与转换_第3张图片


③ 模型结构训练时参数的设计

通过上面的论述我们可以得到整个模型结构的损失计算:

《Image Generation and Translation with Disentangled Representations 》论文解读--解开图像表示的生成与转换_第4张图片

这里的λ是权重的正则项。λ1设置为10用于监督损失,确保能学到label的信息。λ2用于重建图像的损失,设置为1。λ3和λ4设置为0~1的线性增加的数。

网络参数配置,学习速率(0.0001用于D,0.0003用于G和E),batch size设置为64,优化器使用的是比较好用的Adam optimizer(β1=0.5,β2=0.999对应于上边学习率对应模型中的参数)。

u初始化一个(-1~1)的均匀分布的值

c分成两个值,一个分类值在最后一层使用softmax得到,另一个是一个高斯的连续值。



(3.2) paper在不同数据集上采用的模型结构图

《Image Generation and Translation with Disentangled Representations 》论文解读--解开图像表示的生成与转换_第5张图片



4. 论文的实验结果

对于这里我就疯狂而又简单的截几个图好了,重要的是理解论文的精髓,要是自己实现看自己的实验结果,那真的是美滋滋哇!!

《Image Generation and Translation with Disentangled Representations 》论文解读--解开图像表示的生成与转换_第6张图片

《Image Generation and Translation with Disentangled Representations 》论文解读--解开图像表示的生成与转换_第7张图片

《Image Generation and Translation with Disentangled Representations 》论文解读--解开图像表示的生成与转换_第8张图片

《Image Generation and Translation with Disentangled Representations 》论文解读--解开图像表示的生成与转换_第9张图片



二、实践理解

最后论文的总结和整篇paper一样的基调,就是重复的啰嗦和宣扬他们论文的idea,我这里就省略了。

对于paper提出来的模型通过上述的理解,各位可以试着去做做看,因为这一年要复习没有足够的精力去做,在这里我给出我以前看过,用过的一些GANs的代码,文档等资源地址,大家可以去了解,做一下。

最后,因为时间有限,有些地方可能表述的不是很准确,请各位见谅,欢迎大家一起交流。

GANs资源地址:点击打开链接

你可能感兴趣的:(18下的论文解读)