生成的对抗网络(GANS)

生成对抗网络(甘斯)是用于生成合成图像的深型神经网络。该体系结构包括两个深神经网络,一个发生器和一个鉴别器,它的工作彼此(因此,“对抗”)。该生成器生成新的数据实例,而鉴别评估数据的真实性,并决定数据的每个实例是否是从训练数据集,或从发电机“假”的“真实”。

总之,发电机和鉴别进行培训,工作相互直到发电机能够创建逼真的合成数据的鉴别不能确定是假的。成功的训练结束后,由发生器产生的数据可以用来创建新的合成数据,作为输入到其他深神经网络的潜在用途。

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

训练一个甘

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

  1. 噪声输入发电机。由于发电机还没有经过训练,输出在一开始看起来就像噪音。
  1. 训练数据和发生器的输出被发送到鉴频器,鉴频器正在被并行训练,以识别真实/虚假图像。鉴别器在开始时的输出将不是非常准确,因为这部分网络也在训练中,准确性将随着时间的推移而提高。
  1. 反馈:鉴频器的输出可以反馈给生成器和鉴频器,生成器和鉴频器可以利用这些信息更新参数,尝试提高精度。

当显示真实数据集的实例时,鉴别器的目标是识别那些真实的图像。与此同时,生成器正在生成新的合成图像,并将其传递给鉴别器。它这样做是希望它们也会被认为是真实的,即使它们是假的。生成器的目标是生成可通过的图像:说谎而不被抓住。鉴别器的目标是识别来自发生器的图像是假的。

MATLAB®深度学习工具箱™让你建立一个使用自动分化甘斯的网络架构,定制培训圈,共享重量。

创成对抗性网络及其应用

笔迹代:与图像示例一样,gan用于创建合成数据。这可以用来补充更小的数据集,这些数据集需要更多的数据示例,以训练准确的深度学习模型。一个例子是笔迹检测:为了在笔迹上训练一个深度神经网络,需要成千上万的训练数据样本,而手工收集这些数据可能是时间密集型的。

使用gan合成手写生成。

场景一代:条件GAN是一种利用标签的特定类型的GAN,而原始GAN不假设标签将会出现。条件gan可用于场景生成等应用程序中,其中信息必须有一定的组织。以自动驾驶场景生成为例。道路和人行道必须位于建筑物和天空之下。在自动驾驶应用程序中,为本例创建的合成图像如果不符合道路的位置,将立即被判定为虚假和不可使用。

使用条件甘斯图像到图像的转换(pix2pix)。

音频和语音应用gan还用于文本到语音合成、语音转换和语音增强等应用。gan提供了与传统音频和语音实现相比的显著优势,因为它们可以生成新的样本,而不是简单地增加现有信号。gan用于声音合成的一个例子是创建合成版本的鼓声:训练生成对抗网络(GAN)进行声音合成

注意:gan可以强大地生成用于许多应用的新的合成数据,但由于可能发生许多故障模式,通常很难得到准确的结果。MATLAB可以让你监控GAN培训进度,识别常见故障模式