挖坑:UNSUPERVISED AND SEMI-SUPERVISED LEARNING WITH CATEGORICAL GENERATIVE ADVERSARIAL NETWORKS
Springenberg J T. Unsupervised and Semi-supervised Learning with Categorical Generative Adversarial Networks[J]. Computer Science, 2015.
原文下载链接
2016ICLR 会议论文
Abstract
本文作者阐述了一种从带标签或部分带标签的数据中学习判别分类器的方法。该方法建立在一个目标函数之上,在观测样本与其预测类别分布之间实现了权衡以平衡互信息,并针对生成对抗网络(GAN)分类器的鲁棒性进行了设计。该算法可视为GAN框架的一个自然延伸或正规化信息最大化(RIM)框架的一个扩展版本,在鲁棒分类方面具有重要意义。作者在合成数据集和具有挑战性的图像分类任务上测试了该方法(CatGAN绝对Gan),并展示了所学分类器的鲁棒性。此外,作者进一步定性评估了生成器生成样本的质量,并探讨了CatGAN目标与判别聚类算法(RIM)之间的联系。
Introduction
学习未标注数据的基础在于,在训练样本内部所呈现的某种模式能够被用来推断未知标签的信息。换言之,在无监督学习框架下,我们假设输入变量x的概率分布p(x)包含了关于条件概率p(y|x)的信息(其中y∈{1,…k}表示未知标签)。通过基于来自数据分布中的标记样例和潜在的未标记样例的信息提取过程(即从数据中学习),我们希望能够捕获并提取出这种共享结构(shared structure)。这种结构的学习有助于分类器仅依赖少量标记样例就能有效地概括部分不具备相关信息的数据分布。
- 生成式聚类
例如高斯混合模型、k均值算法以及密度估计方法等。这类算法主要致力于直接建模数据的概率分布。 - 判别式聚类
如最大边缘聚类 MMC 和正规化信息最大化 RIM 等方法,则侧重于通过某种分类机制实现对未标记样例的有效划分,并非直接建模 p(X) 的概率密度函数。
神经网络在有监督与半监督学习中得到广泛应用。典型的代表包括训练参数化的生成模型(如深度Boltzmann机、前馈神经网络等)以及训练自编码器等。因为它们通过重构输入样本来明确建模数据分布,因此这些模型均与生成式聚类方法密切相关,并主要用于预训练分类器。
GAN是一个二元零和博弈过程
每一步,一个随机噪声被用来生成样本以欺骗鉴别器.随后向鉴别器提供一部分真实样本以及一部分由生成模块所产生的样本.随后鉴别器的任务是分辨这些样本哪些是真的哪些是假的.接着鉴别器完成分类任务并指导生成模块生产足以欺骗鉴别器的样本.
CatGANs
X = {x₁, x₂,… xₙ}表示无标签样本数据集。我们研究了从该数据集中无监督学习一个判别分类器 D 的问题。该分类器 D 将将这些数据划分为预先确定好的 K 个类别之一。同时要求 D(x) 能够输出每个类别的条件概率分布。我们的目标是通过训练概率分类器 D 来实现其类别分配满足一定的拟合度(goodness of fit)标准。然而由于真实类别的分布未知 我们无法直接评估分类器的表现 而必须采用间接的方法来进行评估 而不是仅仅最小化负对数似然函数值
假设:X中每个类别的样本数都是一样的(k类).
这个发现表明,该问题可被视为一种软聚类或概率分配任务.从理论上讲,基于概率聚类算法解决该问题有其可行性.例如,RIM算法及其基于互信息的优化策略均可采用.然而,这些传统方法存在过度拟合的风险.本文提出的方法相当于一种鲁棒性增强型的RIM扩展方案(通过引入对手提供的自适应正则化机制来提升模型性能).
我们提出的第二个发现表明,标准GAN无法直接应用于我们讨论的问题。由于最优化等式1的存在,判别器的学习目标仅局限于识别输入样本x是否属于数据分布X。基于此,我们的目标是设计一种分类器,能够学习到能够有效区分不同类别的特征表示。然而,这一发现提示我们:在GAN框架中进行二分类任务时并没有受到限制。由此可知,判别器将重点关注那些尚未被生成器正确建模的输入特征。反过来,这些特征可能无法很好地实现预期的任务划分。最糟糕的情况是,它们可能会误判生成数据中的噪声信息。
除了这些问题之外,在采用一种简便的方法扩展GAN框架的情况下 判别网络可以被用来执行多标签分类任务
CatGAN objective
在此背景下,我们旨在解决的最优化问题与标准GAN存在显著差异:我们的目标是通过为每个样本分配一个标签y来进行多类别(K类)分类任务而非仅进行二元分类任务。具体而言,我们定义判别函数D(x)为一个多类预测模型

样本x属于K个相互独立的类别的概率通过一个sofmax给出:

本文中D和G都参数化为线性或sidmoid 输出的多层神经网络.
在上一节中所讨论的匹配度标准为我们的研究基础,请问是否考虑将生成式模型应用于分类器的优化?为了实现这一目的,在训练后得到的判别器应需满足的关键条件包括准确区分正反类样本、保持决策边界稳定以及提升泛化能力等三个方面的要求;与此同时,请再次强调两个生成器必须满足的基本条件具体可见于图1中的参数设置和训练流程描述。

判别器需满足的基本要求包括:首先是对来自数据集D的样本进行准确分类;其次,在面对生成的数据时保持不确定性;最后,在分类过程中实现各类别的均衡应用。从生成器角度来看,其需具备以下两个主要特点:其一是能够可靠地输出具有明确性高的分类结果;其二是确保在K个类别中数据分布均匀。
特别注意,对于任意给定的x,在缺少与K个类相关的标签信息的情况下,我们无法直接指定某个类别概率应最大化以满足要求1
….
我们将考虑改变3.2的公式成半监督情况:
…….
实现细节部分,
其中D和G都采用神经网络进行参数化表示。具体标准的结构选择细节可在附录中找到。本节主要讨论了覆盖率方面的设计重点。
然而,在实际训练过程中发现,
GAs(生成对抗网络)存在诸多挑战性问题。
第一种情况是判别器的学习速度过快(在这种情况下会导致生成器损失函数出现饱和现象),从而使得基于公式1的误差表达式可能变得不稳定。
第二种情况则是生成器可能出现异常行为,
例如当其在数据分布中产生特定样本时,
或者在训练过程中频繁切换不同的生成模型时,
会产生不可控的结果变化。
针对上述问题,
我们提出了两种解决方案:
- 在判别器的所有层以及生成器(除最后一层外)的所有层上应用批归一化处理。
这种方法不仅有助于约束各层激活值的变化范围,
而且能够有效保护生成器模式转换的能力。
此外,在少量标记样本的情况下,
还能显著提升判别器的泛化能力。 - 我们通过向判别器的隐藏层添加噪声来调节其性能。
实验表明,
采用高斯噪声的方式能够带来更好的性能提升效果。
这种做法的核心原因在于:
在批归一化过程中,
噪声会干扰到激活值均值和方差的计算;
而对于高斯噪声而言,
其对激活值本身的扰动具有自然统计特性。
在两种方案中分别进行实验:首先,在方案一中利用有限标记样本训练半监督模型(公式7),其次,在方案二中利用未标记样本优化非监督模型(公式9)。随后进行类别匹配任务
