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

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

使用生成对抗网络提升深度学习的数据增强

摘要

深度学习需要使用大量标注图像作为训练数据。然而,在实际中,获取足够数量的合适图像较为困难,尤其难以获得具有标签的多样化类别图像。这给卷积神经网络(CNN)的训练带来了挑战。数据增强是一种从已有训练数据中生成更多数据的技术,在解决合适图像不足问题方面起着至关重要的作用。因此,本研究提出了一种结合图像生成与已有几何变形的生成对抗网络(GAN)的数据增强方法。在所提出的方法中,通过几何变形反复扩充小型数据集,并将其用作辅助分类器-GAN的训练数据。最后,评估了使用该方法生成的数据集训练的CNN的性能。尽管所获得结果的质量和准确率不够理想,但预期该方法的潜力将是不可忽视的。当前的挑战在于提高生成图像的质量,从而提升CNN的准确率。

示意图0

在图1中,一种图像经过旋转、裁剪和翻转生成了16种变体图像。将这些多样化的图像作为训练数据使用可以提升深度学习的性能。此外,图像的数量和质量都非常重要。因此,生成的训练数据应具有多样性,并接近与其他类别的实际数据相似,这是理想的状态。

关键词 —深度神经网络,生成对抗网络,数据增强

I. 引言

近年来,深度学习因其在各种任务上的出色表现而受到越来越多的关注。使用卷积神经网络(CNN)提升图像识别的性能尤为突出。深度学习的训练过程需要大量标注图像作为训练数据。然而,要获得足够数量的此类图像非常困难,尤其难以获取所有类别的标注图像。当可用的训练数据有限,卷积神经网络(CNN)能在较小的数据集上进行训练。数据增强是一种从已有训练数据生成更多训练数据的方法,为生成更大的训练数据集提供了一种切实可行的手段。

II. 方法

A. 数据增强

深度学习的性能几乎与训练数据量的对数线性增长,即使训练数据量增加到100倍左右,这种线性关系仍然存在 [1]。这意味着深度学习的性能随着训练数据量的增加而提升。因此,数据增强是提高深度学习性能的有效方法。

一种典型的数据增强方法是对图像应用多种几何变形,如图1所示。

B. 生成对抗网络(GAN)

Goodfellow 提出了 GAN [2],该网络包括一个生成模型(G),用于生成图像,以及一个判别模型(D),用于判断图像是真实的还是伪造的。通过对这种判别能力的学习,生成对抗网络能够生成与真实图像无法区分的合成图像。

示意图1

生成模型 G 将随机噪声 z 作为输入并生成图像。判别模型 D 将来自真实世界的实际图像以及 G 生成的假图像作为输入,并判断该图像是真实还是伪造。然后,将准确识别的结果反馈给 G。因此,G 学习生成被 D 评估为真实的图像,而 D 学习提高准确区分的能力。通过这种相互竞争的过程,最终可以生成与真实图像无法区分的复合图像。

C. 辅助分类器(AC)GAN

在生成对抗网络判别模型 D 中增加了一个辅助分类器 AC [3]。在普通 GAN 中,生成图像的类别是随机的。然而,AC-GAN 可以通过将类别 c 作为输入引入生成器 G 中来指定图像的类别。因此,辅助分类器使判别器 D 能够确定输入图像所属的类别及其真实性。

示意图2

在本研究中,我们使用 AC-GAN,因为我们希望获得由生成对抗网络生成的标注图像。

III. 使用生成对抗网络进行数据增强

我们尝试使用一个小数据集来训练卷积神经网络(CNN)实现图像分类。为此,我们对该小型原始数据集实施几何形变以实现数据增强。接着,我们将该数据集用作生成对抗网络(GAN)的训练数据。利用训练好的生成对抗网络(GAN)生成图像以进一步扩充数据。通过重复此过程,除了原始数据集外,我们获得了更大的数据集。

A. 源数据集

原始数据集包含 5,000 张图像,其中从 CIFAR-10 训练数据 [4] 的 10 个类别中随机选取 2 个类别各抽取 500 张。我们将此称为小型 CIFAR-10。然后使用 10,000 张经过变形的原始 CIFAR-10 测试数据评估卷积神经网络(CNN)的性能。

示意图3

图4展示了 CIFAR-10 训练数据的一个样本。类别标签 0-9 分别对应飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船和卡车。

示意图4

B. 使用 GAN 进行数据增强的工作流程模型

数据增强是根据图5所示的工作流程模型进行的。

  1. 通过对小型 CIFAR-10 实施几何变形生成 50,000 张图像。该新数据集记为 DA1。
  2. 使用 DA1 作为训练数据,通过训练 100 轮的生成对抗网络(GAN)生成 50,000 张图像。该新数据集记为 GAN1。
  3. 通过对 GAN1 进行几何变形生成 50,000 张图像。该新数据集记为 DA2。
  4. 使用 DA2 作为训练数据,通过训练 100 轮的生成对抗网络生成 50,000 张图像。该新数据集记为 GAN2。

然后,我们比较了使用上述各个数据集作为 CNN 图像分类器的训练数据时,测试数据的分类准确率。下表列出了我们在实验中使用的 CNN 图像分类器的结构细节。

IV. CNN 图像分类器的结构框图

层类型 输入大小 卷积层大小・步长 输入
输入 32×32×3 - -
卷积层1 32×32×32 3×3 -
卷积层2 30×30×32 3×3 -
池化层1 15×15×32 2×2 最大池化
卷积层3 15×15×64 3×3 -
卷积层4 13×13×64 3×3 -
池化层2 6×6×64 2×2 最大池化
全连接层1 - - ReLU
全连接层2 - - ReLU
输出层 - - Softmax

V. 评估

下表列出了各个数据集中的图像数量,以及当它们被用作 CNN 图像分类器的训练数据时,测试数据的分类准确率。

尽管基准 Small CIFAR-10 数据集的分类准确率为 61.13%,但采用几何变形和图像数量增加的 DA1 方法,其分类准确率提升到了 65.22%。数据增强的效果因而显著。

训练数据集 图像数量 分类准确率
小型 CIFAR-10 5,000 61.13%
DA1 50,000 65.22%
GAN1 50,000 31.04%
DA2 50,000 43.50%
GAN2 50,000 37.55%
## VI. 分析

示意图5

在此,我们使用弗雷歇 inception 距离(FID)[5],来量化评估生成对抗网络(GAN)生成图像的质量,FID 是衡量图像质量的一种标准。FID 越小,两种图像分布越相似。在计算 FID 时,我们采用从经过 ImageNet [7] 训练的 Inception 模型 [6] 的中间层提取的高维特征向量作为高层特征。
使用 Inception 模型,我们从真实图像分布 p_r 中计算出特征向量 h_w,并计算其均值向量 m_w 和协方差矩阵 C_w。类似地,我们从生成图像分布 p_g 中获取特征向量 h,并计算其均值向量 m 和协方差矩阵 C。以这两个统计量作为参数,FID d² 由公式(1)给出。

$$
d^2((m, C), (m_w, C_w)) = ||m - m_w||^2 + \text{Tr}(C + C_w - 2\sqrt{C C_w})
$$

其中 Tr 是迹运算符。

下表列出了小型 CIFAR-10、DA1、GAN1、DA2、GAN2 与 50,000 张 CIFAR-10 训练数据相比的 FID 值。

数据集 FID(相对于 CIFAR-10)
小型 CIFAR-10 78.2
DA1 23.03
GAN1 177.9
DA2 134.5
GAN2 199.4

我们评估了图像质量,而非单纯关注图像数量。值得指出的是,从小型 CIFAR-10 中提取的 DA1 的 FID 接近于零,符合合理预期。DA1 在卷积神经网络(CNN)中获得了最高的准确率得分,其 FID 为 23.03,该值小于 GAN1、DA2 和 GAN2。GAN1 的 FID 为 177.9,但在 DA2 中下降至 134.5。由于 GAN1 与 CIFAR-10 相比,几何变形反而降低了图像质量,从而使 DA2 更接近 CIFAR-10 的分布。

然而,由于在表 III 中显示的 GAN1 作为训练数据的表现优于 DA2,因此图像分布接近并不一定意味着这类数据对类别分类是有效的。

VII. 结论

在本研究中,我们提出了一种数据扩展方法,该方法结合了图像的几何变换和使用生成对抗网络(GAN)进行图像生成,前提是深度学习需要大量训练数据,且训练数据的多样性具有重要意义。在实验中,GAN 生成的图像质量较差,因此结果不理想。在未来的工作中,如何利用高质量数据通过 GAN 生成与训练数据集质量相当的图像,并提高图像生成的准确率,将是一个值得挑战的研究方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值