Triangle Generative Adversarial Networks
一、∆ -GAN理论
1. 引入
以成对数据集为训练集进行训练的GAN有很多,其中包括DualGAN、DiscoGAN、CycleGAN、Bidirectional GAN、TripleGAN等,文中提到由于DualGAN等是完全无监督的,导致一些不可识别的问题产生,所以应提供适当的监督,来匹配跨域的联合分布,因而提出了Triangle GAN。
∆ -GAN与其他相似GAN的比较:
(1) ∆ -GAN与Triple GAN的比较
①判别器不同:∆ -GAN是隐含三元判别函数,Triple GAN是二元;
②∆ -GAN看成是CGAN和ALI的结合,Triple GAN是两个CGAN;
③在最优判别器的情况下,∆ -GAN表示三个域上JS散度值(对称),Triple GAN是JS散度+KL散度(不对称);
这里如何理解对称还是不对称?
KL散度不是一个对称的衡量,因为KL(Pg||Pr)和KL(Pr||Pg)是有差别的。
④Triple GAN额外计算的KL散度值等于完全监督的损失值,需要条件分布显示密度形式,∆ -GAN允许梯度的方式对条件密度进行反向传播采样。
(2) ∆ -GAN与DiscoGAN的比较
生成器是在不同域中的双向匹配,判别器是判别生成的真的样本还是假的,但不是在不同域上进行判别的。
2. 概述
∆ -GAN可理解为半监督跨域联合分布匹配。
使用成对的训练样本进行训练,可看作是BiGAN和CGAN的结合。与原始GAN不同,∆ -GAN包含4个神经网络,2个生成器和2个判别器,生成器和判别器采用对抗的训练方式学习。
①生成器G:双向条件分布;(学习数据的联合分布)
②判别器D:隐含定义三元判别函数;(三元判别函数:真实的数据样本对;两类不同的样本对)
3. 详细∆ -GAN理论
∆ -GAN用完全配对的数据样本来拟合联合分布 ,包好两个生成器:
其中,都有噪声z作为输入。
(1)在∆ -GAN的对抗学习中,样本x会根据分布绘制p(x),然后生成Gy会生成伪样本服从
分布,因此假的样本对
拟合联合分布
。
(2) ∆ -GAN的目标是匹配三个联合分布域:
文中提到可以保证学习到的双向分布 和
能够将生成的假的样本对
从真实样本对
中区分出来。
(3)隐式三元判别函数
D1:区分样本是否来自
D2:若D1判别样本不是来自,则D2用来区分样本是否来自
和
。
结构类似于ALI想法:
左侧:通过decoder网络生成隐变量,正态分布噪声数据;右侧:通过encoder网络
生成。
4. 半监督学习
文中提到∆ -GAN可以看成是CGAN和BiGAN的结合,CGAN是完全监督的学习方式,而BiGAN是无监督学习,于是∆ -GAN以一种半监督的方式学习。而这种半监督方式可以存在一些问题:是经验值,只能粗略的表征整个数据集。
文中提到我们只能从简单的一些成对样本中提取出 的分布,而这种分布取决于经验的判断,我们假设
。
二、实验
∆ -GAN在三种不同域的成对样本上做实验:
①图像-标签;
②图像-图像;
③图像-属性对。(一个域表示图像格式的图片;另一个域是txt文本文件的属性值)
1. 具体实验分类
(1)半监督分类CIFAR 10数据集
(2)图像-图像转换 MNIST数据集、edges2shoes数据集
(3)属性-图像 CelebA数据集、COCO数据集
2. 与其他类似GAN实现功能最大不同
图像-属性-图像的生成。