【平价数据】GAN用于半监督学习

该博客介绍了如何使用GAN进行半监督学习,通过生成器产生伪样本与无标签样本一起训练分类器,提高分类准确性。文章详细阐述了半监督学习的概念、GAN框架、三种误差的定义以及优化目标,并展示了在MNIST、CIFAR10和SVHN数据集上的实验结果。
摘要由CSDN通过智能技术生成

Salimans, Tim, et al. “Improved techniques for training gans.” Advances in Neural Information Processing Systems. 2016.

概述

GAN的发明者Ian Goodfellow2016年在Open AI任职期间发表了这篇论文,其中提到了GAN用于半监督学习(semi supervised)的方法。称为SSGAN
作者给出了Theano+Lasagne实现。本文结合源码对这种方法的推导和实现进行讲解。1

半监督学习

考虑一个分类问题。
如果训练集中大部分样本没有标记类别,只有少部分样本有标记。则需要用半监督学习(semi-supervised)方法来训练一个分类器。

wiki上的这张图很好地说明了无标记样本在半监督学习中发挥作用:
这里写图片描述

如果只考虑有标记样本(黑白点),纯粹使用监督学习。则得到垂直的分类面。
考虑了无标记样本(灰色点)之后,我们对样本的整体分布有了进一步认识,能够得到新的、更准确的分类面。

核心理念

在半监督学习中运用GAN的逻辑如下。

  • 无标记样本没有类别信息,无法训练分类器;
  • 引入GAN后,其中生成器(Generator)可以从随机信号生成伪样本;
  • 相比之下,原有的无标记样本拥有了人造类别:真。可以和伪样本一起训练分类器。
    这里写图片描述

举个通俗的例子:就算没人教认字,多练练分辨“是不是字”也对认字有好处。有粗糙的反馈,也比没有反馈强。

原理

框架

GAN中的两个核心模块是生成器(Generator)和鉴别器(Discriminator)。这里用分类器(Classifier)代替了鉴别器。
这里写图片描述

训练集中包含有标签样本 x l x_l xl和无标签样本 x u x_u xu
生成器从随机噪声生成伪样本 I f I_f If
分类器接受样本 I I I,对于 K K K类分类问题,输出 K + 1 K+1 K+1维估计 l l l,再经过softmax函数得到概率 p p p:其前 K K K维对应原有 K K K个类,最后一维对应“伪样本”类。
p p p的最大值位置对应为估计标签 y y y

s o f t m a x ( x i ) = exp ⁡ ( x i ) ∑ j exp ⁡ ( x j ) {\rm softmax}(x_i)=\frac{\exp (x_i)}{\sum_j \exp(x_j)} softmax(xi)=jexp(xj)exp(xi)

三种误差

整个系统涉及三种误差。

对于训练集中的有标签样本,考察估计的标签是否正确。即,计算分类为相应的概率:
L l a b e l = − E [ ln ⁡ p ( y ∣ x ) ] L_{label}=-E\left[ \ln p(y|x)\right] Llabel=E[lnp(yx)]

对于训练集中的无标签样本,考察是否估计为“真”。即,计算不估计为 K + 1 K+1 K+1类的概率:
L u n l a b e l = − E [ ln ⁡ ( 1 − p ( K + 1 ∣ x ) ) ] L_{unlabel} = -E\left[ \ln \left( 1 - p(K+1|x)\right) \right] Lunlabel=E[ln(1p(K+1x))]

对于生成器产生的伪样本,考察是否估计为“伪”。即,计算估计为 K + 1 K+1 K+1类的概率:

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值