Semi-Supervised Learning with Generative Adversarial Networks 论文笔记

Abstract

我们通过强制鉴别器网络输出类标签,将生成对抗网络(GAN)扩展到半监督上下文。 我们在数据集上训练生成模型G和鉴别器D,其中输入属于N类之一。 在训练时,D用于预测输入所属的N + 1个类中的哪一个,其中添加额外的类以对应于G的输出。我们表明该方法可用于创建更具数据效率的分类器。 并且它允许生成比常规GAN更高质量的样本。 

1. Introduction

         使用生成性对抗网络(GAN)生成图像的工作已经显示出有希望的结果(Goodfellow等,2014)。生成网G和鉴别器D同时与冲突目标一起训练。 G接收噪声矢量并输出图像,而D接收图像并输出关于图像是否是来自G的样本的预测.G被训练以最大化D出错的概率,并且D被训练以最小化那个概率。基于这些想法,可以使用卷积神经网络的级联(Denton等,2015)生成良好的输出样本。最近(Radford等,2015),从单个发电机网络创建了更好的样本。在这里,我们考虑我们尝试解决半监督分类任务并同时学习生成模型的情况。例如,我们可以在训练图像分类器时学习MNIST图像的生成模型,我们称之为C.使用半监督学习任务的生成模型并不是一个新想法 - Kingma等。 (2014)扩大变分生成技术的工作(Kingma&Welling,2013; Rezende et al。,2014)来做到这一点。在这里,我们尝试与GAN做类似的事情。我们不是第一个使用GAN进行半监督学习的人。 CatGAN(Springenberg,2015)修改了目标函数,以考虑观察到的示例与其预测的类分布之间的相互信息。在Radford等人。 (2015),D学到的特征在分类器中重复使用。

       后者证明了所学习的表示的实用性,但它具有几个不期望的属性。 首先,D学习的表示有助于提高C的事实并不令人惊讶 - 这应该是合理的。 然而,学习一个好的C有助于提高D的性能似乎也是合理的。例如,C的输出具有高熵的图像可能更有可能来自G.如果我们只是使用D的学习表示 在增加C之后,我们没有利用这一点。 其次,在事实之后使用D的学习表示不允许同时训练C和G. 我们希望能够出于效率原因这样做,但有一个更重要的动机。 如果改进D改善C,并且改进C改善D(我们知道改进G)那么我们可以利用一种反馈循环,其中所有3个分量(G,C和D)迭代地使彼此更好。

在本文的启发下,我们做出以下贡献:

  • 首先,我们描述了对GAN的新颖扩展,允许他们同时学习生成模型和分类器。 我们将此扩展称为SemiSupervised GAN或SGAN。
  • 其次,我们表明SGAN通过没有生成组件的基线分类器提高了受限数据集的分类性能。
  • 最后,我们证明了SGAN可以显着提高生成样品的质量并减少发生器的培训时间。

2. The SGAN Model

        普通GAN中的鉴别器网络D输出从数据生成分布中提取输入图像的估计概率。 传统上,这是通过以单个S形单元结尾的前馈网络实现的,但也可以使用softmax输出层实现,每个类[REAL,FAKE]具有一个单元。 一旦进行了这种修改,很容易看出D可以有N + 1个输出单位对应于[CLASS-1,CLASS-2 ,.。。 CLASS-N,FAKE]。 在这种情况下,D也可以充当C.我们将此网络称为D / C. 

       训练SGAN类似于训练GAN。 我们只是对从数据生成分布中提取的一半小批量使用更高粒度的标签。 训练D / C以最小化相对于给定标签的负对数似然,并且训练G以使其最大化,如算法1所示。我们没有使用Goodfellow等人的第3节中描述的修改的客观技巧。(2014)。

3. Results

本文中的实验是使用https://github.com/DoctorTeeth/supergan进行的,该文件大量借鉴了https://github.com/carpedm20/DCGANtensorflow,其中包含有关实验设置的更多详细信息。

3.1. Generative Results
      我们在MNIST数据集上进行了实验(LeCun等,1998),以确定SGAN是否会产生比常规GAN更好的生成样本。 使用类似于Radford等人的架构。 (2015年),我们使用实际的MNIST标签和仅标签REAL和FAKE训练了SGAN。 注意,第二配置在语义上与普通GAN相同。 图1包含来自GAN和SGAN的生成输出的示例。 SGAN输出明显比GAN输出更清晰。 这似乎适用于不同的初始化和网络架构,但很难对不同的超参数进行系统的样本质量评估。

3.2. Classifier Results
        我们还在MNIST上进行了实验,以了解SGAN的分类器组件是否比限制训练集上的隔离分类器表现更好。 为了训练基线,我们训练SGAN而不更新G. SGAN比我们缩小训练集的比例优于基线,这表明强制D和C共享权重可提高数据效率。 表1包括详细的性能数字。 为了计算准确度,我们采用了与FAKE标签不对应的最大输出。 对于每个模型,我们对学习率进行随机搜索并报告最佳结果。

Algorithm 1 SGAN Training Algorithm
Input: I: number of total iterations
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值