生成式对抗网络GAN模型搭建

本文详细介绍了生成式对抗网络(GAN)的基本原理,特别是对KL散度进行了深入理解,并使用PyTorch搭建了GAN模型。从模块导入到数据预处理,再到Discriminator和Generator的实现,以及损失函数和优化器的选择,最后展示了训练过程。文章适合对计算机视觉和深度学习感兴趣的读者。
摘要由CSDN通过智能技术生成

目录

一、理论部分

1、GAN基本原理介绍

参见另一篇博文:生成式对抗网络(Generative Adversarial Nets,GAN)

2、对KL散度的理解

  • 基本原理:KL散度
  • 在GAN中为何需要使用KL散度?
    假设我们现在知道样本的真实分布 p d a t a ( x ) p_{data}(x) pdata(x)和由生成器生成的数据的分布 p g ( x ; θ ) p_{g}(x; \theta) pg(x;θ)。GAN的目标是得到一个能生成尽可能逼真的图片的生成器G,因此,我们希望 p d a t a ( x ) p_{data}(x) pdata(x) p g ( x ; θ ) p_{g}(x; \theta) pg(x;θ)之间的差距越小越好。
    那么,如何训练G,优化参数 θ \theta θ,使得 p d a t a ( x ) p_{data}(x) pdata(x) p g ( x ; θ ) p_{g}(x; \theta) pg(x;θ)之间的差距缩小呢?
    现在我们可以从训练集抽取一组真实图片来训练 p g ( x ; θ ) p_{g}(x; \theta) pg(x;θ)分布中的参数 θ \theta θ使其能逼近于真实分布。因此,现在从 p d a t a ( x ) p_{data}(x) pdata(x)中抽取 m 个真实样本 { x 1 x^{1} x1, x 2 x^{2} x2, x 3 x^
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值