使用生成对抗网络提升深度学习的数据增强
摘要
深度学习需要使用大量标注图像作为训练数据。然而,在实际中,获取足够数量的合适图像较为困难,尤其难以获得具有标签的多样化类别图像。这给卷积神经网络(CNN)的训练带来了挑战。数据增强是一种从已有训练数据中生成更多数据的技术,在解决合适图像不足问题方面起着至关重要的作用。因此,本研究提出了一种结合图像生成与已有几何变形的生成对抗网络(GAN)的数据增强方法。在所提出的方法中,通过几何变形反复扩充小型数据集,并将其用作辅助分类器-GAN的训练数据。最后,评估了使用该方法生成的数据集训练的CNN的性能。尽管所获得结果的质量和准确率不够理想,但预期该方法的潜力将是不可忽视的。当前的挑战在于提高生成图像的质量,从而提升CNN的准确率。
在图1中,一种图像经过旋转、裁剪和翻转生成了16种变体图像。将这些多样化的图像作为训练数据使用可以提升深度学习的性能。此外,图像的数量和质量都非常重要。因此,生成的训练数据应具有多样性,并接近与其他类别的实际数据相似,这是理想的状态。
关键词 —深度神经网络,生成对抗网络,数据增强
I. 引言
近年来,深度学习因其在各种任务上的出色表现而受到越来越多的关注。使用卷积神经网络(CNN)提升图像识别的性能尤为突出。深度学习的训练过程需要大量标注图像作为训练数据。然而,要获得足够数量的此类图像非常困难,尤其难以获取所有类别的标注图像。当可用的训练数据有限,卷积神经网络(CNN)能在较小的数据集上进行训练。数据增强是一种从已有训练数据生成更多训练数据的方法,为生成更大的训练数据集提供了一种切实可行的手段。
II. 方法
A. 数据增强
深度学习的性能几乎与训练数据量的对数线性增长,即使训练数据量增加到100倍左右,这种线性关系仍然存在 [1]。这意味着深度学习的性能随着训练数据量的增加而提升。因此,数据增强是提高深度学习性能的有效方法。
一种典型的数据增强方法是对图像应用多种几何变形,如图1所示。
B. 生成对抗网络(GAN)
Goodfellow 提出了 GAN [2],该网络包括一个生成模型(G),用于生成图像,以及一个判别模型(D),用于判断图像是真实的还是伪造的。通过对这种判别能力的学习,生成对抗网络能够生成与真实图像无法区分的合成图像。
生成模型 G 将随机噪声 z 作为输入并生成图像。判别模型 D 将来自真实世界的实际图像以及 G 生成的假图像作为输入,并判断该图像是真实还是伪造。然后,将准确识别的结果反馈给 G。因此,G 学习生成被 D 评估为真实的图像,而 D 学习提高准确区分的能力。通过这种相互竞争的过程,最终可以生成与真实图像无法区分的复合图像。
C. 辅助分类器(AC)GAN
在生成对抗网络判别模型 D 中增加了一个辅助分类器 AC [3]。在普通 GAN 中,生成图像的类别是随机的。然而,AC-GAN 可以通过将类别 c 作为输入引入生成器 G 中来指定图像的类别。因此,辅助分类器使判别器 D 能够确定输入图像所属的类别及其真实性。
在本研究中,我们使用 AC-GAN,因为我们希望获得由生成对抗网络生成的标注图像。
III. 使用生成对抗网络进行数据增强
我们尝试使用一个小数据集来训练卷积神经网络(CNN)实现图像分类。为此,我们对该小型原始数据集实施几何形变以实现数据增强。接着,我们将该数据集用作生成对抗网络(GAN)的训练数据。利用训练好的生成对抗网络(GAN)生成图像以进一步扩充数据。通过重复此过程,除了原始数据集外,我们获得了更大的数据集。
A. 源数据集
原始数据集包含 5,000 张图像,其中从 CIFAR-10 训练数据 [4] 的 10 个类别中随机选取 2 个类别各抽取 500 张。我们将此称为小型 CIFAR-10。然后使用 10,000 张经过变形的原始 CIFAR-10 测试数据评估卷积神经网络(CNN)的性能。
图4展示了 CIFAR-10 训练数据的一个样本。类别标签 0-9 分别对应飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船和卡车。
B. 使用 GAN 进行数据增强的工作流程模型
数据增强是根据图5所示的工作流程模型进行的。
- 通过对小型 CIFAR-10 实施几何变形生成 50,000 张图像。该新数据集记为 DA1。
- 使用 DA1 作为训练数据,通过训练 100 轮的生成对抗网络(GAN)生成 50,000 张图像。该新数据集记为 GAN1。
- 通过对 GAN1 进行几何变形生成 50,000 张图像。该新数据集记为 DA2。
- 使用 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. 分析 |
在此,我们使用弗雷歇 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 生成与训练数据集质量相当的图像,并提高图像生成的准确率,将是一个值得挑战的研究方向。

4190

被折叠的 条评论
为什么被折叠?



