《GANs实战》学习笔记(三)第三章 你的第一个GAN模型:生成手写数字

GAN(生成对抗网络)出版了一本实战书,了解下?

第3章 你的第一个GAN模型:生成手写数字

一、GAN的基础:对抗训练

生成器和鉴别器由可微函数表示如神经网络,它们都有自己的代价函数。这两个网络是利用鉴别器的损失进行反向传播训练

鉴别器努力使真实样本输入和伪样本输入带来的损失最小化,而生成器努力使它生成的伪样本造成的鉴别器损失最大化。

生成器的目标是生成符合训练数据集数据分布的样本。训练数据集决定了生成器要学习模拟的样本类型,例如:目标是生成猫的逼真图像,我们就会给GAN一组猫的图像。

生成器和鉴别器只能调整自己的参数而不能相互调整对方的参数,所以GAN的训练过程可以用一个博弈过程来更好地描述,而非优化。

二、生成器和鉴别器

现在通过引入更多的表示概括所学的内容。生成器(G)接收随机噪声向量z并生成一个伪样本x^{x}。数学上来说,G(z)=x^{x}。鉴别器(D)的输入要么是真实样本x,要么是伪样本x^{x};对于每个输入,它输出一个介于0和1之间的值,表示输入是真实样本的概率。

生成器网络G将随机向量z转换为伪样本x^{x}:G(z) = x^{x}

鉴别器网络D对输入样本是否是真实进行分类并输出。

  • 对于真实样本x,鉴别器力求输出尽可能接近1的值;
  • 对于伪样本 x^{x},鉴别器力求输出尽可能接近0的值。

相反:生成器希望D(x^{x})尽可能接近1,这表明鉴别器被欺骗,将伪样本分类为真实样本。

1、对抗的目标 -鉴真与造假

鉴真:鉴别器的目标是尽可能精确。对于真是样本x,D(x)力求尽可能接近1(正的标签);对于伪样本x^{x},D(x^{x})力求尽可能接近0(负的标签)。

造假:生成器的目标正好相反,它试图通过生成与训练数据集中的真实数据别无二致的伪样本x^{x}来欺骗鉴别器。从数学角度讲,即生成器试图生成假样本x^{x},使得D(x^{x})尽可能接近1。

2、混淆矩阵

鉴别器的分类可以用混淆矩阵来表示,混淆矩阵是二元分类中所有可能结果的表格表示。鉴别器的分类结果:真阳性(True Positive)、假阴性(False Negative)、真阴性(True Negative)、假阴性(False Negative)。

三、GAN训练算法

GAN训练算法:对每次训练迭代,执行:

(1)训练鉴别器。

a.取随机的小批量的真实样本x。

b.去随机的小批量的随机噪声z,并生成一小批量伪样本:G(z)=x^{x}

c.计算D(x)和D(x^{x})的分类损失,并反向传播总误差以更新D模型参数来最小化分类损失。

(2)训练生成器。

a.取随机的小批量的随机噪声z生成一小批量伪样本:G(z)=x^{x}

b.用鉴别器网络对

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值