专栏名称: jiangweijie1981
目录
相关文章推荐
51好读  ›  专栏  ›  jiangweijie1981

文献阅读·Fader networks

jiangweijie1981  · 简书  ·  · 2020-03-06 22:27

正文

请到「今天看啥」查看全文


简介

Fader networks: Manipulating images by sliding attributes.NIPS-2017,Cited-196.
Open source,official,pytorch,star-708.

关键字

特征解耦,属性增益,Image-to-Image,深度学习,机器学习

正文

1. 任务和思路

给定一个含有某些属性的图像,论文希望训练一个模型,模型可以按照给定的属性值将不同程度的属性结合进给定的样本,生成目标样本,使得目标样本与给定样本相似,但在属性上与给定的属性值具有一致的变化。说的有点绕,上图(原文Fig1)就明白了,从左到右逐渐变化。

任务.png

怎么搞定这个任务,把代表图像内容和属性变化的特征解耦,就是说属性变化的时候不影响上面关于图像内容的特征。解耦的过程可以使用编码器来实现,但是要求解耦出来的图像内容特征 z 不受到属性特征 y 变化的影响,这一点可以借助GAN的思想来完成,让判别器仅有 z 的信息下无法判断出 y 来实现。一句话概括:在与属性无关的特征上完成对抗。

2. 模型

模型如图(原文Fig2),包含3个部件:编码器En,解码器De,判别器Di。En负责从样本 x 编码出与属性特征 y 无关的内容特征 z ;De负责根据En生成的 z 和真实的 y 重构出原来的样本 x ;Di从En生成的 z 判断出属性 y 。整个模型可以看做是AE和GAN的结合体,上面那一行构成GAN,En是生成器,Di是判别器;粉色的背景部分是一个AE。

模型结构.png
3. 目标函数和训练过程

总的目标函数如下:

\theta_{enc}^*,\theta_{dec}^*=\arg\min_{\theta_{enc},\theta_{dec}}L(\theta_{enc},\theta_{dec}\mid \theta_{dis}^*(\theta_{enc}))

这里的损失函数如下:

\begin{align} L(\theta_{enc},\theta_{dec}\mid \theta_{dis}) &=\frac 1m\sum_{x,y\in D}\mid \mid D_{\theta_{dec}}(E_{\theta_{enc}(x),y})-x\mid \mid _2^2\\[1em] &-\lambda_E\log P_{\theta_{dis}}(1-y\mid E_{\theta_{enc}}(x)) \end{align}

上面的目标函数还有个判别器的 \theta_{dis}^* 要解决,因此实际是和GAN一样交替训练,判别器损失项如下:

L_{dis}(\theta_{dis}\mid \theta_{enc})=-\frac 1m\sum_{(x,y)\in D}\log P_{\theta_{dis}}(y\mid E_{\theta_{enc}}(x))

4. 实验

(1)同一张脸对应不同属性(原文Fig3):

属性交换.png

(2)多属性插值(原文Fig4):

多属性变化.png

(3)花的数据集上颜色变化(原文Fig5):

粉红渐变.png

参考资料

[1] Lample, Guillaume, et al. "Fader networks: Manipulating images by sliding attributes." Advances in Neural Information Processing Systems. 2017.







请到「今天看啥」查看全文