Advertisement

李宏毅机器学习31——GAN(3)

阅读量:

摘要:

这节课学习条件生成下GAN的应用(CGAN)。

基于存在生成条件的情况,条件GAN是一种基于对抗机制的模型,用于实现图像的生成过程.

例如,在生成文字与图片的场景中

随后提出了一个新的判别式架构体系,在处理文字与图像匹配问题时,将这两者分别进行评估分析,并且将其与图像的真实性判断分离开来。这种设计的主要优势在于,在系统运行过程中发现评分结果较低时,能够迅速定位并解析导致问题的根本原因。

讲述了两种处理图像的方法;stack GAN的工作原理是先生成小尺寸的图像,并将这些小图像拼接起来形成一个较大的图像。

patch GAN则是利用多张判别器网络对同一张图片进行识别操作,在提升计算速度的同时也提高了准确性。

最后列举了多种应用场景,并涉及图片到图片的生成、语音增强以及视频预测等技术。这些应用场景的根本原理与之前生成图片的方法基本一致,在具体实施方式上存在些许不同

目录

1.text-to-image

2.设计discriminator的架构

3.实际应用

4.stack GAN

5.image-to-image

6.patch GAN

7.speech enhancement

8.video generation

总结:


什么是Condition generation by GAN

简单来说,就是输入文字,输出对应的图片,也就是操控输出的结果。

1.text-to-image

传统的监督学习方法,整个流程如下图所示,但是这样做会遇到一些问题,

设输入数据为若干张火车图像序列,并采用监督学习方法进行特征提取;所得结果呈现模糊性现象的主要原因是由于最终输出为多个不同方向火车图像取平均值所致。

这就需要用到GAN的技术。

在条件GAN中,生成器通过接受一组服从正态分布的采样z以及与之对应的文本信息c来生成图像x。当判别器处理输入x时,在训练过程中将根据其质量给出分数评价。具体而言,在真实图像的情况下会给出1分,在生成图像的情况下则给出0分。

也存在一些问题,在提高判别器的输出分数方面存在挑战。生成器可能会倾向于生成尽可能接近真实的结果,并忽略了输入内容的影响。

改进的方法就是让判别器不只看生成器的输出,还要看生成器的输入。

这样做的话,评分标准也要改变。

输入的文字和图片对应时,要给高分。

当产生差的图片,或者图片和文字不对应时,都要给低分。

这就是整个算法流程,分别是训练判别器和生成器的过程

X和c表示一对文字和图片。

2.设计discriminator的架构

上半部分就是之前讲的架构

下边是李老师在几篇论文中发现的新的架构

在下边所述的方法中,请首先将图片x输入到网络1以验证其真实性。接着,在将网络1的输出与条件c相结合后,将其输入至网络2以便对数据进行评估。

通过这种途径,我们获得了两个评分指标。其中一项评分指标用于评估图像的真实性;另一个评分指标则衡量了文本与图像的一致性。

这样,如果判别式得到低分,我们就可以知道问题出现在哪里了。

3.实际应用

以下是学生提交的作业样本。其中输入文本为'红头发绿眼睛'的情况下,系统会自动生成一张完全符合要求的画面

4.stack GAN

原理就是先产生小图片,再产生大图片。

大致流程如下:首先利用Generator1对输入的文字描述进行处理,并生成一个分辨率64×64的小尺寸图像;随后将该小图像输入到第一个判别器Discriminator1中进行图像与文字的匹配度判断;若匹配成功,则系统会自动触发Generator2的运行;在Generator2中结合上一步骤得到的小尺寸图像与时间参数φt后会输出一个大尺寸的图片;最后将该大尺寸图像送入第二个判别器Discriminator2进行最终的大规模图像与文字内容的一致性验证。

5.image-to-image

这回举的例子是把图片转换成图片

将几何图片转换成真实大楼。

基于之前的方法,在同一时间段内让生成器接收图片以及服从normal distribution z的数据,并生成output image;接着将output image与原始图片一起传递给判别器以判断其真实性。

这样产生的图片就会清晰很多。但是也会有一些杂讯(图片的右上角)

针对上述问题而言,在生成的图像与真实图像之间进行交叉熵损失计算后生成的图像将既具有真实性又接近目标图像

6.patch GAN

基于一个判别器进行评估整幅图像时会遇到诸多挑战:当参数数量庞大时容易导致过拟合现象,并且耗时较长。

因此可以使得每个Discriminator检查各自指定区域的一小块图像,并判断其质量好坏。在选择判别器检查区域大小时,则涉及一个需要调节的关键参数。

7.speech enhancement

语音增强,也就是降噪

传统方法:基于一些原始声音样本,在这些样本上叠加人工添加的噪音后进行深度学习训练以构建一个深度生成模型。随后将经过人工处理的带噪样本输入到模型中进行训练,并使该模型能够输出经过学习处理后的干净语音片段。其中原始的未处理声音样本将被用作模型的训练目标。

Conditional GAN

除了单独训练生成器外,在实际操作中还需要对判别器进行同步训练。具体而言,在训练判别器时其接收的数据不仅包括生成器的输入内容还包括其经过处理后的输出结果。为了确保模型的整体效果我们还需要对生成部分进行最终验证以验证生成内容与预期结果的一致性

8.video generation

给生成器看一段图片,让其产生接下来发生的图片。

同样的道理,在训练生成器的过程中,还需同步训练判别机;判别机接收来自生成机的输出作为其输入

用判别器来检测生成器前后是否合理。

总结:

在经典的GAN架构中,生成器网络G成功掌握了训练数据所呈现的数据分布特性,在这一过程中所生成的具体图像结果呈现出高度的随机性特征。这表明该生成器G在整个训练过程中缺乏任何特定的目标引导,在完成训练任务后所呈现出的结果更多地依赖于输入噪声和随机采样机制。值得注意的是,在实际应用中观察到的现象是:尽管通过使用MNIST数据集进行训练后确实能够产生数字图像样本(这些样本确实包含数字信息),但并未能实现对具体数字类别的精准预测或明确分类。

通过本次课程学习的CGAN模型,在结构设计上增添了一层额外的条件层,并以指导生成器G进行图像或数据样本的合成作为其主要目标。

全部评论 (0)

还没有任何评论哟~