作者 | 于浩清 编辑 | 李仲深
今天给大家介绍的是来自爱丁堡大学的Antreas Antoniou等人在arXiv上发表的文章”DATA AUGMENTATION GENERATIVEADVERSARIAL NETWORKS”。该模型基于图像条件生成对抗网络,从源域获取数据并学习获取任何数据项并将其生成为生成其他类内数据项。由于这个生成过程不依赖于类本身,它可以应用于新颖的不可见的数据类。
一、介绍
神经网络的有效训练需要大量数据。在低维数据体系中,参数不确定,网络泛化性差。数据增强通过更有效地使用现有数据来缓解这种情况。然而,标准数据增加仅能产生有限的可信替代数据。鉴于有可能产生更广泛的增强,我们设计和训练生成模型来进行数据增强。本文提出的数据增强生成对抗网络(Data Augmentation Generative Adversarial Networks,DAGAN) 是基于图像的条件生成对抗网络,从源域中获取数据,并学习获取数据项,并将其泛化以生成其他类内数据项。由于这个生成过程不依赖于类本身,它可以应用于新的数据类。
传统的小样本学习的数据扩充技术利用了不影响类的转换,例如随机平移、旋转和翻转以及添加高斯噪声。这样的方法不仅适用于数据量小的情形,而且适用于各种大小的数据集。典型的数据扩充技术使用一组非常有限的易调用的已知不变量。在这篇文章中,我们认识到,我们可以通过在一个不同的领域(通常称为源领域)训练一种形式的条件生成对抗网络,来学习一个更大的不变性空间的模型。这可以应用于低数据域,即目标域。这种DAGAN即使在小样本的情况下也能够实现有效的神经网络训练。由于DAGAN不依赖于类本身,它捕获跨类转换,将数据点移动到等价类的其他点。因此,它可以应用于新的未知类。
二、数据增强模型
如果我们知道一个类标签对于一个特定的转换应该是不变的,那么我们可以应用这个转换来生成额外的数据。如果我们不知道什么样的转换可能是有效的,但是我们有来自相关问题的其他数据,我们可以尝试从那些可以应用到我们的设置的相关问题中学习有效的转换。这是一个元学习的例子,通过这个例子我们可以了解到如何通过其他问题学习解决目标问题。
生成对抗方法是一种通过密度匹配训练数据集密度来生成示例的学习方法。该方法通过最小化生成数据和真实数据之间的分布差异来进行学习。DAGAN是生成对抗方法的一种模型。DAGAN的结构如图1。
图1. DAGAN结构
图1左:生成器网络由一个编码器组成,它获取一个c类的输入图像,将其投影到一个低维向量。随机向量(zi)被转换并与映射向量连接;这些都被传递到解码器网络,解码器网络生成增强图像。右:训练对抗性鉴别器网络来区分来自真实分布的样本(来自同一类的其他真实图像)和伪分布(从生成器网络生成的图像)。对抗性训练使网络从旧的图像生成新的图像,这些图像看起来在同一个类中(不管那个类是什么),但是看起来不同,足以成为不同的样本。
三、实验
3.1 数据集
我们在Omniglot、EMNIST和VGG-Faces三个数据集上测试DAGAN的数据增强能力。所有数据集被随机分成源域集、验证域集和测试域集。对于分类器网络,每个字符(手写或人)的所有数据被进一步分成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。
3.2 DAGAN的训练与生成
在源域上DAGAN的训练:DAGAN使用各种架构在 Omniglot源域上进行了训练:标准VGG,U-net和ResNet结构。越来越强大的网络证明了更好的生成器, ResNet的生成器是我们的首选模型。图2显示了使用更强大的体系结构实现的生成样本的多样性。DAGAN还在VGG-Faces源域上进行了训练。生成脸的示例在图3中给出。
图2. 不同结构的DAGAN在Omniglot上的生成品
图3. 使用单个真实种子图像的GAN生成的图像(左上为真实图像)
3.3 VANILLA分类器
第一个测试是DAGAN如何能够增强在每个目标域上训练的vanilla分类器。DenseNet分类器首先仅针对实际数据(带有标准数据增强)进行训练,每个类别有5,10或15个例子。在第二种情况下,分类器也传入了DAGAN生成的增强数据。真实或伪造的标签也被传递到网络,以使网络能够学习如何最好地强调真实生成的数据。事实证明,最后一步对于最大化DAGAN增强的潜力至关重要。在每个训练周期中,为每个实例提供不同数量的增强样本(范围从1-10);通过验证域上的性能选择最佳annotationrate。表1中给出了来自目标域的保持测试用例的结果。在每种情况下,数据增强都改进了分类性能。
表1. Vanilla分类结果
使用匹配网络和数据增强网络 one-shot学习:当使用DAGAN增强来训练匹配网络时,在每个匹配网络训练集在训练期间进行数据增强过程。我们使用没有全上下文嵌入版本的匹配网络,并将K个GAN生成的(增强的)图像与原始图像堆叠在一起。我们进行了20个类的实验,每个类一个样本,即one-shot设置。生成的数据与真实数据的比率从0到2不等。标准扩充再次应用于DAGAN扩充和标准设置中的所有数据。在表2中,显示了Omniglot的单次结果,我们看到DAGAN甚至提高了简单的像素距离,提高了33.815%。此外,在我们的匹配网络实验中,我们看到比现有技术水平提高了0.5%(从96.9%到97.4%)。
表2. Omniglot one-shot实验结果
四、总结
数据增强是一种广泛适用的方法,用于提高数据量少情况下的性能,DAGAN是一种灵活的模型,可自动学习增强数据。除此之外,我们证明DAGAN即使在标准数据增强之后也能提高分类器的性能。此外,在迁移学习标注数据很少的情况下通过meta-learning是最佳选择。所有模型和方法的数据增强的一般性意味着DAGAN可以是任何数据不足的情况下的有价值的补充。
参考文献
https://arxiv.org/abs/1711.04340