GANs 理解及简单实现手写数字生成(tensorflow)

本文介绍了GANs的基本原理,展示了如何使用TensorFlow训练一个简单的无条件GANs,以生成MNIST数据集的手写数字。文章详细阐述了生成网络和鉴别网络的设计、损失函数与优化器的选择,以及训练过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GANs简介

GANs全称 Generative Adversarial Nets(生成对抗网络),于2014年由 Ian Goodfellow 提出。生成对抗网络分成两个部分:生成网络(Generator Neural Network)和鉴别网络(Discriminator Neural Network)。直观的说生成网络(Generator Neural Network)和鉴别网络(Discriminator Neural Network)的关系可以理解为造假的和打假的关系,生成网络负责生成'假货',而鉴别网络负责'打假',分辨哪些是'真货'(真实数据)哪些是生成网络生成的'假货'。在训练过程中,生成网络尽量生成与'真货'(真实数据)一样的'假货',用来骗过鉴别网络,鉴别网络则尽可能分辨哪些是'真货'(真实数据)哪些是生成网络生成的'假货',生成网络与鉴别网络在这样的一轮轮类似于二人博弈的对抗中成长,最终两者达到一种动态均衡,生成网络生成的'假货'以假乱真,与真货再无区别,鉴别网络无法分辨。

 

详细请看:

[1406.2661] Generative Adversarial Networks

GANs 是怎么训练的

GANs的整个网络结构是这样的:

 

 

(ps:图片网上找的,侵删)

上图中的生成网络其实就是一个简单的神经网络,输入一串随机数,输出一张图片。而鉴别网络则是一个二元分类神经网络,输入一张图片,输出图片来自真实数据集的概率。

训练过程:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值