目录

Zhao J., Mathieu M. & LeCun Y. Energy-based generative adversarial networks. ICLR, 2017.

基于能量的一个解释.

主要内容

本文采用了与GAN不同的损失, 判别器\(D\)和生成器\(G\)分别最小化下面的损失:

\[\mathcal{L}_D (x, z) = D(x) + [m-D(G(z))]^+ \\
\mathcal{L}_G(z) = D(G(z))
\]

需要注意的是, 这里的判别器\(D\)的输出已经不是普通GAN中判别器的真假概率了, 而是能量, 能量越低,即\(D(x)\)越小, 越真.

用\(V(G, D)= \int_{x, z} \mathcal{L}_D(x, z) p_{data}(x) p_g(z) \mathrm{d}x\mathrm{d}z\), 用\(U(G,D) = \int_{z} \mathcal{L}_G(z) p_g(z)\mathrm{d}z\), 考虑如下纳什均衡

\[V(G^*, D^*) \le V(G^*, D), \quad \forall D \\
U(G^*, D^*) \le U(G, D^*), \quad \forall G.
\]

第一个需要考虑的问题是, 这样的纳什均衡解会有什么好的性质呢?

定理1: \((G^*, D^*)\)为纳什均衡解, 则\(p_{G^*}=p_{data}, \: a.e.\), \(V(G^*, D^*)=m\).

proof:

\[V(G, D) = \int_{x} D(x) p_{data} (x)\mathrm{d}x + \int_z [m-D(G(z))]^+ p_G(z) \mathrm{d}z = \int_{x} D(x) p_{data} (x)\mathrm{d}x + \int_x [m-D(x)]^+ p_G(x) \mathrm{d}x.
\]

故需要考虑

\[\min \quad D(x) p_{data}(x) + [m-D(x)]^+ p_{G^*}(x),
\]

可得

\[D(x) = \left \{
\begin{array}{ll}
m, & p_{data} < p_{G^*} \\
0, & p_{data} > p_{G^*} \\
[0, m], & else.
\end{array} \right.
\]

所以

\[\begin{array}{ll}
V(G^*, D^*) & = \int_{p_{data} < p_{G^*}} m p_{data}(x) \mathrm{d}x + \int_{p_{data} > p_{G^*}} mp_{G^*}(x)\mathrm{d}x + \int_{p_{data}=p_{G^*}} G^*(x) p_{data}(x) \mathrm{d}x \\
& \le m + m \int_{p_{data} < p_{G^*}} m [p_{data}(x) - p_{G^*}(x)] \mathrm{d}x \le m.
\end{array}
\]

另一方面,

\[U(G,D^*) = \int_x D^*(x) p_{G}(x) \mathrm{d} x \ge \int_{x} D^* (x) p_{G^*}(x) \mathrm{d}x
\]

所以

\[V(G^*, D^*) \ge \int_x (D^*(x) + [m-D^*(x)]^+)p_{G^*}(x) \mathrm{d}x \ge m.
\]

所以\(V(G^*, D^*)=m\), 且\(p_{G^*}=p_{data}, \: a.e.\)

下一个问题是, 这个纳什均衡存在吗, 文中的定理二给出了这个答案, 不过需要一个额外的条件, 这里不多赘述.

文中最后采用的是下面的框架:

即能量函数\(D\)的选择为

\[D(x) = \|Dec(Enc(x)) - x\|.
\]

EBGAN的更多相关文章

  1. Generative Adversarial Nets[EBGAN]

    0. 背景 Junbo Zhao等人提出的"基于能量的GAN"网络,其将判别器视为一个能量函数而不需要明显的概率解释,该函数可以是一个可训练的损失函数.能量函数是将靠近真实数据流形 ...

  2. EB-GAN系(Energy-based GAN)

    学习总结于国立台湾大学 :李宏毅老师 EB-GAN: Energy-based Generative Adversarial Network MA-GAN:MAGAN: Margin Adaptati ...

  3. (转) How to Train a GAN? Tips and tricks to make GANs work

    How to Train a GAN? Tips and tricks to make GANs work 转自:https://github.com/soumith/ganhacks While r ...

  4. Generative Adversarial Nets[BEGAN]

    本文来自<BEGAN: Boundary Equilibrium Generative Adversarial Networks>,时间线为2017年3月.是google的工作. 作者提出 ...

  5. Generative Adversarial Nets[content]

    0. Introduction 基于纳什平衡,零和游戏,最大最小策略等角度来作为GAN的引言 1. GAN GAN开山之作 图1.1 GAN的判别器和生成器的结构图及loss 2. Condition ...

  6. AI人工智能顶级实战工程师 课程大纲

    课程名称    内容    阶段一.人工智能基础 — 高等数学必知必会     1.数据分析    "a. 常数eb. 导数c. 梯度d. Taylore. gini系数f. 信息熵与组合数 ...

  7. TensorFlow练习24: GANs-生成对抗网络 (生成明星脸)

    http://blog.topspeedsnail.com/archives/10977 从2D图片生成3D模型(3D-GAN) https://blog.csdn.net/u014365862/ar ...

  8. (转) GAN应用情况调研

    本文转自: https://mp.weixin.qq.com/s?__biz=MzA5MDMwMTIyNQ==&mid=2649290778&idx=1&sn=9816b862 ...

  9. GANS 资料

    https://blog.csdn.net/a312863063/article/details/83512870 目 录第一章 初步了解GANs 3 1. 生成模型与判别模型. 3 2. 对抗网络思 ...

随机推荐

  1. java9 模块化 jigsaw

    java9并没有在语言层面做出很多改变,而是致力于一些新特性,如模块化,其核心就是解决历史遗留问题,为以后的jar包森林理清道路.模块化是一个很大的命题,就不讲那么细致了,关于java9的特性也有很多 ...

  2. Set、Map、WeakSet 和 WeakMap 的区别

    先总结: Set1.  成员不能重复2. 只有健值,没有健名,有点类似数组.3. 可以遍历,方法有add, delete,hasweakSet 1. 成员都是对象 2. 成员都是弱引用,随时可以消失. ...

  3. 关于浏览器,从输入URL到呈现页面过程!(主讲TCP/IP协议)

    一.文本对话--从请求到响应 我们在浏览器中输入一个 URL,回车之后便会在浏览器中观察到页面内容.实际上这个过程是: (1)浏览器向网站所在的服务器发送了一个 Request(请求) (2)网站服务 ...

  4. 【Swift】CoreData的使用

    CoreData只是iOS数据持久化的其中一个方法,所有数据持久化如下 1.plist文件(属性列表),通常用于储存用户设置,也zhi可以用于存储捆绑的信息: 2.preference(偏好设置),常 ...

  5. [学习总结]5、Android的ViewGroup中事件的传递机制(二)

    下面是第一篇的连接 Android的ViewGroup中事件的传递机制(一) 关于onInterceptTouchEvent和onTouchEvent的详细解释. 1 public class Mai ...

  6. ReactiveCocoa操作方法-秩序

    doNext:      执行Next之前,会先执行这个Block doCompleted:      执行sendCompleted之前,会先执行这个Block - (void)doNext { [ ...

  7. 【力扣】剑指 Offer 50. 第一个只出现一次的字符

    在字符串 s 中找出第一个只出现一次的字符.如果没有,返回一个单空格. s 只包含小写字母. 示例: s = "abaccdeff"返回 "b" s = &qu ...

  8. Salesforce LWC学习(三十七) Promise解决progress-indicator的小问题

    本篇参考:https://developer.salesforce.com/docs/component-library/bundle/lightning-progress-indicator/exa ...

  9. DMA(Data Migration Assistant)迁移SQLServer数据库

    DMA适用于 本地SQLServer向Azure SQL Database迁移 两台不同的数据库服务器之间迁移 高版本->低版本 或 低版本->高版本 本文以两台不同服务器的低版本(SQL ...

  10. Airtest结合tidevice实现IOS自动化测试

    这篇博文内容,是基于之前的配置而来的.我们可以先回顾一下之前博文,Windows搭建mac黑苹果系统:WebDriverAgent重签名爬坑记 . 今天来分享下如何通过 tidevice实现IOS自动 ...