生成式对抗网络(GAN)是一种基于深度神经网络的生成式模型。你可能听说过它是人工创作的肖像画《埃德蒙-德-贝拉米》背后的算法,这幅画在2018年以43.25万美元售出。除了其艺术能力,GANs是生成与真实数据集无异的人工数据集的强大工具。
GANs是如何用于创建合成数据的?
像其他生成模型一样,GANs旨在学习训练数据集的分布,以生成新的(合成)数据实例。
一个GAN模型由两个子模型组成:
- 生成器部分从随机输入生成新的数据实例。
- 鉴别器部分在真实数据和假数据(来自生成器)上进行训练。然后,它评估输入数据是真的还是假的。
这两个子模型相互作用:鉴别器学习如何更好地区分生成的假数据和真数据,而生成器学习如何生成更真实的数据点。这个过程一直持续到生成器能够创造出辨别器无法从真实数据中区分的数据实例。
GAN结构(Source: Mathworks)
用GANs可以生成哪些类型的合成数据?
GANs在其可处理的数据类型方面是相当通用的:
- Images: Realistic images of faces, objects, handwriting, etc. Here’s a tweet from the inventor of GANs on how their face generating capabilities improved over time:
- 图像:人脸、物体、笔迹等的真实图像。下面是GANs的发明者发来的一条推特,介绍了他们的人脸生成能力是如何随着时间的推移而提高的:
4.5年的GAN在人脸生成方面的进展。
https://t.co/kiQkuYULMC
https://t.co/S4aBsU536b
https://t.co/8di6K6BxVC
https://t.co/UEFhewds2M
https://t.co/s6hKQz9gLz
pic.twitter.com/F9Dkcfrq8l
— Ian Goodfellow (@goodfellow_ian) January 15, 2019 - 视频
- 音频
- 表格式数据
- 时间序列:合成有说服力的时间序列数据是具有挑战性的,因为模型应该产生取决于许多其他过去数据点的数据点。
在创建合成数据方面,GANs有哪些替代方案?
GANs不是唯一基于深度学习的生成模型。其他类型的生成模型包括:
- 变异自动编码器: 变异自动编码器是一种无监督的深度学习模型,它将输入数据转换为包含输入数据属性的概率分布的编码向量。然后,它对这些分布进行解码以创建新的数据。
- 深度自回归模型: 深度自回归模型是连续数据的生成性监督模型。它们通过将过去的数据值作为模型输入来生成新的数据点。