GAN的原理和数学推导

2021 年 5 月 5 日 专知

点击上方【AI人工智能初学者】,选择【星标】公众号

期待您我的相遇与进步

1 简介

我们都知道可以通过最大似然估计的方式来获得一个模型 以用于生成图像,之所以它可以用来生成图像是因为最大似然估计可以获得一个 ,可以让 你和真实数据的分布情况。

上述的最大似然估计的方法虽然可行,但是有比较大的约束,即 模型不能够过于复杂;例如 服从正态分布,那么最大似然估计的方法就可以计算出 ,但如果 是一个非常复杂的分布,那么使用这种方式难以获得一个比较理想的模型。这种强制性的约束会带来各种限制,而我们则是希望 可以拟合任何分布,于是这里便引出了GAN了。

2 生成器拟合分布

在GAN中有2个主要的组成部分,分别是生成器判别器

2.1 生成器

因为通过最大似然估计的方式计算复杂的分布 ,所以GAN的方法就是使用一个神经网络来完成数据分布拟合的事情,而这个神经网络就是生成器,因为神经网络理论上可以拟合任意的分布,所以生成器可以代替最大似然估计来拟合数据的分布。

对于GAN中的生成器而言,它会接收一个随机噪声输入,这个噪声可能来自于正态分布、均匀分布或其他任意分布,经过生成器的转换,输出的数据可以组成一种复杂的分布,最小化这个分布于真实数据分布之间的差异。

对于输入给生成器的数据分布不用太在意,因为生成器是一个复杂的神经网络,它有能力将输入的数据“改造”成各种各样的数据分布。

那么对于生成器而言,它的目标函数为:

即最小化生成分布 与真实数据分布 之间的距离

因为我们无法准确的知道生成分布 与真实分布 的具体的分布情况,所以依旧使用采样的方式来解决这个问题,即从数据集中抽取一个样本,将抽出的样本的分布看成是 的分布。这种做法的思想其实是大数定律,知道2个分布后,就可以通过训练生成器来最小化两个分布之间的差异。

2.2 判别器

通过前面的描述我们可以知道生成器可以最小化生成分布 与真实分布 之间的距离,但是如何定义这个距离呢?即生成器目标函数中的 如何定义呢?

GAN可以通过判别器来定义这两个分布的距离,如下图所示:

使用真实数据与生成数据来训练判别器,训练的目的是让判别器可以分别出哪些是真实数据哪些是生成的数据,即给真实数据打高分,给生成的数据打低分,其公式如下:

对于从真实分布 中抽样的样本 就打高分,即最大化 ;对于从生成分布 中抽样的样本 就打低分,即最大化 ,那么判别器D的目标函数是:

2.3 目标函数

回到一开始的话题,生成器在训练的时候需要先定义生成分布 与真实分布 之间的距离 ,而两个分布之间的距离可以由判别器来进行定义:

从而生成器可以获得新的目标函数公式:

3 GAN的数学推导

通过前面的讨论,我想大家应该已经明白生成器用来拟合真实数据分布,而判别器用来度量真实分布与生成分布之间的距离,接下来就来推导一下

因为在训练生成器之前,先要由两个分布之间距离的定义,所以这里就来推导 ,这里先将判别器的目标函数变换成积分的形式:

因为判别器希望 最大,其实就是要求上式的中间部分最大,即最大,为了简化计算,这里将 记为 ,将 记为 ,将 记为 ,则可以变换为如下的形式:

要找到一个 使得 函数最大,求其导数为0的值即可:

将上式进行简单的简化的变化可以求得:

这里将 替换为原来的值,获得如下的公式:

推导出 ,就可以得到将推导出来的结果代入生成器的目标函数中:

将其变换为积分的形式可以得到如下:

这里做一些简单的变换可以得到:

其实通过上面的推导可以看出来,上面的公式就是JS散度,这里再回忆一下JS散度公式:

通过上式可以看出 用于类似的样式,所以可以将 简化为下式:

推导到这里就可以看出,生成器最小化GAN的目标函数其实就是最小化真实分布与生成分布之间的JS散度,即最小化两个分布的相对熵


专知便捷查看

便捷下载,请关注专知公众号(点击上方蓝色专知关注)

  • 后台回复“生成式对抗网络” 就可以获取生成式对抗网络资料全局》专知下载链接

专知,专业可信的人工智能知识分发 ,让认知协作更快更好!欢迎注册登录专知www.zhuanzhi.ai,获取5000+AI主题干货知识资料!


欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程资料和与专家交流咨询
点击“ 阅读原文 ”,了解使用 专知 ,查看获取5000+AI主题知识资源
登录查看更多
0

相关内容

在统计学中,最大似然估计(maximum likelihood estimation, MLE)是通过最大化似然函数估计概率分布参数的一种方法,使观测数据在假设的统计模型下最有可能。参数空间中使似然函数最大化的点称为最大似然估计。最大似然逻辑既直观又灵活,因此该方法已成为统计推断的主要手段。
最新《机器学习:基本原理》2021新书,209页pdf
专知会员服务
130+阅读 · 2020年10月24日
最新《生成式对抗网络数学导论》,30页pdf
专知会员服务
76+阅读 · 2020年9月3日
专知会员服务
107+阅读 · 2020年5月21日
《深度学习》圣经花书的数学推导、原理与Python代码实现
GANs最新综述论文: 生成式对抗网络及其变种如何有用
专知会员服务
70+阅读 · 2019年10月19日
万字综述之生成对抗网络(GAN)
PaperWeekly
43+阅读 · 2019年3月19日
一文详解生成对抗网络(GAN)的原理,通俗易懂
人工智能头条
6+阅读 · 2018年5月6日
【原理】学懂GAN的数学原理,让它不再神秘
GAN生成式对抗网络
3+阅读 · 2017年11月26日
GAN完整理论推导、证明与实现(附代码)
数据派THU
4+阅读 · 2017年10月6日
GAN的数学原理
算法与数学之美
14+阅读 · 2017年9月2日
【原理】GAN的数学原理
GAN生成式对抗网络
8+阅读 · 2017年8月30日
深入浅出:GAN原理与应用入门介绍
深度学习世界
6+阅读 · 2017年8月23日
GAN | GAN介绍(2)
中国科学院网络数据重点实验室
43+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年6月24日
Arxiv
0+阅读 · 2021年6月21日
Arxiv
19+阅读 · 2021年1月14日
Arxiv
3+阅读 · 2020年7月16日
Seeing What a GAN Cannot Generate
Arxiv
7+阅读 · 2019年10月24日
Arxiv
4+阅读 · 2018年4月30日
VIP会员
相关资讯
万字综述之生成对抗网络(GAN)
PaperWeekly
43+阅读 · 2019年3月19日
一文详解生成对抗网络(GAN)的原理,通俗易懂
人工智能头条
6+阅读 · 2018年5月6日
【原理】学懂GAN的数学原理,让它不再神秘
GAN生成式对抗网络
3+阅读 · 2017年11月26日
GAN完整理论推导、证明与实现(附代码)
数据派THU
4+阅读 · 2017年10月6日
GAN的数学原理
算法与数学之美
14+阅读 · 2017年9月2日
【原理】GAN的数学原理
GAN生成式对抗网络
8+阅读 · 2017年8月30日
深入浅出:GAN原理与应用入门介绍
深度学习世界
6+阅读 · 2017年8月23日
GAN | GAN介绍(2)
中国科学院网络数据重点实验室
43+阅读 · 2017年8月4日
相关论文
Arxiv
0+阅读 · 2021年6月24日
Arxiv
0+阅读 · 2021年6月21日
Arxiv
19+阅读 · 2021年1月14日
Arxiv
3+阅读 · 2020年7月16日
Seeing What a GAN Cannot Generate
Arxiv
7+阅读 · 2019年10月24日
Arxiv
4+阅读 · 2018年4月30日
Top
微信扫码咨询专知VIP会员