神经网络——(GAN之二)

1. GAN的理论

在图片生成过程中,我们的目标其实是存在一定的分布的,假设在整个图像空间中,蓝色部分的点可以生成人脸,其他区域的脸则不能生成人脸。那么,我们的目的是寻找蓝色区域的概率密度函数
在这里插入图片描述

1.1 最大似然估计与GAN在这里插入图片描述

一般的思路是:我们通过sample数据集,去估计给定数据(输入数据)的分布,记为 P d a t a ( x ) P_{data}(x) Pdata(x),因此,使用网络的目的是,找到一堆参数 G G G所构成的分布 P G ( x ; θ ) P_{G}(x;\theta) PG(x;θ) P d a t a ( x ) P_{data}(x) Pdata(x)越接近越好。

那么,使用最大似然估计即为:
L = ∏ i = 1 m P G ( x i , θ ) L = \prod_{i=1}^{m}P_G(x^i,\theta) L=i=1mPG(xi,θ)
在这里插入图片描述
然后我们在后面减一项,该项与 P G ( x ; θ ) P_G(x;\theta) PG(x;θ)没有关系,就变成下面这个式子,就可以整理成KL Divergence的形式。
在这里插入图片描述
而Generator的作用就是,将输入映射成各种形状的分布。
在这里插入图片描述
那么,在不知道 P G P_G PG P d a t a P_{data} Pdata的情况下,怎么样去解这个式子呢?
在这里插入图片描述
在这里插入图片描述

那么Discriminator的作用是什么呢?其实就是衡量 P G P_G PG P d a t a P_{data} Pdata的差别有多大,然后就其实是一个分类的函数

在这里插入图片描述
然后得到的最佳的值,其实就是一个JS Divergence的解。当生成数据与原始数据差距很大时,D可以轻易的分辨出来,否则的话,D很难分辨出来。

在这里插入图片描述

1.2 数学推导

在这里插入图片描述
考虑到sample 出来的每一个样本都是独立的,于是可以把这个积分拆开来计算,即要优化下面的式子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
所以,现在问题就可以变成下面这个式子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

G3是最好的选择,因为满足 arg min ⁡ G \argmin_G Gargmin要求蓝色的线最小,而 max ⁡ D \max_D maxD代表红色的点。
在这里插入图片描述
同理,对于 L ( G ) L(G) L(G)也是一样的。那么,在第一次迭代之后,得到 G 0 G_0 G0之后,我们需要找到 D 0 ∗ D_0^* D0使得 V ( G 0 , D ) V(G_0,D) V(G0,D)最大(对应图中的红点)。
在这里插入图片描述
然后当我们更新了 G G G变成 G 1 G_1 G1之后,我们需要重新找一个 D D D来满足要求。但是这样的有一个前提假设 D 0 ∗ ≈ D 1 ∗ D_0^* \approx D_1^* D0D1

在训练过程中要更新 G G G所以 V ( G , D ) V(G,D) V(G,D)的分布形状也会发生改变,因此, V ( G , D ) V(G,D) V(G,D) G G G的变化过程中不会发生太大的改变,也就是说,我们在训练过程中,对于G,不能训练的太多(不能让他们的分布形状变化太多)而对于D来说,我们需要训练到底,因为我们要求最大值。
在这里插入图片描述
在这里插入图片描述

1.3 算法

D 最好能够多train几次,
在这里插入图片描述
G不能多train,否则的话找的divergence就不是原来D中对应的那个divergence。
在这里插入图片描述
在GAN的论文中提到,一开始,我们的优化目标应该是 log ⁡ ( 1 − D ( G ( z i ) ) ) \log(1-D(G(z^i))) log(1D(G(zi))),但是考虑到他的趋势一开始微分的结果非常小,所以在训练的过程中会出现一些问题
在这里插入图片描述
于是,优化的目标函数就变成了相同趋势的 − log ⁡ ( D ( x ) ) -\log(D(x)) log(D(x))

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值