EBGAN
Zhao J., Mathieu M. & LeCun Y. Energy-based generative adversarial networks. ICLR, 2017.
概
基于能量的一个解释.
主要内容
本文采用了与GAN不同的损失, 判别器\(D\)和生成器\(G\)分别最小化下面的损失:
\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\), 考虑如下纳什均衡
U(G^*, D^*) \le U(G, D^*), \quad \forall G.
\]
第一个需要考虑的问题是, 这样的纳什均衡解会有什么好的性质呢?
定理1: \((G^*, D^*)\)为纳什均衡解, 则\(p_{G^*}=p_{data}, \: a.e.\), \(V(G^*, D^*)=m\).
proof:
\]
故需要考虑
\]
可得
\begin{array}{ll}
m, & p_{data} < p_{G^*} \\
0, & p_{data} > p_{G^*} \\
[0, m], & else.
\end{array} \right.
\]
所以
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}
\]
另一方面,
\]
所以
\]
所以\(V(G^*, D^*)=m\), 且\(p_{G^*}=p_{data}, \: a.e.\)
下一个问题是, 这个纳什均衡存在吗, 文中的定理二给出了这个答案, 不过需要一个额外的条件, 这里不多赘述.
文中最后采用的是下面的框架:
即能量函数\(D\)的选择为
\]
EBGAN的更多相关文章
- Generative Adversarial Nets[EBGAN]
0. 背景 Junbo Zhao等人提出的"基于能量的GAN"网络,其将判别器视为一个能量函数而不需要明显的概率解释,该函数可以是一个可训练的损失函数.能量函数是将靠近真实数据流形 ...
- EB-GAN系(Energy-based GAN)
学习总结于国立台湾大学 :李宏毅老师 EB-GAN: Energy-based Generative Adversarial Network MA-GAN:MAGAN: Margin Adaptati ...
- (转) 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 ...
- Generative Adversarial Nets[BEGAN]
本文来自<BEGAN: Boundary Equilibrium Generative Adversarial Networks>,时间线为2017年3月.是google的工作. 作者提出 ...
- Generative Adversarial Nets[content]
0. Introduction 基于纳什平衡,零和游戏,最大最小策略等角度来作为GAN的引言 1. GAN GAN开山之作 图1.1 GAN的判别器和生成器的结构图及loss 2. Condition ...
- AI人工智能顶级实战工程师 课程大纲
课程名称 内容 阶段一.人工智能基础 — 高等数学必知必会 1.数据分析 "a. 常数eb. 导数c. 梯度d. Taylore. gini系数f. 信息熵与组合数 ...
- TensorFlow练习24: GANs-生成对抗网络 (生成明星脸)
http://blog.topspeedsnail.com/archives/10977 从2D图片生成3D模型(3D-GAN) https://blog.csdn.net/u014365862/ar ...
- (转) GAN应用情况调研
本文转自: https://mp.weixin.qq.com/s?__biz=MzA5MDMwMTIyNQ==&mid=2649290778&idx=1&sn=9816b862 ...
- GANS 资料
https://blog.csdn.net/a312863063/article/details/83512870 目 录第一章 初步了解GANs 3 1. 生成模型与判别模型. 3 2. 对抗网络思 ...
随机推荐
- Spark基础:(五)Spark编程进阶
共享变量 (1)累加器:是用来对信息进行聚合的,同时也是Spark中提供的一种分布式的变量机制,其原理类似于mapreduce,即分布式的改变,然后聚合这些改变.累加器的一个常见用途是在调试时对作业执 ...
- 零基础学习java------day19-------定时器,线程面试题,Udp,Tcp
0. 定时器 0.1 概述: 定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行,在jaa中,可以通过Timew和TimerTask类来实现定义调度的功能 0.2 Tim ...
- Shell学习(五)—— awk命令详解
一.awk简介 awk是一个非常好用的数据处理工具,相对于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个[字段]处理,因此,awk相当适合处理小型的数据数据处理.awk是一种报 ...
- 基本类型、引用类型NPE异常
1.null是Java中的关键字,像public.static.final.它是大小写敏感的,你不能将null写成Null或NULL,编译器将不能识别它们然后报错. 2.就像每种原始类型都有默认值一样 ...
- new Date()与setDate()参数
New Date()与setDate()参数 相信网上已经有很多关于日期的文章了,这里只是我自己再工作中遇到的问题然后加以总结: new Date() new Date() 一共有六种形式,五种带参数 ...
- 用户信息系统_serviceImpl
package com.hopetesting.service.impl;import com.hopetesting.dao.UserDao;import com.hopetesting.dao.i ...
- java输入/输出流的基本知识
通过流可以读写文件,流是一组有序列的数据序列,以先进先出方式发送信息的通道. 输入/输出流抽象类有两种:InputStream/OutputStream字节输入流和Reader/Writer字符输入流 ...
- 【科研工具】流程图软件Visio Pro 2019 详细安装破解教程
[更新区] 安装教程我下周会在bilibili上传视频,这周事情太多暂时先不弄. [注意] 安装Visio需要和自己的Word版本一样,这里因为我的Word是学校的正版2019(所以学校为什么正版没买 ...
- Django常用的QuerySet操作
在这里我根据是否支持链式调用分类进行介绍 1. 支持链式调用的接口 all 使用频率比较高,相当于SELECT * FROM table 语句,用于查询所有数据. filter 使用频率比较高,根据条 ...
- CF919B Perfect Number 题解
Content 给定一个数字 \(k\),求出第 \(k\) 小的各数位和为 \(10\) 的数. 数据范围:\(1\leqslant k\leqslant 10000\). Solution 这题为 ...