1、生成式对抗网络生成式对抗网络Generative Adversarial Network -不要怂,就是GAN-LOGO-1 June 1,2018早期理论积累GAN的理论及衍生模型GAN的应用介绍2早期理论积累3生成式对抗网络GAN起源于博弈论中的二人零和博弈(two-player game)博弈方a:生成式模型(generative model)博弈方b:判别式模型(discriminative model)生成模型G:捕捉样本数据的分布,用服从某一分不(均匀分布,高斯分布)的噪声z生成一个类似真实训练数据的样本,追求效果是越像真实的越好。判别模型D:是一个二分类器,估计一个样本来自训练数
2、据(而非生成数据)的概率,如果样本来自真实的训练数据,D输出大概率,否则,D输出小概率。生成式对抗网络-博弈论4博弈论-纳什均衡假设猪圈里有一头大猪、一头小猪。猪圈的一头有猪食槽(两猪均在食槽端),另一头安装着控制猪食供应的按钮,按一下按钮会有10个单位的猪食进槽,但是在去往食槽的路上会有两个单位猪食的体能消耗,若大猪先到槽边,大小猪吃到食物的收益比是91;同时行动(去按按钮),收益比是73;小猪先到槽边,收益比是64。那么,在两头猪都有智慧的前提下,最终结果是小猪选择等待。生成式对抗网络-博弈论囚徒困境智猪博弈5 机器学习方法可以分为生成方法和判别方法,所学到的模型分别称为生成式模型和判别式
3、模型。生成方法通过观测数据学习样本与标签的联合概率分布P(X,Y),训练好的模型能够生成符合样本分布的新数据,它可以用于有监督学习和无监督学习。判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测的模型,即判别模型。生成方法和判别方法深度产生式模型的深度信念网络(DBN)。DBN是由一组受限玻尔兹曼机(RBMs)堆叠而成的深度生成式网络,它的核心部分是贪婪的、逐层学习的算法,这种算法可以最优化深度置信网络的权重。以无监督方式预训练的生成式模型(DBN)可以提供良好的初始点,然后通过有监督的反向传播算法微调权值早期深层生成模型 生成对抗网络,由两个网络组成,即生成器和判别器
4、,生成器用来建立满足一定分布的随机噪声和目标分布的映射关系,判别器用来区别实际数据分布和生成器产生的数据分布。GAN生成模型6GAN的理论及衍生模型请在此添加你的标题7生成式对抗网络-GAN理论8GAN的基本框架 u当固定生成网络 G 的时候,对于判别网络 D 的优化,可以这样理解:输入来自于真实数据,D 优化网络结构使自己输出 1,输入来自于生成数据,D 优化网络结构使自己输出 0;当固定判别网络 D 的时候,G 优化自己的网络使自己输出尽可能和真实数据一样的样本,并且使得生成的样本经过 D 的判别之后,D 输出高概率。生成式对抗网络-GAN的基本框架9生成式对抗网络-如何定义损失通过优化目
5、标,使得我们可以调节概率生成模型的参数,从而使得生成的概率分布和真实数据分布尽量接近。但是这里的分布参数不再跟传统概率统计一样了,这些参数保存在一个黑盒中:最后所学到的一个数据分布Pg(G),没有显示的表达式。10生成式对抗网络-noise输入的解释如图所示,假设我们现在的数据集是一个二维的高斯混合模型,那么这么noise就是x轴上我们随机输入的点,经过生成模型映射可以将x轴上的点映射到高斯混合模型上的点。当我们的数据集是图片的时候,那么我们输入的随机噪声其实就是相当于低维的数据,经过生成模型G的映射就变成了一张生成的图片G(x)。11优化函数的目标函数D(x)表示判别器认为x是真实样本的概率
6、,而1-D(G(z)则是判别器认为合成样本为假的概率。训练GAN的时候,判别器希望目标函数最大化,也就是使判别器判断真实样本为“真”,判断合成样本为“假”的概率最大化;与之相反,生成器希望该目标函数最小化,也就是降低判别器对数据来源判断正确的概率。在训练的过程中固定一方,更新另一方的网络权重,交替迭代,在这个过程中,双方都极力优化自己的网络,从而形成竞争对抗,直到双方达到一个动态的平衡(纳什均衡),此时生成模型 G 恢复了训练数据的分布(造出了和真实数据一模一样的样本),判别模型再也判别不出来结果,准确率为 50%,约等于乱猜。生成式对抗网络-GAN的训练方法生成模型:要最小化判别模型D的判别
7、准确率。判别模型:要尽量最大化自己的判别准确率12黑色大点虚线P(X)是真实的数据分布 A.Pg和Pdata 相似,D是部分精确的分类器绿线G(z)是通过生成模型产生的数据分布(输入是均匀分布变量z,输出是绿色的线)B.D被训练以区分样本和数据,并收敛到蓝色的小点虚线D(X)代表判别函数C.在更新g之后,d的梯度引导g(Z)流向更有可能被归类为数据的区域。较低的水平线是z采样的区域,在这种情况下,上面的水平线是X域的一部分。向上箭头显示映射x=g(Z)如何将非均匀分布的pg强加于转换后的样本上。g在高密度区域收缩,在pg低密度区域扩展。D.产生的绿色分布和真实数据分布已经完全重合。这时,判别函
8、数对所有的数据(无论真实的还是生成的数据),输出都是一样的值,已经不能正确进行分类。G成功学习到了数据分布,这样就达到了GAN的训练和学习目的。Pg =Pdata ,判别器无法区分这两个分布,此时D(X)=1/2生成式对抗网络-训练方法13首先,如果固定G,那么D的最优解就是一个贝叶斯分类器。将这个最优解形式带入,可以得到关于G的优化函数。简单的计算可以证明,当产生的数据分布与真实数据分布完全一致时,这个优化函数达到全局最小值。Pg=Pdata生成模型G隐式地定义了一个概率分布Pg,我们希望Pg 收敛到数据真实分布Pdata。论文证明了这个极小化极大博弈当且仅当Pg=Pdata时存在最优解,即
9、达到纳什均衡,此时生成模型G恢复了训练数据的分布,判别模型D的准确率等于50%。GAN是存在全局最优解的全局最优解和收敛性生成式对抗网络-全局最优解和收敛性如果G和D的学习能力足够强,两个模型可以收敛。但是GAN模型的收敛性和均衡点存在性需要新的理论突破,模型结构和训练稳定性需要进一步提高。GAN的收敛是很困难的。第一,就是梯度消失的问题,当优化的时候,对于公式里我们的生成器、判别器的损失函数会存在梯度消失的问题,那么我们需要设计一些更好的损失函数,使得梯度消失问题得到解决。第二个就是模式发现问题,也就是说我们的生成器可能生成同样的数据而不是多样的数据。GAN的收敛性14l 根据实际的结果,它
10、们看上去可以比其它模型产生了更好的样本(图像更锐利、清晰)l 生成对抗式网络框架能训练任何一种生成器网络l 不需要设计遵循任何种类的因式分解的模型,任何生成器网络和任何鉴别器都会有用l 无需反复采样优点:生成式对抗网络-优点和缺点l 解决不收敛的问题。所有的理论都认为 GAN 应该在纳什均衡上有卓越的表现,但梯度下降只有在凸函数的情况下才能保证实现纳什均衡l GAN模型被定义为极小极大问题,没有损失函数,在训练过程中很难区分是否正在取得进展l 无需预先建模,模型过于自由不可控缺点:15生成式对抗网络-衍生模型 DCGAN把有监督学习的CNN与无监督学习的GAN整合到一起提出了Deep Conv
11、olutional Generative Adversarial Networks-DCGANs,是生成器和判别器分别学到对输入图像层次化的表示。1.使用DCGANs从大量的无标记数据(图像、语音)学习到有用的特征,相当于利用无标记数据初始化DCGANs的生成器和判别器的参数,在用于有监督场景.2.表示学习representation learning的工作:尝试理解和可视化GAN是如何工作的.3.稳定训练DCGANs16生成式对抗网络-衍生模型 CGAN1.定义:通过将额外信息y输送给判别模型和生成模型,作为输入层的一部分,从而实现条件GAN2.在生成模型中,先验输入噪声p(z)和条件信息y
12、联合组成了联合隐层表征。条件GAN的目标函数是带有条件概率的二人极小极大值博弈(two-player minimax game)17生成式对抗网络-衍生模型 InfoGANInfoGAN:挖掘GAN模型隐变量特点的模型为了使输入包含可以解释,更有信息的意义,InfoGAN7的模型在z之外,又增加了一个输入c,称之为隐含输入(latent code),然后通过约束c与生成数据之间的关系,使得c里面可以包含某些语义特征(semantic feature),比如对MNIST数据,c可以是digit(0-9),倾斜度,笔画厚度等。18GAN的应用领域19生成式对抗网络-计算机视觉20生成式对抗网络-计算机视觉21生成式对抗网络-图像超分辨率22生成式对抗网络-图像去雨23THANK YOU 2018.06.0124