生成网络:GAN与CycleGAN详解
1. 生成对抗网络(GAN)概述
生成对抗网络(GAN)从随机分布中获取样本,然后通过网络将其转换为输出。与其他生成网络不同,GAN在学习输入分布模式时无需监督,也不会显式地学习密度分布。相反,它采用博弈论的方法,寻找两个参与者之间的纳什均衡。一个GAN实现通常包含一个生成网络和一个对抗网络,这两个网络就像两个相互竞争的玩家。GAN的核心思想是从均匀分布或高斯分布等数据分布中采样,并让网络将样本转换为类似于真实数据分布的样本。
2. 简单GAN
- 原理 :从博弈论的角度理解GAN是一种直观的方法。一个GAN由两个玩家组成:生成器和判别器,它们相互竞争。生成器从分布中获取随机噪声,并尝试从中生成输出分布。生成器的目标是创建一个与真实分布难以区分的分布,即生成的假输出看起来像真实图像。
- 判别器 :
- 由于生成器没有明确的训练或标签,无法知道真实图像的样子,因此GAN引入了判别器。判别器的任务是告知生成器其生成的输出不像真实图像,促使生成器改变生成方式,以让判别器相信其为真实图像。
- 判别器的任务可以转化为一个分类任务,将输入图像分类为原始图像或生成图像,这是一个二分类问题。通过训练判别器网络正确分类图像,最终通过反向传播,判别器学会区分真实图像和生成图像。
- 以下是判别器网络的代码实现:
import torch
import
超级会员免费看
订阅专栏 解锁全文
3740

被折叠的 条评论
为什么被折叠?



