当前位置:网站首页>生成对抗网络GAN:Generative Adversarial Networks
生成对抗网络GAN:Generative Adversarial Networks
2022-08-09 07:09:00 【代码的路】
1 原理
对于生成对抗网络GAN,一个简单的理解是可以将其看做博弈的过程,我们可以将生成模型和判别模型看作博弈的双方,比如在犯罪分子造假币和警察识别假币的过程中:
- 生成模型G相当于制造假币的一方,其目的是根据看到的钱币情况和警察的识别技术,去尽量生成更加真实的、警察识别不出的假币。
- 判别模型D相当于识别假币的一方,其目的是尽可能的识别出犯罪分子制造的假币。 这样通过造假者和识假者双方的较量和朝目的的改进,使得最后能达到生成模型能尽可能真的钱币、识假者判断不出真假的纳什均衡效果(真假币概率都为0.5)。
2 训练
生成器G的目标是欺骗鉴别器D,其目标是能够区分真实数据和生成数据。因此,在训练生成器时,我们希望误差最大化,同时我们想要使鉴别器的误差最小化。
2.1 判别模型
目标函数是:
其中D(x)是判别模型的输出结果,是一个0-1范围内的实数值,用来判断图片是真实图片的概率,其中Pr和Pg分别代表真实图像的分布与生成图像的数据分布情况,可以看出目标函数是找到使得后面两个式子之和最大的判别模型函数D(z),后面两个式子是一个加和形式,其中:
是指使得真实数据放入到判别模型D(x)输出的计算值和整个式子值尽可能大。
是指使得造假数据放入到判别模型D(x)输出的计算值尽可能小和整个式子值尽可能大。
这样整合下来就是使得目标函数尽可能大,因此在训练时就可以根据目标函数进行梯度提升。
2.2 生成模型
目标是让判别模型无法区分真实图片和生成图片,其目标函数是:
也就是找到生成函数g(z)使得生成模型的目标函数尽量小。
学习更多编程知识,请关注我的公众号:
边栏推荐
猜你喜欢
力扣 636. 函数的独占时间
高项 03 项目立项管理
The working principle of the transformer (illustration, schematic explanation, understand at a glance)
Tkinter可以选择的颜色
Important news丨.NET Core 3.1 will end support on December 13 this year
找不到和chrome浏览器版本不同的chromedriver的解决方法
【模板】树链剖分 P3384
数据库索引原理
stm32定时器之简单封装
用tensorflow.keras模块化搭建神经网络模型
随机推荐
The Integer thread safe
多米诺骨牌
SAP ALV 数据导出被截断的bug
Distributed id generator implementation
Codeforces Round #359 (Div. 2) C. Robbers' watch 暴力枚举
常用测试用例设计方法之正交实验法详解
DSP+ARM+FPGA高速PCIE/千兆网口信号仿真介绍
长沙学院2022暑假训练赛(一)六级阅读
灵活好用的sql monitoring 脚本 part7
找不到和chrome浏览器版本不同的chromedriver的解决方法
mysql summary
Sklearn data preprocessing
View log common commands
当酷雷曼VR直播遇上视频号,会摩擦出怎样的火花?
虚拟机网卡报错:Bringing up interface eth0: Error: No suitable device found: no device found for connection
Zero shift of leetcode
Use tensorflow.keras to build a neural network model modularly
浅识微服务架构
Lottie系列四:使用建议
Built-in macros in C language (define log macros)