学习记录(四)生成对抗网络的详细介绍

学习记录(四)Theory behind GAN

Generator:

x:an image(a high-dimensional vector)
目标是找到这个distribution.

在GAN之前,找一个Model去Maximum Likelihood Estimation:

  • Given a data distribution Pdata(x)
  • 找到一个 distribution PG(x;θ)
    找到一个θ使得 PG(x;θ) 接近 Pdata(x).
  • 从 Pdata(x) 中采样得到 {x`,x2,…,xm}
  • 对每个x计算PG(xi;θ)
  • 将他们相乘得到:

在这里插入图片描述
找到θ*使得likelihood最大。

Maximum Likelihood Estimation = Minimize KL Divergence.

A generator G is a network. 这个 network 定义了一个概率分布PG.

在这里插入图片描述
Div 是 PG 和 Pdata 之间的 divergence.

Discriminator:

从 PG 和 Pdata 里面sample。
从 Pdata 里面sample:

在这里插入图片描述

从 PG 里面sample:

在这里插入图片描述

区分这两个:

在这里插入图片描述
找到使 PG 和 Pdata 之间差别最小的Generator。

在这里插入图片描述
找到使 Discriminator 能最好的区分(large divergence) 的 Discriminator。即V最大,V是使D得分高,G得分低的函数。

下面证明V函数:
在这里插入图片描述

  1. 给定G,找到一个D*来最大化V。
    对该式子进行化简积分:

在这里插入图片描述

  1. 给定x,转换为找到一个D使得下面式子取得最大值:(即积分里的每一项都分开算,其中D(x)可以取不同的函数)

在这里插入图片描述
经过一系列的不算复杂的数学运算后得到:
在这里插入图片描述

将其带入V可得:

在这里插入图片描述

经过一系列也不太复杂的变换后可得:

在这里插入图片描述

综上所述,将maxV带入可得:

在这里插入图片描述

对于不同的G有不同的V,对应有不同的D使得其对应的V最大,在所有的D里面找到一个D使得V最大化。如图所示,G3中的D使得V最小。故G*=G3.(对上面这个式子的解释)

在这里插入图片描述
图中的红点所对应的高即为 PG 和 Pdata 之间的divergence。即:

在这里插入图片描述

其中的Div即为红点对应的高,即maxV(G,D).

对于GAN,maxV(G,D)对应的discriminator网络的训练,argmin对应的就是generator的训练。
故训练过程总结如下:

  1. 初始化generator和discriminator
  2. 在每个迭代周期:
    step 1:固定generator G,更新discriminator D.
    step 2:固定discriminator D,更新generator G.

Algorithm 实现:
在不同的G时分别进行maxV,得到最好的D,再固定这个D,进行Gradient Descent 来获得最好的G。

在这里插入图片描述
不停的更换G,去寻找最小的divergence(即红点对应的高,PG 和 Pdata 之间的divergence)

在实际计算中,对于maxV的计算:

在这里插入图片描述
把每个采样得到的x带入,然后取最大值。

再次回顾总的算法:

首先是 discriminator 的训练:
在这里插入图片描述

在训练generator时,由于第一项跟generator无关,故可以不考虑它。

在这里插入图片描述
由于log(1-D(x))一开始是0,不太好,故将其翻转:

在这里插入图片描述

将上式变换为:

在这里插入图片描述

上面那个叫做Minimac GAN(MMGAN),下面这个叫做Non-saturating GAN(NSGAN).

完结 撒花❀❀❀❀❀ 吃饭去啦啦啦啦

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值