生成的对抗网络(GANS)是一种用于产生合成图像的深神经网络。该架构包括两个深神经网络,发电机和鉴别器,其彼此相互作用(因此,“逆势”)。生成器生成新的数据实例,而鉴别器评估用于真实性的数据,并决定每个数据实例是否是来自训练数据集的“真实”,或者来自发电机的“假”。

在一起,发电机和鉴别器训练以彼此相互作用,直到发电机能够创建鉴别者无法再确定的鉴别者可以创建逼真的合成数据。成功培训后,发电机产生的数据可用于创建新的合成数据,以便潜在用作输入到其他深神经网络的输入。

GAN是通用的,因为他们可以学习生成任何数据类型的新实例,例如面孔的合成图像,某种风格的新歌曲,或特定类型的文本。

训练甘

使用创建金钱的合成图像的示例,让我们走过GaN架构的特定部分和功能。

  1. 噪音被送入发电机。由于发电机尚未训练,因此输出在开始时看起来像噪声。
  1. 训练数据和发电机的输出被发送到鉴别器,该判别器正在培训以识别真实/假图像。随着网络的这一部分也在接受训练和准确度随着时间的推移,鉴别器的输出将不是非常准确的。
  1. 反馈:可以向发电机和鉴别器馈送鉴别器的输出,可以使用此信息来更新参数并尝试提高准确性。

当从真实数据集显示实例时,鉴别器的目标是识别那些正宗的那些图像。同时,发电机正在创建它传递给鉴别器的新的合成图像。它确实希望他们也将被视为真实的,即使他们是假的。发电机的目标是生成可通过图像:谎言而不被捕获。鉴别者的目标是识别来自发电机的图像是假的。

马铃薯®深度学习工具箱™让您使用自动差异构建GAN网络架构,定制培训循环和共享权重。

生成对抗网络的应用

手写生成:与图像示例一样,GAN用于创建合成数据。这可用于补充需要更多数据示例的较小数据集以培训准确的深度学习模型。一个示例是手写检测:为了训练在手写的深度神经网络上,需要数千个样本的训练数据,并且手动收集这些数据可能是延时的。

使用GANS的合成手写生成。

现场生成:有条件的GAN是一种特定类型的GaN利用标签,而原来的GaN不承担标签将存在。条件GAN可用于场景生成的应用程序,其中必须有特定组织信息。借鉴自动驾驶的场景生成的例子。道路和人行道必须位于建筑物和天空下方。为此示例创建的合成图像,该图像不会粘附在道路的位置,立即被确定为自动驾驶应用中的假和无法使用。

使用条件GAN的图像到图像转换(PIX2PIX)。

音频和语音应用:GANS也用于文本到语音合成,语音转换和语音增强等应用。GANS在传统的音频和语音实现中提供了显着的优势,因为它们可以生成新的样本而不是简单地增强现有信号。其中GAN用于声音合成的一个例子是创建滚筒的合成版本:火车生成对抗网络(GAN)用于声音合成

注意:GAN可以强大在为许多应用程序中使用新的合成数据,但由于可能发生的许多故障模式,在准确的结果中往往挑战。matlab让你监控GaN培训进度并确定常见的失败模式