基于MUNIT的数据增强方法研究

2021-12-23 12:24丁柏楠王淏袁文翠吴圣洁
微型电脑应用 2021年12期
关键词:类别重构损失

丁柏楠, 王淏, 袁文翠, 吴圣洁

(1.东北石油大学 计算机与信息技术学院,黑龙江 大庆 163319;2.吉林大学 物理学院,吉林 长春 130012)

0 引言

在过去的几年里,深度神经网络在具有充足数据的情况下在多种任务上取得了举世瞩目的进展。它已经被运用到了各个领域,例如图像分类、机器翻译、自然语言处理、图像合成、语音处理等。无论在哪个领域,都必须使用巨量的数据来训练网络获得令人满意的结果。但在很多现实情况下,一些数据难以收集,或是收集大量数据的代价过于高昂,因此需要在有限的数据下达到期望的目标。而数据不足会导致神经网络在训练集上出现过拟合,在测试集上出现较差的泛化能力的情况。

近些年,有许多技术被开发出来帮助对抗训练时的过拟合问题,例如Dropout、Batch Normalization、Layer Normalization等方法。但在样本过少的训练中,即使使用了这些方法,也不能显著地提升网络训练的稳定性。故为了应对小样本数据集训练问题,一个主要措施就是数据增强方法。

数据增强[1]方法通常用于处理分类问题,通过合成或者转换的方式, 从已有的数据中生成新的数据,目前图像领域的数据增强技术分为两种,一种是有监督的数据增强方法,采用预设的数据变换规则,例如随机旋转、随机裁剪、色彩抖动、添加高斯噪声等,但这些改变只局限于当前标签类别,没有从根本上解决数据不足的问题。另一种是无监督的数据增强方法,通过使用模型学习现有数据的分布,生成与训练数据集分布一致的数据,例如基于生成对抗网络的数据增强方法[2]。这种基于模型的方法可以合成相比传统数据增强方法更加多样的新数据,但仍然只是针对单一类别进行生成。本文展示的是基于无监督的多模态图像转换(Multimodal Unsupervised Image-to-image Translation,MUNIT)的数据增强技术,并将其应用于小样本训练的分类任务中。

1 MUNIT模型

MUNIT是由Xun Huang等[3]提出的多模态图像转换模型,是基于UNIT[4]网络经过改进后能够生成非单一映射的图像转换网络,其在图像风格转换的多样性和生成的图像质量上的表现十分出色。MUNIT的根本思想将图像分解为域不变的内容编码和样式编码,将多个域图像的内容存放于一个共享空间C中,从目标域捕获样式代码,将内容与样式相组合,以此实现了将图像转换到另一个域的目标。

MUNIT网络结构如图1所示。其中图1(a)图像重构网络表示对应每个图像域,都有一组内容编码器和风格编码器,以及用于重构图像的解码器;其中的图1(b)交叉图像域的图像转换网络展示了从x1图像域转换成x2图像域的过程,由x1的内容编码器,x2的风格编码器,和一个生成对抗网络(Generative Adversarial Network, GAN)[5]构成。

(a)图像重构网络

2 基于MUNIT的数据增强方法

在很多的图像分类任务中,不同类别之间的底层特征十分相近,例如轮廓、大小等,但其高层特征会在很大程度上区分为不同的类别,例如不同的猫科动物之间的分类任务。本文针对这类问题,通过改进MUNIT网络的部分结构和训练算法,设计了一种基于MUNIT的数据增强方法。

2.1 多模态无监督图像转换数据增强网络

将MUNIT应用于数据增强的网络结构设计称之为DA-MUNIT(Data Augmentation MUNIT)网络,如图2所示。

图2 DA-MUNIT网络结构

该数据增强结构首先将小样本数据集中的不同标签类别的图像分别经自动编码器训练生成其内容空间Ci和风格空间Si,再针对每一个标签类别的内容,以除此之外的标签图像数据作为目标域,从其风格空间S中随机采样服从分布q(sj)~N(0,1)的风格潜在编码sj,经生成器G生成新的合成图像xi→j=G(ci,sj),将所有新生成的图像X的标签类别标记为其风格潜在编码所在图像域的标签类别。最后将所有新生成的已有标签的图像分别加入到原数据集相同标签类别下,作为增强后的新数据集。新生成的图像的底层特征是X1图像域和X2图像域共享的内容空间,即该底层特征在两个图像域中的区分度不是很高,这可能造成分类器在通过未经过数据增强的数据上训练时,于底层特征分类上的表现较差。而加入了新生成的图像后,由于新生成的图像的高层特征属于X2图像域,底层特征属于X1图像域,并且其标签类别与X2图像相同,这就使分类器在底层内容特征相似的数据中能够更好地区别不同类别。

2.2 DA-MUNIT网络的训练算法

DA-MUNIT网络的训练分为2个阶段,第一阶段为原数据图像重构训练阶段。该训练阶段的实施过程如图3所示。

图3 图像重构训练过程

该阶段的目的就是通过一个图像重构网络的训练来得到数据集中各种类别的内容代码Ci和风格代码Si。在该阶段,我们将原MUNIT网络的下采样和上采样部分改为了Pix2Pix图像转换网络[6],最终的辨别器使用了Patch Discriminator,该辨别器用于使生成网络更快地得到内容编码和风格编码。其中,内容编码器的下采样块我们使用了8个编码块,每块包含一个卷积层,BatchNorm层和激活函数LeakyRelu。解码器的上采样块也包含8个解码块,每块包含一个Trans Conv层、BatchNorm层和激活函数Relu。编码器的每块都与对应的解码块进行了跳转链接,以此来给解码器提供更多的内容信息。

第一阶段的损失函数包括两部分,即双向重构损失和潜在重构损失。

双向重构损失(Bidirectional reconstruction loss),即经过重构的图像与原图像像素距离损失,为式(1)。

(1)

潜在重构损失(Latent reconstruction loss),分为目标域生成图像对要转换的图像的内容损失函数和目标域生成图像对要采用的潜在风格域对应图像的风格损失函数,2个损失均使用L1损失,因其更支持输出清晰的图像。2个损失函数为式(2)。

(2)

训练的第二阶段为使用第一阶段得到的各种类图片的风格潜在编码S和共享的内容空间C来训练生成各个图像域对应转换的图像数据。为了得到Xi→j的转换图像,该阶段从Xi下采样得到Xi图像域的内容编码,同时从Xj下采样得到Xj图像域的风格编码,最终通过生成对抗网络生成Xi→j的转换图像。该阶段的训练过程如图4所示。其中风格编码器部分设计均和图3相同。该部分将不使用跳转链接和Patch Discriminator。

图4 图像转换过程

该阶段的损失函数为对抗损失(Adversarial loss)。最终使用GAN来匹配转换后图像的分布到目标图像域的分布。Xun Huang等提出的MUNIT网络中该部分的对抗损失使用的是二元交叉熵BCE损失函数,而我们提出使用最小二乘损失函数,因为这样可以在训练过程中增加一定的稳定性[7],并且相比使用BCE损失函数,生成的图像更加真实。对抗损失函数为式(3)。

(3)

综上,DA-MUNIT网络的总损失为式(4)。

(4)

其中,λx、λc和λs为控制重构项对输出结果的影响性的权重。

3 实验分析

为了验证DA-MUNIT的新样本生成能力以及生成的样本能否在一定程度上提高小样本分类器的分类准确率,我们在ImageNet数据集上人工选取了2 000张猫科动物图片,其中1 400张作为训练集,600张为测试集数据。图像分辨率为32×32,总共可分为5类。

3.1 ImageNet数据集验证试验

为了研究对于不同大小的小样本数据集下数据增强方法的表现,我们人为地从该数据集中抽取不同数量的子数据集, 每类从50到1 000不等。实验主要对比以下几种不同的数据增强方式:(1)不采用任何的数据增强方式(D);(2)传统的基于仿射变换和图像操作的数据增强方式(D_aug);(3)本文所提出的基于MUNIT的数据增强方法(DA-MUNIT_aug)。实验对比了不同方法下训练出来的分类器在测试集上的分类准确率(Acc),结果如表1所示。

表1 不同数据增强方法在ImageNet猫科动物数据集上测试集的准确率/%

从实验结果可以看出,DA-MUNIT_aug是所有方法中对分类器的分类结果准确率提升效果最好的。于1 000张原数据和经DA-MUNIT网络数据增强后的训练集准确率变化如图5所示。在测试集上的准确率变化如图6所示,训练时的损失函数变化如图7所示。

图5 训练集准确率对比图

图6 验证集准确率对比图

从图5-图7中可明显看出经DA-MUNIT网络进行数据增强后的训练更加稳定且测试准确率更高,且在一定程度上减少了过拟合。

图7 训练损失变化对比图

上述1 000张数据实验结果说明基于MUNIT的数据增强方法对一些小样本的图像分类任务中的模型进行很大程度的提升,在一定程度上解决了数据过少导致的模型表现较差或过拟合问题。

4 总结

以数据增强为目标, 本文通过使用和改进MUNIT网络,设计了一种基于MUNIT的数据增强方法,以MUNIT生成的图像做数据增强的方法相比于传统的数据增强方法,生成的新样本和原始数据的分布基本相同,还可以做到不同类之间图像风格交叉转换,以此提供内容相同但风格不同的不同类别标签的新样本,使小样本分类器能够在加上合成的新数据后很大程度地提升了训练稳定性,减少了过拟合。

猜你喜欢
类别重构损失
视频压缩感知采样率自适应的帧间片匹配重构
长城叙事的重构
胖胖损失了多少元
玉米抽穗前倒伏怎么办?怎么减少损失?
北方大陆 重构未来
壮字喃字同形字的三种类别及简要分析
北京的重构与再造
服务类别
菜烧好了应该尽量马上吃
损失