CapsuleGAN: Generative Adversarial Capsule Network(译)

摘要:我们提出了生成式对抗胶囊网络(CapsuleGAN),一种使用胶囊网络(CapsNets)替代标准的卷积神经网络(CNNs)作为生成式对抗网络(GAN)中判别器的框架,并对图像数据进行建模。 我们为设计CapsNet判别器和更新GAN的目标函数提供指导,这其中包含用于训练CapsuleGAN模型的CapsNet边际损失。 通过在生成式对抗度量和半监督图像分类上的评估,我们证明CapsuleGAN在对MNIST和CIFAR-10数据集上的图像数据分布进行建模时效果要胜过卷积-GAN。

1 引言

       数据的生成建模是一个具有挑战性的机器学习问题,其在最近已经引起了巨大的兴趣,部分原因是生成式对抗网络(GAN)的发明及其几个复杂的变体。GAN模型通常由两个神经网络组成:(1)一个试图将从先验分布中抽取的样本转换为具有更高维度的复杂数据分布的生成器,以及(2)一个决定给定的样本是真实的还是来自生成器分布的判别器。这两个部分通过对抗游戏而变得训练有素。 GANs建模在基于真实世界数据(特别是图像)的高度复杂分布方面显示出巨大的前景。然而,它们却因存在难以训练,并且存在稳定性、梯度消失、模式崩溃和模式覆盖不足等问题而臭名昭著。因此,存在大量工作通过使用更好的目标函数,复杂的训练策略,使用结构超参数,以及采用经验成功的技巧旨在对GANs进行改进。         

       Radford等人提供了一套体系结构指导方针,制定了一类已广泛用于创建GAN(称为深度卷积GANs或DCGANs)的卷积神经网络,以用于建模图像数据和其他相关应用。然而最近,Sabour 等引入胶囊网络(CapsNets)作为CNNs强大的替代品,其可以学习更加均匀地表示图像,即对图像中部分对象的姿态和空间关系的变化(由于设计,使CNNs在训练期间失去的信息)表现得更加稳健。受人眼视觉系统神经元工作机制的启发,胶囊模型首先由Hinton等人提出。作为局部不变的神经元群体学会识别视觉实体并输出表示两者(即这些实体及其与视觉任务相关的属性(如对象分类))都存在的激活向量。 CapsNets已经被证明在MNIST数字分类和重叠数字分割方面优于CNNs。这激发了GANs是否可以被设计成使用CapsNets(而不是CNNs)以改善其性能的问题。

       我们提出将胶囊添加至GAN框架内的生成式对抗胶囊网络(CapsuleGAN)。特别地,CapsNets而不是传统使用的CNNs,被用作我们框架中的判别器。我们证明CapsuleGANs在定性和定量使用生成式对抗​度量(GAM)和使用未标记的GAN生成的图像与少量标记的真实图像的半监督分类上比基于CNN的GANs对MNIST 和CIFAR-10 数据集建模表现更好。

      本文其余部分安排如下。第2节讨论相关工作。在第3节中我们提供GANs和CapsNets的简要介绍。第4节描述了我们的CapsuleGAN框架及实施指南。我们模型的定性与定量分析在第5部分中给出。第6部分总结全文,并提供未来研究的方向。

2 相关工作

       GANs最初是作为前馈多层感知器实施的,但在生成类似于CIFAR-10数据集中的复杂图像时表现不佳。它们受到了模式崩溃以及训练不稳定的影响。为了解决这些问题,Radford等人提出了一套指导方针,将GANs设计为一类CNNs,从而产生了DCGANs,其后来一直是GANs网络架构设计的主流方法。Im等人后来提出使用递归神经网络而不是CNNs作为GANs的生成器,从而创造了一类新的GANs,被称为生成式递归对抗网络或GRANs。在相关说明中,Odena等人提出了以判别器还充当用于类别条件图像生成的分类器的形式对GANs的架构改变。这种设计判别器的方法,最近已成为条件GANs的流行选择。我们的工作与其类似,因为我们提出了对判别器的架构改变。我们提出将GAN判别器设计由CNNs过渡到CapsNets,从而创造了一种名为CapsuleGANs的新型GANs。这个想法可以扩展到的基于编码器的GANs(比如BiGAN),而BiGAN 的编码器也可以建模为CapsNet。

3 序言

3.1 生成式对抗网络

       Goodfellow等人借由学习从属于一个简单的先验分布(z~Pz)的点到那些来自于数据分布(x~Pdata)的点之间的转换来引入GANs作为数据生成建模的框架。该框架包含两种相互之间进行对抗游戏的模式组成:一个生成器和一个鉴别器。 生成器试图了解上述情况变换G(z),判别器充当评判者D(.)以确定提供的样本是源自生成器的输出分布(G(z)~pG)还是数据分布(x~Pdata),从而给出一个标量输出(y = 0或1)。生成器的目标是通过生成与实际数据类似的样本来迷惑判别器,而判别器则是为了准确区分实际数据和生成数据。 这两种通常被设计为神经网络的模型,按照公式1所示的目标进行对抗性游戏。

3.2 胶囊网络

       Hinton等人首先引入了胶囊的概念。【Transforming auto-encoders】作为一种学习健壮的无监督图像表示方法,胶囊是局部不变的神经元组以识别视觉实体的存在并将它们的属性编码到矢量输出中,其矢量长度(限于介于0和1之间)表示实体的存在。例如,每个胶囊可以学习识别图像中的某些对象或构件。在神经网络框架中,可以将几个胶囊分组在一起形成胶囊层,其每个单元产生一个矢量输出而不是(常规的)标量激活。

       Sabour等人引入了一种协议路由机制,用于具有多个胶囊层的深层神经网络的胶囊内部的交互,其通过成对测定来进行在连续层的胶囊之间传递信息。对于在层l的每个胶囊h(l)和在l+1层的每个胶囊h(j)中,耦合系数Cij基于h_i对h_j输出的预测与其实际输出之间的一致性(余弦相似度)进行迭代调整,其实际输出是Cij和h_i的激活产物。因此,耦合系数固有地决定信息如何在胶囊对之间流动。对于包含K类分类的任务,最后一层的CapsNet可以设计成具有K个胶囊,每个胶囊代表一个类别。由于胶囊矢量输出的长度代表视觉实体的存在,因此最后一层(||vk||)中每个胶囊的长度可被视为图像属于特定类(k)的概率。作者引入了训练CapsNet用于多类别分类的边际损失LM,如等式2所示:

       其中Tk代表目标标签,m + = 0.9,m- = 0.1。^ = 0.5,这是一个下降权重系数,防止初始学习缩小最终层中胶囊输出的长度。作者还以加权图像重建损失的形式向网络添加正则化,其中最后一层的矢量输出vk被表示为重建网络的输入。

4 生成式对抗胶囊网络

       GANs主要用于建模图像数据和相关属性的分布,以及其他基于图像的应用,如图像到图像翻译和从文字描述合成图像。生成器和判别器通常被建模为依据DCGAN指导的深层CNNs。受到其背后强大的直觉和CapsNets在CNNs方面的优越表现驱动,我们设计了在GANs判别器中使用胶囊层替代卷积层的CapsuleGAN框架,其在根本上执行的是二分类任务。

       CapsuleGAN判别器在结构上与【Dynamic routing between capsules】中介绍的CapsNet模型类似。一般而言,CapsNets具有大量的参数,因为首先,每个胶囊产生一个向量输出而不是单个标量,其次,每个胶囊都有与它上面的图层中的所有胶囊相关联的附加参数,用于对其输出进行预测。但是,有必要保持CapsuleGAN判别器中的参数数量较少,原因有两个:(1)CapsNets是非常强大的模型,很容易在训练过程中过早地开始对生成器进行严厉惩罚,这会导致生成器机完全失效或遭受模式崩溃,以及(2)动态路由算法的当前实现运行速度很慢。重要的是要注意保持CapsNet参数数量较低的第一个原因符合卷积判别器的流行设计,因为其相关的浅层神经网络在其卷积层中具有较少数量的相对较大尺寸的滤波器。

       CapsuleGAN判别器的最后一层包含一个胶囊,其长度表示判别器的输入是真实图像还是生成图像的概率。我们用边际损失LM替代传统的二元交叉熵损失来训练我们的CapsuleGAN,因为LM更适合训练CapsNets。因此,CapsuleGAN的目标可以如公式3所示。

       在实践中,我们训练生成器以最小化LM(D(G(z)),T = 1)而非最小化-LM(D(G(z)), T = 0)。 这基本上在LM训练生成器的期间消除了下降权重因素^,其中不包含任何胶囊。

5 实验评估

       我们通过如下所的述一系列随机生成图像的实验来评估CapsuleGANs的性能,其中我们将CapsuleGANs与卷积GANs进行定性和定量的比较。我们对两个GAN模型赋予相同的生成器结构。使用公开可用的keras-adversarial 和CapsNet-Keras 软件包来实现卷积GAN和提出的CapsuleGAN模型。

5.1 数据

       我们提供了MNIST和CIFAR-10数据集的实验结果。 MNIST数据集由尺寸为28*28的手写数字灰度图像组成。CIFAR-10数据集包含32*32的彩色图像,其可分为十个类:飞机,汽车,鸟,猫,鹿,狗,青蛙,马,船和卡车。

5.2 随机生成图像的视觉质量

       我们定性比较使用GAN和CapsuleGAN随机生成的图像。图1a和1b分别显示了在MNIST数据集上使用标准卷积-GAN和CapsuleGAN生成的图像。定性地说,CapsuleGAN和标准卷积-GAN都产生了类似质量的清晰图像,其有时不像任何数字。但是,那使用GAN生成图像的网格似乎在生成的数字类别方面具有较少的多样性。图2a和2b显示了在CIFAR-10数据集上的实验结果。这两个模型都产生了不同种类的图像,但使用CapsuleGAN生成的图像比那些使用卷积-GAN生成的图像看起来更加干净和清晰。我们在下面的小节提供了我们的定量评估结果以更深入地分析图像生成性能。 

CapsuleGAN: Generative Adversarial Capsule Network(译)_第1张图片
(a) GAN


CapsuleGAN: Generative Adversarial Capsule Network(译)_第2张图片
(b)CapsuleGAN

                                Figure 1: Randomly generated MNIST images

CapsuleGAN: Generative Adversarial Capsule Network(译)_第3张图片
(a) GAN


CapsuleGAN: Generative Adversarial Capsule Network(译)_第4张图片
(b)CapsuleGAN

                             Figure 2: Randomly generated CIFAR-10 images

5.3 生成式对抗度量

       Im等人通过将每个生成器与对应的判别器进行比对提出了生成式对抗度量(GAM)作为成对比较度量,即给定两个GAN模型 M1 =(G1,D1)和M2 =(G2,D2),其中G1与D2,G2与D1进行斗争。它们在真实测试数据集和生成样本上的分类错误比率随后作为r_test和r_samples参与计算。依据(5),在实践中,计算分类精度替代误差以避免数值问题,如等式4和5所示

CapsuleGAN: Generative Adversarial Capsule Network(译)_第5张图片

      因此,为了使CapsuleGAN赢过GAN,r_samples <1和r_test约等于1是必须要满足的。在我们的实验中,我们在MNIST数据集上实现了r_samples = 0.79和r_test = 1;在CIFAR-10数据集上取得了r_samples = 1.0和r_test = 0.72。因此在该指标上,CapsuleGAN在MNIST数据集上比卷积GAN表现得更好,但两个模型在CIFAR-10数据集上不分胜负。

5.4 半监督分类

       我们在半监督分类下评估卷积GAN和提出的CapsuleGAN下的性能。在实验中,我们使用GAN和CapsuleGAN随机生成50,000张图像。我们使用将生成的图像作为未标记实例和n个实际标记样本的Label Spreading算法,其中n属于{100,1000,10000}。实验中我们使用scikit-learn程序包 。表1展示了我们在MNIST上的实验结果,表2展示了在CIFAR-10上的实验结果。在大多数实验设置中错误率很高因为我们提供原始像素值作为分类算法的特征。但是,这使我们能够更客观地比较两种模型,而不会受到特征提取方法的影响。结果表明,提出的CapsuleGAN在所有测试值n的边界为1.7—3.97个百分点的MNIST和0.91—3.22个百分点的CIFAR-10上一直胜过卷积GAN。因此,CapsuleGAN生成的图像更类似于真实图像,并且比使用卷积GAN生成的图像更加多样化,导致在测试数据集上表现出更好的半监督分类性能。

CapsuleGAN: Generative Adversarial Capsule Network(译)_第6张图片

6 讨论和未来工作

       生成对抗网络是用于复杂数据分布生成建模的非常强大的工具。相关研究正在积极进行中,以进一步改善它们并使其更容易训练和更稳定。 受到CapsNet对于CNNs在基于图像的推理任务上的成功启发,我们提出了生成式对抗胶囊网络(CapsuleGAN),一种GAN变体,在建模图像数据时以CapsNets替代CNNs作为判别器。我们提供了设计CapsuleGANs的指导方针以及用于训练CapsuleGANs的更新的目标函数。我们发现在生成式对抗度量和在MNIST和CIFAR-10数据集上有大量未标记生成图像和少量实际标记图像的半监督分类上CapsuleGANs的性能优于卷积GANs。这表明CapsNets应该被认为是用CNNs设计判别器以及未来GAN模型中的其他推理模块的潜在替代品。

       我们计划在GAN目标内对边际损失进行理论分析。我们有目的地没有包含许多GAN训练技巧以公平地评估我们的贡献。本文提供的结果激发了对CapsNets的使用,而不是GAN变种中如BiGAN的CNNs的编码器。我们认为这是未来研究的重要方向。

你可能感兴趣的:(CapsuleGAN: Generative Adversarial Capsule Network(译))