论文要点记录与理解:《GAN综述:算法、理论及应用》

2020年《GAN综述:算法、理论及应用》 论文地址: https://arxiv.org/pdf/2001.06937.pdf
部分内容来自网络

生成抵抗网络:

(缺图,后补)

目标函数

一、最原始的极大极小博弈

min ⁡ G max ⁡ D V ( D , G ) = E x ∼ p data  ( x ) [ log ⁡ D ( x ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] . . \begin{array}{l} \min _{G} \max _{D} V(D, G)=E_{x \sim p_{\text {data }}(x)}[\log D(x)] +E_{z \sim p_{z}(z)}[\log (1-D(G(z)))]. \end{array}. minGmaxDV(D,G)=Expdata (x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]..
其中, l o g D ( x ) logD(x) logD(x) l o g ( 1 − D ( G ( x ) ) ) log(1-D(G(x))) log(1D(G(x)))分别是交叉熵形式,形如 L = − [ y log ⁡ y ^ + ( 1 − y ) log ⁡ ( 1 − y ^ ) ] . L=-[y \log \hat{y}+(1-y) \log (1-\hat{y})]. L=[ylogy^+(1y)log(1y^)].
对于一个固定的 G,给出了最优的判别器 D: D G ∗ ( x ) = p data ( x ) p data ( x ) + p g ( x ) . D_{G}^{*}(x)=\frac{p_{\text {data}}(x)}{p_{\text {data}}(x)+p_{g}(x)}. DG(x)=pdata(x)+pg(x)pdata(x).
然后可以重新化成形式如下:
C ( G ) = max ⁡ D V ( D , G ) = E x ∼ p data [ log ⁡ D G ∗ ( x ) ] + E z ∼ p z [ log ⁡ ( 1 − D G ∗ ( G ( z ) ) ) ] = E x ∼ p data [ log ⁡ D G ∗ ( x ) ] + E x ∼ p g [ log ⁡ ( 1 − D G ∗ ( x ) ) ] = E x ∼ p data [ log ⁡ p data ( x ) 1 2 ( p data ( x ) + p g ( x ) ) ] + E x ∼ p g [ 1 1 2 ( p data ( x ) + p g ( x ) ) ( x ) ] − 2 log ⁡ 2. \begin{array}{l} C(G)=\max _{D} V(D, G) \\ =E_{x \sim p_{\text {data}}}\left[\log D_{G}^{*}(x)\right] \\ \quad+E_{z \sim p_{z}}\left[\log \left(1-D_{G}^{*}(G(z))\right)\right] \\ =E_{x \sim p_{\text {data}}}\left[\log D_{G}^{*}(x)\right]+E_{x \sim p_{g}}\left[\log \left(1-D_{G}^{*}(x)\right)\right] \\ =E_{x \sim p_{\text {data}}}\left[\log \frac{p_{\text {data}}(x)}{\frac{1}{2}\left(p_{\text {data}}(x)+p_{g}(x)\right)}\right] \\ \quad+E_{x \sim p_{g}}\left[\frac{\frac{1}{\frac{1}{2}}\left(p_{\text {data}}(x)+p_{g}(x)\right)}{(x)}\right]-2 \log 2. \end{array} C(G)=maxDV(D,G)=Expdata[logDG(x)]+Ezpz[log(1DG(G(z)))]=Expdata[logDG(x)]+Expg[log(1DG(x))]=Expdata[log21(pdata(x)+pg(x))pdata(x)]+Expg[(x)211(pdata(x)+pg(x))]2log2.
两个概率分布 p(x) 和 q(x) 之间的 KL 散度和 JS 散度定义如下: K L ( p ∥ q ) = ∫ p ( x ) log ⁡ p ( x ) q ( x ) d x K L(p \| q)=\int p(x) \log \frac{p(x)}{q(x)} d x KL(pq)=p(x)logq(x)p(x)dx J S ( p ∥ q ) = 1 2 K L ( p ∥ p + q 2 ) + 1 2 K L ( q ∥ p + q 2 ) J S(p \| q)=\frac{1}{2} K L\left(p \| \frac{p+q}{2}\right)+\frac{1}{2} K L\left(q \| \frac{p+q}{2}\right) JS(pq)=21KL(p2p+q)+21KL(q2p+q)结合上述两个式子, C ( G ) = K L ( p data ∥ p data + p q 2 ) + K L ( p g ∥ p data + p q 2 ) = 2 J S ( p data ∥ p g ) − 2 log ⁡ 2 \begin{array}{l} C(G)=K L\left(p_{\text {data}} \| \frac{p_{\text {data}}+p_{q}}{2}\right)+K L\left(p_{g} \| \frac{p_{\text {data}}+p_{q}}{2}\right) =2 J S\left(p_{\text {data}} \| p_{g}\right)-2 \log 2 \end{array} C(G)=KL(pdata2pdata+pq)+KL(pg2pdata+pq)=2JS(pdatapg)2log2,因此,GAN 的目标函数和 KL 散度JS 散度都相关。

二、非饱和博弈

饱和一词,是针对 l o g ( 1 − D ( G ( x ) ) ) log(1-D(G(x))) log(1D(G(x)))而言的,在训练早期,D可以很轻松,高置信度的,拒绝G生成的样本,即 l o g ( 1 − D ( G ( x ) ) ) log(1-D(G(x))) log(1D(G(x)))在早期会一直出于饱和状态,在此情况下,改用最大化 l o g ( D ( G ( z ) ) ) log(D(G(z))) log(D(G(z)))而不是最小化 l o g ( 1 − D ( G ( z ) ) ) log(1-D(G(z))) log(1D(G(z))),则G的损失函数变为:
J ( G ) = E z ∼ p z ( z ) [ − log ⁡ ( D ( G ( z ) ) ) ] = E x ∼ p g [ − log ⁡ ( D ( x ) ) ] \begin{array}{l} J^{(G)}=E_{z \sim p_{z}(z)}[-\log (D(G(z)))] =E_{x \sim p_{g}}[-\log (D(x))] \end{array} J(G)=Ezpz(z)[log(D(G(z)))]=Expg[log(D(x))]
这个新的目标函数可以在训练过程中使 D 和 G 的达到相同的不动点,但是在学习初期就提供了大得多的梯度。
但是,会造成一个问题,如果用于训练G的数值不稳定,经过公式一系列推算,优化函数存在矛盾,
E x ∼ p g [ − log ⁡ ( D G ∗ ( x ) ) ] = K L ( p g ∥ p data ) − 2 J S ( p data ∥ p g ) + E x ∼ p data [ log ⁡ D G ∗ ( x ) ] + 2 log ⁡ 2 \begin{array}{l} E_{x \sim p_{g}}\left[-\log \left(D_{G}^{*}(x)\right)\right] =K L\left(p_{g} \| p_{\text {data}}\right)-2 J S\left(p_{\text {data}} \| p_{g}\right)+ E_{x \sim p_{\text {data}}}\left[\log D_{G}^{*}(x)\right]+2 \log 2 \end{array} Expg[log(DG(x))]=KL(pgpdata)2JS(pdatapg)+Expdata[logDG(x)]+2log2
因为第一项目标是使生成的分布与实际分布之间的差异尽可能小,而由于负号的存在,第二项目标是使得这两个分布之间的差异尽可能大。
对 G 的两种误差的惩罚是完全不同的。第一种误差是 G 产生了不真实的样本,对应的惩罚很大。第二种误差是 G 未能产生真实的样本,而惩罚很小。第一种误差是生成的样本不准确,而第二种误差是生成的样本不够多样化。基于这个原理,G 倾向于生成重复但是安全的样本,而不愿意冒险生成不同但不安全的样本,这会导致模式坍塌(mode collapse)问题。

三、最大似然博弈

J ( G ) = E z ∼ p z ( z ) [ − exp ⁡ ( σ − 1 ( D ( G ( z ) ) ) ) ] = E z ∼ p z ( z ) [ − D ( G ( z ) ) / ( 1 − D ( G ( z ) ) ) ] \begin{array}{l} J^{(G)}=E_{z \sim p_{z}(z)}\left[-\exp \left(\sigma^{-1}(D(G(z)))\right)\right] =E_{z \sim p_{z}(z)}[-D(G(z)) /(1-D(G(z)))] \end{array} J(G)=Ezpz(z)[exp(σ1(D(G(z))))]=Ezpz(z)[D(G(z))/(1D(G(z)))]

在这里插入图片描述
Fig. 1: The three curves of “Original”, “Non-saturating”, and “Maximum likelihood cost” denotes (\log (1-D(G(z)))) (-\log (D(G(z))),) and (-D(G(z)) /(1-D(G(z)))) in ((1),(7))
and ((13),) respectively. The cost that the generator has for generating a sample (G(z)) is only decided by the discriminator’s response to that generated sample. The larger probability the discriminator gives the real label to the generated sample, the less cost the generator gets. This figure is reproduced from ([103],[123])

  1. 由图所知,生成器生成的样本,即图左情形下,原始极大极小博弈和最大似然博弈都受到梯度消失的影响,非饱和博弈不受影响;
  2. 最大似然博弈还存在一个问题,即几乎所有梯度都来自曲线的右端,这意味着每个 minibatch 中只有极少一部分样本主导了梯度的计算。这表明减小样本方差的方法可能是提高基于最大似然博弈的 GAN 性能的重要研究方向;
  3. 基于启发式的非饱和博弈的样本方差较低,这可能是它在实际应用中更成功的可能原因。

主流的GAN及其进化方向

![在这里插入图片描述](https://img-blog.csdnimg.cn/2020031021064967.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FudWGAN 的训练是困难且常常不稳定的。其中一个困难是来自这样一个事实:即 GAN 的最佳权重对应于损失函数的鞍点,而非极小值点。9yeQ==,size_16,color_FFFFFF,t_70)

GAN的训练

GAN 的训练是困难且常常不稳定的。事实是, GAN 的最佳权重对应于损失函数的鞍点,而非极小值点。导致训练变得艰难。

GAN的评价指标

  1. InceptionScore(IS)
  2. Modescore(MS)
  3. FrechetInceptionDistance(FID)
  4. Multi-scalestructuralsimilarity(MS-SSIM)

应用领域

最广为人知的应用领域应该是计算机视觉,例如图像超分辨率、图像生成与操作和视频处理。

序列数据:自然语言、音乐、语音、音频 [376], [377]、时间序列 [378]–[381] 等

开放问题研究

  1. 离散数据。哈希编码,one-hot编码等。
  2. 新的散度。如 Fisher GAN [455],[456],均值和协方差特征匹配 GAN(McGan)[457] 和 Sobolev GAN [458]。
  3. 估计不确定性。目前已经有关于这个方向研究的初步尝试,例如 Bayesian GAN [459]。尽管我们可以利用 GAN 生成数据,但是如何度量训练好的生成器的不确定性呢?这是另一个值得未来研究的有趣问题。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值