GAN:生成对抗网络 Generative Adversarial Networks

简介: GAN:生成对抗网络 Generative Adversarial Networks

1 原理

对于生成对抗网络GAN,一个简单的理解是可以将其看做博弈的过程,我们可以将生成模型和判别模型看作博弈的双方,比如在犯罪分子造假币和警察识别假币的过程中:

  • 生成模型G相当于制造假币的一方,其目的是根据看到的钱币情况和警察的识别技术,去尽量生成更加真实的、警察识别不出的假币。
  • 判别模型D相当于识别假币的一方,其目的是尽可能的识别出犯罪分子制造的假币。 这样通过造假者和识假者双方的较量和朝目的的改进,使得最后能达到生成模型能尽可能真的钱币、识假者判断不出真假的纳什均衡效果(真假币概率都为0.5)。

2 训练

生成器G的目标是欺骗鉴别器D,其目标是能够区分真实数据和生成数据。因此,在训练生成器时,我们希望误差最大化,同时我们想要使鉴别器的误差最小化。

2.1 判别模型

目标函数是:

$$ max_D E_{x-p_r} [logD(x)]+E_{z-p_g } [log(1-D(x))] $$

其中D(x)是判别模型的输出结果,是一个0-1范围内的实数值,用来判断图片是真实图片的概率,其中Pr和Pg分别代表真实图像的分布与生成图像的数据分布情况,可以看出目标函数是找到使得后面两个式子之和最大的判别模型函数D(z),后面两个式子是一个加和形式,其中:

$$ E_{x-p_r} [logD(x)] $$

是指使得真实数据放入到判别模型D(x)输出的计算值和整个式子值尽可能大。

$$ E_{z-p_g } [log(1-D(x))] $$

指使得造假数据放入到判别模型D(x)输出的计算值尽可能小和整个式子值尽可能大。

这样整合下来就是使得目标函数尽可能大,因此在训练时就可以根据目标函数进行梯度提升。

2.2 生成模型

目标是让判别模型无法区分真实图片和生成图片,其目标函数是:

$$ min_g (max_D E_{x-p_r} [logD(x)]+E_{z-p_g } [log(1-D(x))]) $$

也就是找到生成函数g(z)使得生成模型的目标函数尽量小。

学习更多编程知识,请关注我的公众号:

代码的路

相关文章
|
1月前
|
机器学习/深度学习 算法 PyTorch
RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)
RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)
232 1
|
机器学习/深度学习 存储
Exploring the Regularity of Sparse Structure in Convolutional Neural Networks(在卷积神经网络中探索稀疏结构的规律性)
作者提出 基于论文Learning both weights and connections for efficient neural network修剪的方法在保留精度以及实现更高的压缩率方面确实很好。但是,这种改进是以稀疏计算模式的不规则性为代价的。 另一方面结构化的剪枝(例如修剪掉整个过滤器),但是比修剪单个权重会引起更大的精度损失。
116 0
Exploring the Regularity of Sparse Structure in Convolutional Neural Networks(在卷积神经网络中探索稀疏结构的规律性)
|
存储 机器学习/深度学习 自然语言处理
Text to image论文精读 DM-GAN: Dynamic Memory Generative Adversarial Networks for t2i 用于文本图像合成的动态记忆生成对抗网络
这篇文章提出了动态记忆生成对抗网络(DM-GAN)来生成高质量的图像。该方法可以在初始图像生成不好时,引入动态存储模块来细化模糊图像内容,从而能够从文本描述中更加准确地生成图像。 文章被2019年CVPR(IEEE Conference on Computer Vision and Pattern Recognition)会议收录。 论文地址: https://arxiv.org/abs/1904.01310?context=cs 代码地址: https://github.com/MinfengZhu/DM-GAN
Text to image论文精读 DM-GAN: Dynamic Memory Generative Adversarial Networks for t2i 用于文本图像合成的动态记忆生成对抗网络
|
算法 数据挖掘
RPN:Region Proposal Networks (区域候选网络)
RPN:Region Proposal Networks (区域候选网络)
186 2
RPN:Region Proposal Networks (区域候选网络)
|
机器学习/深度学习 数据建模
2_Recurrent Neural Networks (RNNs)循环神经网络 —Simple RNNs
2_Recurrent Neural Networks (RNNs)循环神经网络 —Simple RNNs
133 0
2_Recurrent Neural Networks (RNNs)循环神经网络 —Simple RNNs
|
云安全 运维 安全
Palo Alto Networks(派拓网络)如何为云安全保驾护航?
Palo Alto Networks(派拓网络)如何为云安全保驾护航? 派拓网络 7月4日 本文转自:计算机世界作者:刘沙 据统计,现在中国的云计算市场已经达到了80亿美金的规模,并且每年还在以40%的速度不断快速增长。
|
机器学习/深度学习 TensorFlow 算法框架/工具
|
机器学习/深度学习 移动开发 算法
用数独游戏来解释循环关系网络(Recurrent Relation Networks)
数独游戏如何用深度学习攻破?RRN是个什么东东?来看看这篇文章吧,了解一下吧。
3224 0