《On Positive-Unlabeled Classification in GAN 》学习笔记

论文摘要

作者提出了一种新的GAN模型,区别于以往的GAN模型,新模型的判别器的目的不再是区分真实样本和判别器生成的样本,而是区分高质量图片样本和低质量的样本,其中高质量的样本就有可能来自生成器。

以往模型的痛点

在普通的GANs模型中,训练进度通常缺乏稳定性,并且生成的图像质量并不总是令人满意的。例如,DCGAN为生成器和鉴别器精心设计了神经体系结构,以缓解这些问题。Progressive GAN通过逐步深化网络生成高分辨率图像。BigGAN 通过改进训练方法(扩大批量大小,并缩短潜在空间)。WGAN和WGANGP试图调整和优化Wasserstein距离以稳定生成过程。SNGAN证明了将Lipschitz连续性引入判别器的必要性和好处。
但是,它们都没有摆脱最初在标准GAN中建立的正负分类问题。现有的GAN模型忽略了生成的样本的质量不相同这一事实。作者认为将高质量的样本与劣质的样本同等对待是不公平的,尤其是当高质量的样本足够接近现实时。
作者认为GAN模型面临的问题已经由原本的正负分类问题(判别器判断是真实样本还是生成器生成的假样本)变成了positive-unlabeled的分类问题。
什么是positive-unlabeled的分类问题?作者认为只要通过适当的训练,生成器生成的样本可以非常接近真实数据,甚至比真实数据更加“真实”。那么这一部分的高质量生成数据就不应该被当成假数据来对待,应该将他们归为未标记数据,未标记数据包括了低质量数据和高质量数据。

GAN模型回顾

众所周知,GAN模型的目标函数:
在这里插入图片描述
其中 p d a t a p_{data} pdata指的是真实数据的概率分布, z z z是服从先验概率 p z p_z pz的随机噪声, D ( x ) D(x) D(x)是判别器D预测 x x x为真的概率。
为了防止判别器训练的太好时造成生成器的梯度消失,某些GAN模型如:WGAN和LSGAN将(1)式修改为
在这里插入图片描述

PU 分类

首先定义生成器生成的数据集为 x g x_g xg,其中高质量的样本为 x g r x_{gr} xgr,低质量的样本为 x g f x_{gf} xgf。我们认为真实数据 x d a t a x_{data} xdata和高质量样本 x g r x_{gr} xgr都是真实的( y g r = y d a t a = 1 y_{gr}=y_{data}=1 ygr=ydata=1),同时认为低质量样本 x g f x_{gf} xgf为假( y g f = − 1 y_{gf}=-1 ygf=1)。
p g ( x ) p_g(x) pg(x) x g x_g xg的边缘密度; p g r ( x ) = p ( x ∣ 1 ) p_{gr}(x) = p(x\mid1) pgr(x)=p(x1) p g f ( x ) = p ( x ∣ − 1 ) p_{gf} (x) = p(x \mid-1) pgf(x)=p(x1)分别为 x g r x_{gr} xgr x g f x_{gf} xgf的类条件密度。所以 p g ( x ) p_g(x) pg(x)可以表示为:
在这里插入图片描述
其中π是一个未知的先验概率( x g r x_{gr} xgr x g x_g xg中所占的比例)
为了从 x g x_g xg中区分出 x g r x_{gr} xgr x g f x_{gf} xgf,我们需要最小化判别器D的误分类率 R ( D ) R(D) R(D),即:
在这里插入图片描述
其中 l ( D ( x ) , 1 ) l(D(x),1) l(D(x),1)是损失函数,用于测量真实标签为t时预 D ( x ) D(x) D(x)的损失。
在我们的定义中,好的样本非常接近于真实的样本,于是就可以用 p d a t a p_{data} pdata代替 p g r p_{gr} pgr,所以:
在这里插入图片描述
类似地,低质量的样本 p g f p_{gf} pgf可以表达为:
在这里插入图片描述
于是可以得到如下等式:
在这里插入图片描述
将(4)和(7)结合起来,可以得到新的目标函数:
在这里插入图片描述
为了防止(8)等式右边的第二第三项为负值而导致过拟合,将(8)改写为:
《On Positive-Unlabeled Classification in GAN 》学习笔记_第1张图片
生成器的目标函数:
在这里插入图片描述
到这里为止,我们已经实现了对生成器生成数据进行不同的处理。
附上算法流程图:
《On Positive-Unlabeled Classification in GAN 》学习笔记_第2张图片

PU 分类的普适性

PU分类还有一点比较牛批,就是这种分类方法可以灵活地适用于其他的GAN模型,包括之前提及的SpectualGAN,LSGAN和WGAN等。
使用PU分类的GAN模型的目标函数为:
《On Positive-Unlabeled Classification in GAN 》学习笔记_第3张图片
结合使用不同的GAN模型时,(11)中的 f 1 f1 f1 f 2 f2 f2为特定模型中对应的损失函数。

理论分析

理论一

对于固定的生成器G,最优判别器D为:
在这里插入图片描述
其中 p g f ( x ) p_gf(x) pgf(x)为生成器生成的低质量样本的概率分布

理论二

最佳判别器已经确定,则生成器的优化目标是最小化:
在这里插入图片描述

结论

当且仅当 p g f = p g = p d a t a p_{gf} = p_g =p_{data} pgf=pg=pdata时,才能实现上述的整体目标函数 V ( G , D ) V(G,D) V(G,D)

实验

使用的数据集:MNIST , FMNIST ,CIFAR-10 , CAT , and LSUN-bedroom
《On Positive-Unlabeled Classification in GAN 》学习笔记_第4张图片
选择了标准GAN (SGAN), LSGAN,WGAN-GP 和 HingeGAN作为参考,将PU标准的方法与这些模型结合起来并进行比较
《On Positive-Unlabeled Classification in GAN 》学习笔记_第5张图片
表一显示的是FID 分数,可以看到使用了PU方法的模型的表现比相对应的基础模型的表现更好。

使用PUSGAN生成高分辨率的图片。

评估先验概率 π π π的影响

《On Positive-Unlabeled Classification in GAN 》学习笔记_第6张图片
蓝线: π π π初始化为0.1,每次迭代平滑增长直至0.7
粉线: π π π初始化为0.3,每10000次迭代增加0.1直至0.7
灰线: π π π固定为0.3
红线: π π π固定为0.5
黑色虚线:没有使用PU标准的GAN,用来对比

评估生成数据量大小的影响

《On Positive-Unlabeled Classification in GAN 》学习笔记_第7张图片

你可能感兴趣的:(《On Positive-Unlabeled Classification in GAN 》学习笔记)