开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):生成对抗网络(一)】
课程地址:https://edu.aliyun.com/course/3112108/lesson/19270
生成对抗网络(一)
内容介绍
一、生成对抗网络定义
二、生成对抗网络结构
三、生成对抗网络工作流程
四、生成对抗网络应用示例
五、生成对抗网络对比
六、了解生成对抗网络的类别及应用场景
七、本节回顾
一、生成对抗网络定义
1.生成对抗网络(Generative Adversarial Network,GAN)
Generative 是生成,Adversarial 是对抗,翻译过来为生成对抗网络
(1) 一种深度学习模型,通过判别模型(discriminative Model)和生成模型(Generative Model)的相互博弈学习,类似于左右互搏,生成接近真实数据的数据分布或对输入数据进行分类;
(2) 近年来复杂分布上无监督学习最具前景的方法之一。
D模型是判别模型,对猫和狗进行分类,判别模型可以判别图片是猫还是狗,生成模型按照某个原则,某种方法生成图形后交给D判断,判断模型和生成模型都在进行学习和进步,通过生成对抗网络之后可以得到一个生成模型,可以以假乱真,生成至最后生成器判别不出来生成的是真的还是假的,判别模型经过不断训练可以有很强的判断能力。
二、生成对抗网络结构
用生成器和判别器训练,对手写识别进行训练,输入的是图像,然后识别,识别手写的1,2,3,4,5,6,7,8,9。
1.生成器
在给定输入数据时,理解输入,生成类似的输出。
生成器是用输入的随机噪声生成一个假的图像(Fake image),他是通过神经网络。上面的训练集是真的图像。
2.判别器
在给定输入数据时,将输入数据正确的分类。
判别器可以判别出是真的还是假的,生成器可以不断地训练,假的由判别器判别是真的假的,这个过程中,生成器和判别器都不断进步,进步到生成器生成的内容判别器不可以判别出真假。
三、生成对抗网络工作流程
1. 初始化生成器和判别器的初始参数
2. 接收真实的样本数据和随机的噪声数据,生成器接收随机的噪声数据,判别器接收样本数据。
3. 收到噪声后,把噪声训练生成 m 个生成样本
4. 判别器D 要区分假的样本和接收到的真的样本
5. 训练判别网络训练k次后,更新一次生成器的参数,生成器再生成样本之后和真实样本之间的差距变小,训练的判别网络的能力会提高。
6. 经过多次迭代后,最终的情况是判别器判别不出来样本是来自于生成器的输出还是真实的输出,最终达到判别的概率大概是0.5。
四、生成对抗网络应用示例
生成对抗网络生成图片:D-dimensional noise vector 是 D 网络,Generator Network是 G 网络,也就是判别器和生成器,用随机噪声数据生成假的图片,随机噪声数据是 D-dimensional noise vector 是一个噪声的向量,生成器生成后由判定器进行判定,判定器先学习真实的数据集(Real images),经过判定器后输出的是预测的标签,然后生成对抗网络开始持续迭代执行,最后生成数据集,这时对于判定器已经是真假难辨了,生成的数据集已经和真实的数据集一样生成不同的手写的数字。这种应用的场景训练时很快,能够达到这种训练效果只需要几分钟就可以看到生成这个网络,G生成器可以很好的生成数据集。