GAN论文2:DATA AUGMENTATION GENERATIVE ADVERSARIAL NET论文翻译和理解

【GAN论文2】:DATA AUGMENTATION GENERATIVE ADVERSARIAL NET

  • 论文阅读
    • 摘要
    • 介绍
    • 背景
    • 模型
      • DATA AUGMENTATION GENERATIVE ADVERSARIAL NETWORK
      • 学习
      • 结构
      • 数据集
    • DAGAN的训练与生成
      • 在源域上DAGAN的训练
      • VANILLA分类器
    • 使用匹配网络和数据增强网络 one-shot学习
    • 结论

最近在研究数据增强用于扩充数据集训练,用以记录。
本人才疏学浅,以下翻译,如有错误,敬请指正。

论文阅读

摘要

神经网络的有效训练需要大量数据。在低维数据体系中,参数不确定,学习网络泛化性差。数据增强(Krizhevsky等,2012)通过更有效地使用现有数据来缓解这种情况。然而,标准数据增加仅产生有限的似乎真实的替代数据。鉴于有可能产生更广泛的增强,我们设计和训练生成模型来进行数据增强。
该模型基于图像条件生成对抗网络,从源域获取数据并学习获取任何数据项并将其生成为生成其他类内数据项。由于这个生成过程不依赖于类本身,它可以应用于新颖的看不见的数据类。
我们展示了数据增强生成对抗网络(DAGAN)很好地增强了标准的vanilla classifiers。我们还展示了DAGAN可以增强few-shot(迁移学习中的定义)学习系统,如匹配网络。我们在Omniglot上展示了这些方法,在EMNIST上学习了Omniglot上的DAGAN和VGG-Face数据。在我们的实验中,我们可以看到Omniglot的低数据体系实验(从69%到82%),EMNIST(73.9%到76%)和VGG-Face(4.5%到12%)的准确度提高了13%以上;在Omniglot的匹配网络中,我们观察到增长0.5%(从96.9%增加到97.4%)和EMNIST增长1.8%(从59.5%增加到61.3%)

介绍

在过去十年中,如果有足够的数据,深度神经网络已经在许多任务上产生了前所未有的性能。从图像分类,机器翻译(图片分类),自然语言处理,语音识别,以及综合,从人类游戏中学习,和强化学习等,他们跨越于不同的领域。在所有情况下,都使用了非常大的数据集,或者在强化学习的情况下,广泛使用。在许多现实的情境中,我们需要用有限的数据集来实现目标;在那些情况下,深度神经网络似乎不足,会过度拟合训练集并在测试集上产生较差的泛化。
多年来已经开发出多种技术来帮助防止过度拟合,如dropout,batch normalization,batch renormalisation或layer normalization。然而,在低维数据体系中,即使这些技术也不尽如人意,因为网络的灵活性如此之高。这些方法无法利用已知的输入不变性,这些输入不变性可能形成用于通知参数学习的良好先验知识。也可以通过将各种变换应用于原始数据集,从现有数据生成更多数据。这些变换包括随机平移,旋转和翻转以及高斯噪声的添加。这些方法利用我们知道不会影响类别的变换。这种技术似乎至关重要,不仅对于低数据情况,而且对于任何大小的数据集,实际上即使是在一些最大数据集上训练的模型也可以从这种实践中受益。
典型的数据增强技术使用数据受限的极易去调用的已知不变性。在本文中,我们认识到我们可以通过在不同的域(通常称为源域)中训练一种条件生成对抗网络(GAN)来学习更大的不变空间模型。然后,这可以应用于感兴趣的低数据域,即目标域。我们表明,即使在低维数据目标域中,这样的数据增强生成对抗网络(DAGAN)也能够进行有效的神经网络训练。由于DAGAN不依赖于类本身,它捕获跨类转换,将数据点移动到相同类的其他点。因此,它可以应用于新颖的未展示的类别。如图2所示。(对图2不是很理解)
我们还证明,学习好的DAGAN可以用于实现和有效地改进匹配网络的few-shot(在迁移学习中的概念,即很少的标注类别)目标域。它通过增加匹配网络和相关模型中的数据,从DAGAN生成的每个类的最相关的比较点来实现。这涉及切线距离的概念,但需要学习到的DAGAN定义的流形之间的距离为目标关键。见图1。
在本文中,我们训练DAGAN,然后使用(a)标准随机梯度神经网络训练和(b)特定的one-shot元学习方法评估其在低数据目标域上的表现。我们使用3个数据集,Omniglot数据集,EMNIST数据集和更复杂的VGG-Face数据集。从Omniglot训练的DAGAN用于生成Omniglot 未出现的目标域图片,而且即使在基本上不同的源和目标域之间变换时,对于EMNIST也证明有益。 VGG-Face数据集提供了更具挑战性的测试。我们提供了高质量的生成样本,并通过vanilla网络和匹配网络显示了分类任务的实质性改进。
这篇论文主要贡献如下:
1、使用新颖的生成对抗网络来学习数据增强的表示和过程。
2、展示来自单个新的数据点的真实数据增强样本。
3、DAGAN在数据量少的情况下的使用增强了标准分类器,表明所有任务的泛化性能都有显著提高。
4、DAGAN在元学习空间中的应用,表现出比以往所有通用的元学习(meta-learning )模型更好的表现。结果显示,Omniglot案例的性能超过现有技术的0.5%,EMNIST案例的性能超过了1.8%。
5.通过学习一个网络去生成测试案例中没有的突出的增强样例,有效的增强one-shot匹配网路。
据我们所知,这是第一篇通过生成新的数据增强策略展示在元学习方面最先进的论文。

背景

迁移学习和转换数据:one shot学习问题是数据集转换的一个特例,由图2中的图形模型总结。这个术语data shift概括了协变量移位的概念对多个域之间的变化情况。对于one shot学习,类分布有一个极端的变化 - 两个分布没有共同支持:旧的类具有零可能性而新的类从零移动到非零概率。然而,假设类条件分布具有一些共性,因此信息可以从源域转换到one-shot目标域(即生成新的数据)。
生成对抗式网络:特别的DCGAN具有区分真实和生成客观例子的能力,GAN可以学习复杂的联合密度。最近的对优化过程的改善能减少GAN学习过程中的模式崩溃。
数据增强通常用于分类问题。在模型中编码数据已知的不变性通常是非常重要的。通过从现有数据项转换生成其他数据项,可以更容易地对数据中的这些不变性进行编码。例如,手写字符的标签应该对位置,小旋转或剪切的小变化,强度的变化,笔画厚度的变化,大小的变化等不变。几乎所有数据增加的情况都来自先验已知的不变性。在本文之前,我们知道一些尝试学习数据增强策略的工作。一篇值得注意的论文是(Hauberg等,2016)的作品,其中作者在基础类上学习增强策略。这种方法不适合应用在需要新的类的数据集很少的情形下。
few-shot学习和meta-learning:从(Salakhutdinov等人,2012)开始,他们使用分层玻尔兹曼机,到现代深度学习架构使用分层变分自动编码器和最近基于one-shot生成模型的GAN方法,学习新的数据。一种早期但有效的one-shot学习方法涉及使用 Siamese networks。其他人使用非参数贝叶斯方法和条件变分自动编码器。通过几个示例,最近邻分类器或核分类器是显而易见的选择。因此,meta-learning 距离度量或加权核具有明显的潜力。跳过残留的成对网络也被证明特别有效。各种形式的记忆增强网络也被用于以增量方式整理关键稀疏信息。这些方法都没有将增强模型视为meta-learning的基础。

模型

如果我们知道在一定转换下类别不变,那么我们可以应用该转换来生​​成其他数据。如果我们不知道哪些转换可能有效,但我们有相关问题的其他数据,我们可以尝试从我们可以应用于我们的设置的那些相关问题中学习有效的转换(图1)。这是meta-learning 的一个例子;我们学习如何提高目标问题的方法。这是本文的主题。
生成性对抗方法是一种学习从密度匹配训练数据集密度D生成实例的方法。他们通过最小化生成的数据和真实数据之间的分布差异来学习。通过GAN学到的生成模型是下面的形式 :
GAN
f是神经网络的函数,v是生成的数据,z是隐含的使生成变化的高斯变量。生成对抗网络可以被认为映射数据流型学习变换,z=0在数据域上给出一个点,在每个不同方向改变z映射出数据域。

DATA AUGMENTATION GENERATIVE ADVERSARIAL NETWORK

生成对抗网络也可以被用来映射数据数据增强域。给一个数据点x,我们可以学习输入的表达形式r=g(x),也就是生成模型。联合模型可以采用以下形式:
在这里插入图片描述
神经网络f将输入数据的表示r和随机z作为输入,现在得到新的x我们可以:
获得数据点r * = g(x *)的生成有意义的表示,其封装了生成其他相关数据所需的信息。
•生成额外的增强数据补充原始的x *,可以在分类器中使用。这可以通过从标准高斯分布中采样z然后使用生成网络来生成增强数据。
我们在本文中使用的数据增强模型的精确形式在图3中给出。该模型的结构概述在图下详细说明。
GAN论文2:DATA AUGMENTATION GENERATIVE ADVERSARIAL NET论文翻译和理解_第1张图片
上图:DAGAN结构。左:生成器网络由一个采用输入图像(来自c类)的编码器组成,将其向下投射到低维空间。随机向量(zi)被转换并与该向量连接;这些都被传递到解码器网络,生成增强图像。右:训练对抗性鉴别器网络以区分来自真实分布的样本(来自同一类的其他真实图像)和假分布(来自生成器网络的生成图像)。对抗训练引导网络从旧的属于同一类图像生成新图像,但看起来不同,可能是不同的样本。

学习

可以使用对抗方法在源域中学习数据增强模型。考虑由数据D 组成的源域和对应的目标值。我们使用改进的WGAN作为损失函数,其采用(a)一些输入数据点xi和来自同一类的第二数据点:xj使得ti = tj。(b)一些输入数据点xi和以xi为输入的生成器的输出。
最小化损失函数试图将生成的点(b)与真实点(a)区分开来。生成器被训练去最小化代表辨别能力的Wasserstein距离值。
应强调向鉴别器提供原始数据的重要性。我们希望确保生成器能够生成与当前数据点相关但不同的不同数据。通过向鉴别器提供关于当前数据点的信息,我们防止GAN简单地对当前数据点进行自动编码。同时我们不提供类别信息,因此必须学会以所有类别一致的方式进行概括。

结构

在主要实验中,我们使用了DAGAN生成器,它是UNet和ResNet的组合,我们称之为UResNet。 UResNet发生器总共有8个block,每个block具有4个卷积层,然后跟着一个下采样和上采样层。下采样层是具有步幅2的卷积,然后是leaky relu,batch normalisation和dropout。上采样是步幅1/2复制器,然后是卷积,leaky relu,batch normalisation和dropout。对于Omniglot和EMNIST实验,所有层都有64个滤波器。对于VGG-Faces,编码器的前2个block和解码器的最后2个block具有64个滤波器,并且编码器的最后2个块和解码器前2个块具有128个滤波器。
此外,UResNet生成器的每个块都有 skip connections。与标准ResNet一样,跨步的1x1卷积也在block之间传递信息,绕过块之间的非线性以帮助梯度流。最后,在网络每端的等效大小的过滤器之间引入skip connections(与UNet一样)。附录A给出了体系结构图和伪代码定义。
我们使用了DenseNet判别器,使用layer normalization而不是批量归一化;后者将打破WGAN目标函数的假设。 DenseNet由4个Dense Blocks和4个Transition Layers组成,正如(Huang et al。,2016)中所定义的那样。我们使用k = 64的增长率,每个Dense Block内有4个卷积层。对于鉴别器,我们还在每个Dense Block的最后一个卷积层使用了dropout,因为我们发现这可以提高样本质量。
我们使用学习率0.0001训练DAGAN 500个epochs,并且使用Adam参数β1= 0和β2= 0.9的Adam优化器训练。
对于每个分类实验,我们使用由4个Dense Block和4个Transition Layers组成的DenseNet分类器,其中k = 64,每个Dense Block在其中具有3个卷积层。分类器总共17层(即16层和1 个softmax层)。此外,我们在每个Dense Block的最后一个卷积层上应用了0.5的dropout。使用标准数据增强方式训练分类器:将随机高斯噪声添加到图像中(概率为50%),沿x和y轴随机移位(概率为50%),随机90度旋转(所有选择概率相等) 。训练200个时期的分类器,学习率为0.001,以及β1= 0.9和β2= 0.99的Adam优化器。

数据集

我们在3个数据集上测试了DAGAN增强:Omniglot,EMNIST和VGG-Faces。所有数据集随机分为源域集,验证域集和测试域集。
对于分类器网络,每个字符(手写或人)的所有数据进一步分为2个测试用例(对于所有数据集),3个验证案例和根据实验的不同数量的训练案例。针对所有域中的所有示例的训练案例进行了分类器训练,在验证案例上进行了超参数选择。最后,仅针对目标域集的测试用例报告了测试性能。数据集拆分在每次测试中随机化。
对于one-shot网络,DAGAN训练在源域上完成,meta learning在源域上完成,并在验证域上进行验证。结果显示在目标域数据上。同样在目标域中,提供了不同数量的训练案例,并且在测试集中呈现了结果。
Omniglot数据被分为源域和目标域。对类的顺序进行混洗,使得源域和目标域包含不同的样本。前1200用作源域集,1201-1412用作验证域集,1412-1623用作目标域测试集。
EMNIST数据被分成包括类0-34的源域,验证域集包括类35-42并且测试域集包括类42-47。由于EMNIST数据集每个类有数千个样本,因此我们为每个类只选择了100个样本,这样我们就可以将任务设置为少数据。
在VGG-Face数据集案例中,我们从每个其中包含100个未损坏的图像的类中随机选择了100个样本,从而导致数据集中可用的全部2622个类中的2396个。在清洗之后,我们将结果数据集拆分为包含前1802个类的源域。测试域集包括类1803-2300,验证域集包括类2300-2396。

DAGAN的训练与生成

在源域上DAGAN的训练

DAGAN使用各种架构在 Omniglot源域上进行了训练:标准VGG,U-net和ResNet结构。越来越强大的网络证明了更好的生成器,更好的生成器是第4节描述的UResNet的生成器是我们的首选模型。图4显示了使用更强大的体系结构实现的生成样本的多样性。 DAGAN还在VGG-Faces源域上进行了训练。生成脸的示例在图5中给出。

VANILLA分类器

第一个测试是DAGAN如何能够增强在每个目标域上训练的vanilla分类器。DenseNet分类器首先仅针对实际数据(带有标准数据增强)进行训练,每个类别有5,10或15个例子。在第二种情况下,分类器也传入了DAGAN生成的增强数据。真实或伪造的标签也被传递到网络,以使网络能够学习如何最好地强调真实生成的数据。事实证明,最后一步对于最大化D​​AGAN增强的潜力至关重要。在每个训练周期中,为每个实例提供不同数量的增强样本(范围从1-10);通过验证域上的性能选择最佳annotation rate。表1中给出了来自目标域的保持测试用例的结果。在每种情况下,数据增强都改进了分类性能。

使用匹配网络和数据增强网络 one-shot学习

待补

结论

数据增强是一种广泛适用的方法,用于提高数据量少情况下的性能,DAGAN是一种灵活的模型,可自动学习增强数据。除此之外,我们证明DAGANS即使在标准数据增强之后也能提高分类器的性能。
此外,在迁移学习标注数据很少的情况下通过meta-learning是最佳选择,它导致比其他最先进的学习方法有更好的性能。所有模型和方法的数据增强的一般性意味着DAGAN可以是任何数据不足的情况下的有价值的补充。

你可能感兴趣的:(论文阅读,数据增强)