如何简单生成生成对抗网络 ?

近年来,在人工智能领域深度学习取得了令人瞩目的成就,在计算机视觉、自然语言处理等各种领域都取得了突破性的进展。深度学习现今主要是依靠神经网络模型来进行学习的,可大致分为三种基础模型,首先的就是卷积神经网络(Convolutional Neural Networks, CNNs,1998)、循环神经网络(RecurrentNeural Networks, RNNs,2014)、和生成对抗网络(Generative Adversarial Nets, GANs,2014)等。

但由于传统的深度学习方法需要大量的数据,并且需要大量的先验知识。鉴于此问题,Ian Goodfellow所提出的生成式对抗网络GAN逐步受到广大学者的关注。生成对抗网络(GAN)的初始原理十分容易理解,即构造两个神经网络,一个生成器,一个鉴别器,二者互相竞争训练,最后达到一种平衡(纳什平衡)。GAN 启发自博弈论中的二人零和博弈(two-player game),GAN 模型中的两位博弈方分别由生成式模型(generativemodel,G)和判别式模型(discriminative model,D)充当。

生成模型 G 捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声 z 生成一个类似真实训练数据的样本,追求效果是越像真实样本越好;判别模型 D 是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据,D 输出大概率,否则,D 输出小概率。采用对抗训练机制进行训练,并使用优化器(如随机梯度下降(SGD,stochastic gradient descent),自适应时刻估计方法(Adam,AdaptiveMoment Estimation)等)实现优化,二者交替训练,直到达到纳什均衡后停止训练。

最后,将二者结合起来说,就是训练判别器D,让它判断真假的概率最大化,同时,也训练生成器G,让

最小化,总而言之,这是一种二元极小极大博弈问题(minimaxtwo-player game),用一个函数
在这里插入图片描述

来表示:

在这里插入图片描述
在这里插入图片描述

具体的结构如下图所示:
如何简单生成生成对抗网络 ?_第1张图片

生成式对抗网络模型没有像传统的神经网络一样的损失函数,它使用了关于判别网络模型和生成网络模型的价值函数(Value Function)来表示模型。其中训练过程为固定一方(D/G),更新另一个网络的参数,交替迭代,是的对方的错误最大化,最后使得生成网络G可以估测出样本数据的分布,前文中提到一开始定义了一个生成网络的生成数据的分布Pg,整个模型希望收敛Pg与样本数据Pdata的真实分布,论文中证明了当且仅当Pg=Pdata时存在最优解,即达到纳什均衡(纳什均衡博弈论中的一个概念,是假设有n个局中人参与博弈,如果某情况下无一参与者可以独自行动而增加收益,即为了自身利益的最大化,没有任何单独的一方愿意改变其策略的),此时生成模型G生成了与训练数据的相同的分布,判别模型D的准确率等于50%。

总结:本节对抗生成式网络GAN做了一个简单的介绍,读者看完之后应该了解了生成对抗式网络的原理以及是如何进行work的了。

关注小鲸融创,一起深度学习金融科技!

如何简单生成生成对抗网络 ?_第2张图片

你可能感兴趣的:(深度学习,神经网络,深度学习,机器学习)