生成式对抗网络(GAN)基础
发布网友
发布时间:2024-10-24 11:14
我来回答
共1个回答
热心网友
时间:2024-11-10 15:24
生成式对抗网络(GAN)基础
在生成式对抗网络(GAN)被提出之前,深度学习在计算机视觉领域最令人瞩目的成果基本上都是判别模型,如图像分类,目标识别等。但其实故事的另一半是深度生成模型。生成模型的影响力一直很小,主要原因是对深度神经网络(如CNN)使用最大似然估计时,遇到了棘手的概率计算问题,而GAN的提出则巧妙的绕过了这个问题。
GAN是Ian Goodfellow提出的使用对抗过程来获得生成模型的新框架。生成对抗网络主要由两个部分组成,一个是生成器G(Generator),另一个是判别器D(discriminator)。具体过程包括:对于从训练数据中取样出的真实图片x,判别器D希望D(x)的输出值接近1,即判定训练数据为真实图片;给定一个随机噪声z,判别器D希望D(G(z))的输出值接近0,即认定生成器G生成的图片是假的;而生成器G希望D(G(z))的输出值接近1,即G希望能够欺骗D,让D将生成器G生成的样本误判为真实图片。这样G和D就构成了博弈的状态。在博弈的过程中,生成器G和判别器D都不断的提升自己的能力,最后达到一个平衡的状态。G可以生成足以“以假乱真”的图片G(z)。对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z)) = 0.5。这样我们的目的就达成了:我们得到了一个生成式的模型G,它可以用来生成真实图片。
最大似然估计的基本想法是定义一个能够给出概率分布(参数为[公式] )估计的模型。最大似然的原理实际上就是选择可以最大化训练数据的似然的模型参数。这在对数空间中很容易完成,我们可以将原来的乘积转化为求和。这样可以简化似然关于模型的导数的代数表达式,而且在用计算机实现的时候,也能够避免数值问题,比如说乘上几个很小的概率值的时候出现的下溢情形。使用最大似然估计就是在近似最小化真实数据分布和模型分布之间的KL散度。但是我们注意上述结论是基于我们的一个假设,就是[公式]处在分布 [公式]族中。所以我们可以想象如果用高斯混合模型这样能力不够强的模型去拟合真实数据分布,显然是不行的。所以我们希望使用神经网络这样能力很强的模型。
GAN最大的贡献就是绕开了这个问题,不直接计算似然,而是通过使用判别器D与生成器G的对抗过程,来训练生成器G。在训练中同时更新判别模型分布(D,蓝色,虚线),D区分数据生成分布(黑色,点线)[公式] 和生成模型分布 [公式](绿色,实线)。在算法的内层循环D被训练来区分生成样本和真实数据,收敛于 [公式] 。当更新G时,D的梯度指导G(z)向更可能被判断为真实数据的区域移动。当训练进行一定次数时(steps),如果G和D具有足够的容量(capacity),它们会到达一个彼此都不能提升的点,因为此时 [公式]。判别器(discriminator)不能区分两个分布, [公式] 。训练方式:交替的训练D和G,D训练k步,G训练1步。只要G变化的足够慢,D就能保持接近他的最优解。
算法中,考虑给定任意的生成器G,推导最佳判别器D。命题1. G固定,最优的D是 [公式] 。D的训练目的可以解释为最大化条件概率[公式] 的似然估计,Y代表x是来自 [公式]还是来自 [公式] 。方程(11)可以被重新写成如下形式。定理1 C(G)取得全局最小值当且仅当 [公式]。当[公式] 时我们取得全局最小值,此时我们的生成模型能够完美的复制真实数据生成过程。
本文通过直观介绍GAN的基本工作方式,最大似然估计说明了GAN提出的最大贡献,以及给出了GAN的形式化定义和理论推导,对GAN的基础进行了深入探讨。
热心网友
时间:2024-11-10 15:26
生成式对抗网络(GAN)基础
在生成式对抗网络(GAN)被提出之前,深度学习在计算机视觉领域最令人瞩目的成果基本上都是判别模型,如图像分类,目标识别等。但其实故事的另一半是深度生成模型。生成模型的影响力一直很小,主要原因是对深度神经网络(如CNN)使用最大似然估计时,遇到了棘手的概率计算问题,而GAN的提出则巧妙的绕过了这个问题。
GAN是Ian Goodfellow提出的使用对抗过程来获得生成模型的新框架。生成对抗网络主要由两个部分组成,一个是生成器G(Generator),另一个是判别器D(discriminator)。具体过程包括:对于从训练数据中取样出的真实图片x,判别器D希望D(x)的输出值接近1,即判定训练数据为真实图片;给定一个随机噪声z,判别器D希望D(G(z))的输出值接近0,即认定生成器G生成的图片是假的;而生成器G希望D(G(z))的输出值接近1,即G希望能够欺骗D,让D将生成器G生成的样本误判为真实图片。这样G和D就构成了博弈的状态。在博弈的过程中,生成器G和判别器D都不断的提升自己的能力,最后达到一个平衡的状态。G可以生成足以“以假乱真”的图片G(z)。对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z)) = 0.5。这样我们的目的就达成了:我们得到了一个生成式的模型G,它可以用来生成真实图片。
最大似然估计的基本想法是定义一个能够给出概率分布(参数为[公式] )估计的模型。最大似然的原理实际上就是选择可以最大化训练数据的似然的模型参数。这在对数空间中很容易完成,我们可以将原来的乘积转化为求和。这样可以简化似然关于模型的导数的代数表达式,而且在用计算机实现的时候,也能够避免数值问题,比如说乘上几个很小的概率值的时候出现的下溢情形。使用最大似然估计就是在近似最小化真实数据分布和模型分布之间的KL散度。但是我们注意上述结论是基于我们的一个假设,就是[公式]处在分布 [公式]族中。所以我们可以想象如果用高斯混合模型这样能力不够强的模型去拟合真实数据分布,显然是不行的。所以我们希望使用神经网络这样能力很强的模型。
GAN最大的贡献就是绕开了这个问题,不直接计算似然,而是通过使用判别器D与生成器G的对抗过程,来训练生成器G。在训练中同时更新判别模型分布(D,蓝色,虚线),D区分数据生成分布(黑色,点线)[公式] 和生成模型分布 [公式](绿色,实线)。在算法的内层循环D被训练来区分生成样本和真实数据,收敛于 [公式] 。当更新G时,D的梯度指导G(z)向更可能被判断为真实数据的区域移动。当训练进行一定次数时(steps),如果G和D具有足够的容量(capacity),它们会到达一个彼此都不能提升的点,因为此时 [公式]。判别器(discriminator)不能区分两个分布, [公式] 。训练方式:交替的训练D和G,D训练k步,G训练1步。只要G变化的足够慢,D就能保持接近他的最优解。
算法中,考虑给定任意的生成器G,推导最佳判别器D。命题1. G固定,最优的D是 [公式] 。D的训练目的可以解释为最大化条件概率[公式] 的似然估计,Y代表x是来自 [公式]还是来自 [公式] 。方程(11)可以被重新写成如下形式。定理1 C(G)取得全局最小值当且仅当 [公式]。当[公式] 时我们取得全局最小值,此时我们的生成模型能够完美的复制真实数据生成过程。
本文通过直观介绍GAN的基本工作方式,最大似然估计说明了GAN提出的最大贡献,以及给出了GAN的形式化定义和理论推导,对GAN的基础进行了深入探讨。