Generator Adversarial Net and PU Learning

Generator Adversarial Net and PU Learning

Scroll Down

GAN and PU Learning

最近在用GAN做一些半监督的工作,本篇文章主要介绍GAN,PU Learning的联系与区别,以及一些工作的介绍。

1、Preliminary

GAN是很经典的生成网络,应用也十分广泛,例如图像生成,图像风格迁移等。简单介绍一下GAN的思路,有一个Discriminator简称为D,另一个Generator为G。D的任务是尽可能将fake和real的数据分开,然而G的任务是尽量生成可以骗过D的fake数据。这里D和G其实是有对抗的含义在里面。

这里其实有一个网上听来的八卦,在取这篇论文名字的时候,取了GAN,谐音成汉语“干”,当时有个中国人告诉作者“干”在中文中的意思后,作者就敲定了这个名字。

简单理解GAN中的D的主要任务就是区分生成数据是real还是fake。普通的损失函数如下,是一个经典的minmax问题。
image.png
这里的f1和f2有很多变种,也产生了不同的GAN。
下面介绍PU Learning,也就是positive unlabelled learning。这种情况其实在现实生活中很常见,比如有少量p数据,但是有大量的unlabel数据,是个二值问题。PU Learning的目标是在unlabel中分出positive数据。
到这里,其实可以看出PU和GAN中的D目标比较类似,前者是分出negative数据,后者是从synthetic数据中区分real还是fake。

2、Combine GAN with PU Learning

由第一部分可以知道,其实GAN和PU Learning有相近的问题,那么将二者融合在一起会不会可以呢。也就是说让GAN训练,使得D可以将PU中unlabel更多的positive以及negative挑选出来,最后用于二值分类器的训练。
那么直接的结合会不会出现一些问题。
仔细分析可以发现,其实GAN在D训练的过程中,是比较偏向'positive'的,这个理解的就是D只分开Real和Fake,其实Real就是positive的。因此如果PU Learning要既筛positive也筛negative的话,结合GAN就会出现bias的问题。
所以需要对学习的目标进行一定的修改。

3、Survey

这一部分放一些最近看到的相关论文,形式主要会给出题目、作者、发表在哪里以及简短的总结,通过这些简短的信息已经足以了解这篇文章,我也会把链接给出来,如果想仔细看文章,也是可以的。

Paper titleAuthorsPublictionHightlights
Predictive Adversarial Learning from Positive and Unlabeled DataWenpeng Hu, Ran Le, Bing Liu, Feng Ji, Jinwen Ma, Dongyan Zhao, Rui YanAAAI 2021GAN和PU Learning很相似,GAN是让生成器生成出可以糊弄辨别器的数据,PU Learning可以理解成从Unlabel中挑选出Positive可以糊弄辨别器。提出一个baseline,即讲generator变成一个分类器,改用KL散度。但是经过分析发现会比较偏向positive,pu learning和gan不太一样,想同时可以分辨positive 和 negative,因此提出自己的新模型PAN解决这种不平衡。其实就是损失函数的改变,主体结构就是两个分类器,用输出的logits当作一个指导的信号。
Generative Adversarial Positive-Unlabeled LearningMing Hou, Brahim Chaib-draa, Chao Li, Qibin ZhaoIJCAI 2018第一个用GAN解决PU的工作,模型的构造比较直接,有几个类型的分布就使用几个G来生成对应的数据。文章中也提到了,这样的方式和半监督是比较类似的。上方AAAI的工作中也对比了这个方法,因为这个ijcai的比较早,是开篇的工作,没有考虑到使用GAN过程中会出现的一些bias。另外这篇文章用了五个模型而不是GAN里面的两个,更难训也更容易出问题,而且需要更多的先验知识,我觉得是要求比较高的。
On Positive-Unlabeled Classifification in GANTianyu Guo, Chang Xu, Jiajun Huang, Yunhe Wang, Boxin Shi, Chao Xu, Dacheng TaoCVPR2020提出了一个很简洁的的框架解决问题,但出发点不是想用GAN解决PU问题,而是认为GAN的目标其实是positive-negative的问题,也就是让D分辨Real和Fake,但其实有些问题,目标应该更像PU。因为G生成的样本在训练过程中肯定是有一部分已经很像real甚至比real更real。所以想让D能分清high-quality和low-quality的数据,通过一些转换在不需要知道low-quality先验分布的情况下就能设计一个学习目标进行训练。
REG-GAN: SEMI-SUPERVISED LEARNING BASED ON GENERATIVE ADVERSARIAL NETWORKS FOR REGRESSIONMehdi Rezagholizadeh , Md Akmal HaidarICASSP2018提出针对半监督回归问题的GAN方法,设计很直接,改进improved gan,即D的输出有两个,一个是回归的值,另一个是和普通的D一样输出的判别值。第一篇针对回归问题的的SGAN方法。
Semi-supervised Learning with GANs: Manifold Invariance with Improved InferenceAbhishek Kumar,Prasanna Sattigeri,P. Thomas FletcherNIPS 2017Reg-GAN是由这篇论文启发而来。本篇文章改变D的结构,让输出为N+1,其中N为N个分类类别,另一个1代表的是普通GAN中D的输出。另外用了特征匹配让GAN的训练更加稳定。