程序员学长 | 快速学习一个算法,GAN

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。

原文链接:快速学习一个算法,GAN

GAN 如何工作?

GAN 由两个部分组成:生成器(Generator)和判别器(Discriminator)。这两个部分通过一种对抗的过程来相互改进和优化。

c03159492fff41b799068bb5cf88bd59.png

生成器(Generator)

生成器的任务是接收一个随机噪声向量,并将其转换为看起来尽可能真实的数据。它通常使用一个深度神经网络来实现,从随机噪声中生成类似于训练数据的样本。

生成器的目标是生成的样本能够骗过判别器,使判别器认为生成的数据是真实的。

判别器(Discriminator)

判别器是一个二分类模型,它的任务是区分真实数据和生成器生成的假数据。

判别器接收一个数据样本,并输出一个概率值,表示该样本是真实数据的概率。

判别器的目标是尽可能准确地将真实数据与生成数据区分开来。

对抗过程

GAN 的训练过程可以被看作是生成器和判别器之间的博弈。具体来说,生成器试图生成逼真的数据以欺骗判别器,而判别器则试图更好地识别生成的假数据

这个过程可以描述为一个最小最大化的优化问题。

4c8b68b8b9184d9092ffda2498ba9173.png

鉴别器 D 想要最大化目标函数,使得 D(x) 接近于 1,D(G(z)) 接近于 0。这意味着鉴别器应该将训练集中的所有图像识别为真实 (1),将所有生成的图像识别为假 (0)。

生成器 (G) 想要最小化目标函数,使得 D(G(z)) 为 1。这意味着生成器试图生成被鉴别器网络分类为 1 的图像。

训练步骤

  1. 初始化生成器和判别器的参数

  2. 判别器训练

    • 从真实数据集中采样一个 mini-batch 的真实数据。

    • 从生成器的噪声分布中采样一个 mini-batch 的噪声,并生成假数据。

    • 更新判别器的参数,使其能够更好地区分真实数据和生成数据。

      f6487b7759c24cf9aa3570065e6f957b.png

  3. <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值