用GANs来做数据增强

news/2025/1/12 13:34:56/

适用于只有很少样本的情况。

即使是不完美的合成数据也可以提高分类器的性能。

生成对抗网络(Generative adversarial networks,简称GANs)由Ian Goodfellow于2014年推出,近年来成为机器学习研究中非常活跃的话题。GAN是一种无监督生成模型,它隐含地学习底层分布。在GAN框架中,学习过程是两个网络之间的极大极小博弈,一个生成器,生成给定随机噪声向量的合成数据,一个鉴别器,区分真实数据和生成器的合成数据。

生成对抗网络

逼真的生成图像(BigGAN, 2018)

GANs在许多领域的应用都取得了令人瞩目的成果,尤其是在计算机视觉领域。在这篇文章中,我们将探索GANs的一个不那么华丽但很有影响力的用例,即在监督学习中提高分类器性能的数据增强。

数据增强

获得更大的数据集是提高机器学习算法性能最可靠的方法之一 —— 用Andrew Ng的一句话来说,“数据量驱动机器学习过程”。在某些情况下,添加生成的或合成的数据(称为数据增强的过程)也可以提高性能。

最常见的方法是对现有数据应用一些转换。在图像分类的例子中,我们知道,例如,在移动或翻转一个猫的图像后,它仍然是一只猫的图像。因此,图像分类数据集通常会增加移位、翻转、旋转或颜色变化,以获得可能的最佳结果。

传统的图像数据增强

这里有一个问题:我们可以使用GAN来生成合成数据来改进分类器吗?在2019年4月的一篇论文:https://arxiv.org/pdf/1904.09135.pdf中,作者为一个二分类问题(癌症检测)生成了完全合成的数据。引人注目的是,他们展示了决策树分类器在这个完全合成的数据集上比在原始小数据集上训练时表现得更好。

然而,这似乎是一个例外情况,这种直接的数据增强方法在非常小的数据集上有更好的工作机会。在2017年的一篇论文中,使用深度学习的图像分类中的数据增强的有效性,作者发现使用GANs直接的数据增强不如其他增强策略有效。

少样本背景下的数据增强

因此,让我们修改一下我们的问题:如果我们有一个非常小的类作为一个更大数据集的子集,比如图像数据集中的一个罕见的狗品种,会怎么样?或者,如果我们正在训练一个欺诈分类器,但我们只有几个已知的欺诈例子,和许多非欺诈的例子,那该怎么办?这种情况被称为少样本学习,这被证明是使用GANs进行数据增强的一个更有前途的用例。但要解决这个问题,我们需要在GAN模型中包含类信息。

我们可以使用conditional GAN来实现这一点,在这个GAN中,类信息被提供给生成器。现在我们来讨论过去两年里的三种conditional GANs变体。

ACGAN: Cooperate on classification

conditional GAN的一个变体,称为ACGAN(辅助分类器GAN),除了区分真实数据和合成数据之外,还让鉴别器执行分类,损失函数包括用于分类的二元交叉熵项。除了学习生成总体真实的样本,这样还鼓励生成器学习不同类别样本的表示。这本质上是多任务学习:虽然生成器和鉴别器在生成的图像是真还是假上“竞争”,但他们在正确分类上“合作”。

DAGAN: learn a shared family of transformations for data augmentation

另一种变体叫做DAGAN (Data augmented GAN),它学习如何使用真实图像的低维表示来生成合成图像。在DAGAN框架中,生成器不是将一个类和噪声向量作为输入,而是本质上是一个自动编码器:它将现有的图像进行编码,添加噪声,然后解码。因此,解码器学习了大量的数据增强转换。

DAGAN生成器

DAGAN鉴别器一方面区分图像和变换后的版本,另一方面区分来自同一类的一对图像。因此,鉴别器激励解码器学习变换,这些变换不会改变类,但在变换后的图像需要与原始图像不太相似这一点上是不容易做到的。然而,DAGAN的一个关键假设是,相同的变换适用于所有类别 —— 这在计算机视觉环境中是合理的,但在欺诈或异常检测中就不那么合理了。

DAGAN的判别器

BAGAN: learning to balance imbalanced data

在另一个conditional  GAN的变体,称为BAGAN,自动编码器也用于生成器。自动编码器被预训练来学习整个数据集的分布。然后,对编码后的图像进行多元正态分布拟合。现在你可以从这些多元正态分布中采样,并将conditional 隐向量传递给生成器。与DAGAN不同,BAGAN为你提供了一个成熟的条件生成器,而不是对现有数据进行转换。它也可能比ACGAN在少量的背景下更好,因为VAE在拟合每个类的正态分布之前有学习整体分布的能力。

BAGAN框架

思考

尽管使用GANs进行简单的数据增强有时可以提高分类器的性能,特别是在非常小或有限的数据集的情况下,但使用GANs进行增强的最有希望的情况似乎包括迁移学习或少量学习。随着研究不断提高GAN训练的稳定性和可靠性,将GAN用于数据增强的快速进展将不足为奇。


http://www.ppmy.cn/news/160912.html

相关文章

XSS-labs-level7

访问题目url 还是经典语句起手 <script>alert(xss)</script> 我们查看一下回显 看来是过滤了一些字符&#xff0c;然后我们直接来看源代码 <?php ini_set("display_errors", 0); $str strtolower( $_GET["keyword"]); $str2str_replace…

网络请求--http请求学习详解

写在前面&#xff1a; 文章目录 http简介http报文格式请求样例响应样例 起始头格式 常见请求方法GETPOSTRESTful风格 头部字段Content-Type Https http简介 http&#xff1a;超文本传输协议 是一种无状态&#xff0c;无连接&#xff0c;以应答式的协议&#xff0c;可使用扩展…

如何生成小程序太阳码

近期在小程序管理后台发现了生成太阳码的工具&#xff0c;以此来记录下。 登录微信公众平台&#xff08;https://mp.weixin.qq.com/&#xff09; 菜单栏工具->生成小程序码 输入页面路径->点击确定->右击保存太阳码 注意&#xff1a; 生成的页面路径必须是已发布的&am…

小故事-太阳和月亮

更多文章请关注公众号&#xff1a;程序员中的故事大王。 公众号原文链接&#xff1a;小故事-太阳和月亮 小故事&#xff1a;月亮知道自己不会发光&#xff0c;它的光芒都来自于太阳。每次清晨和黄昏&#xff0c;月亮都会和太阳进行交接。终于有一天交接的时候&#xff0c;月亮…

学生用台灯什么光对眼睛好?分享暖白光的学生护眼台灯

如今市面上的台灯种类众多&#xff0c;很多台灯看外表看不出区别&#xff0c;但是价格上相差悬殊&#xff0c;很多人在书房还会放个台灯在桌面上补充光线&#xff0c;那么什么光对眼睛好呢&#xff1f;当然是台灯的灯光和自然光相近比较好的&#xff0c;选择暖白光最好&#xf…

关于太阳的13个小知识

太阳是万物生长的基础&#xff0c;没有太阳&#xff0c;地球上就不会有生命。太阳每天都跟我们见面&#xff0c;那么大家对太阳了解多少呢&#xff1f;以下是美国国家航空和宇宙航行局所提供的关于太阳的照片。其中包含的13个关于太阳的知识点&#xff0c;大家以前都了解过吗&a…

小小的太阳

我在大雨刚停的夜晚一个人游荡经过一个又一个橱窗只想等天亮面对就要失去的爱情有一点释怀有一点彷徨最怕的其实是孤单你像一个小小的太阳有一种温暖总是让我将要冰冷的心有地方取暖我是多么习惯的向你要一点友善和许多依赖修补我脆弱的情感你总是微笑如花总是看我沈醉和绝望我…