机器学习李宏毅学习笔记15

文章介绍了生成式对抗网络(GAN)的基本原理,特别是训练过程。通过正态分布生成样本,Generator试图产生接近真实数据分布(Pdata)的新分布(PG),而Discriminator则作为一个分类器,区分来自真实数据和Generator的样本,以最小化两分布的差异。训练目标是找到使PG和Pdata的散度最小的Generator参数,而Discriminator的优化目标则与该散度有关。
摘要由CSDN通过智能技术生成


前言

生成式对抗网络(二)


理论介绍(训练)

正态分布简化出的向量,给generator之后,会产生复杂的分布(PG),真正的分布(Pdata),期待PG和Pdata越接近越好。
用一维理解一下:假设输入是一个一维向量,generator的输出也是一个一维向量,真正的data也是一维向量。一维向量通过generator,会产生一个新的分布。
在这里插入图片描述
Divergence表示两个分布之间的距离,divergence越大,表示这两个分布越不像,越小表示越相近。找一组generator的参数,让PG和Pdata之间的divergence尽可能小。这个就像训练一个模型一样,不过loss可以计算,但是divergence如何计算就是一个问题。但是GAN告诉我们,只要能从PG和Pdata中sample东西,就有办法算divergence。从图库中随机sample出一些图片,就是Pdata。从正态分布中sample一些向量给generator,产生的图片就是从PG sample出来的。
在这里插入图片描述
如何计算divergence就要靠discriminator,根据从Pdata和PG中sample出来的数据,训练discriminator。看到Pdata的给比较高的分数,看到PG的给比较低的分数。
在这里插入图片描述
希望从Pdata中sample出来的y,把y丢到D里面在取log。把从PG里面sample出来的y,用1-y并取log。希望这个objective function V越大越好,意味着y从pdata出来的越大越好,反之,从PG出来的越小越好。
当训练一个classifier的时候要minimize cross entropy。而这个D*相当于是cross entropy取负号。Discriminator可以当做是一个classifier把从Pdata sample出来的当做class1,从PG的当做class2。
在这里插入图片描述
本来的目标是找一个generator使PG和Pdata的divergence尽可能小,卡在不知道怎么计算divergence。
在这里插入图片描述
现在只要训练一个discriminator,这个objective function的最大值就跟这个divergence有关。
在这里插入图片描述
所以可以把divergence替换掉。
在这里插入图片描述


总结

学习视频地址:https://www.bilibili.com/video/BV13Z4y1P7D7/?p=15&spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=3a369b537e1d34ff9ba8f8ab23afedec

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值