什么是 GAN?

知乎上有一个很不错的解释,大家应该都能理解:

假设一个城市治安混乱,很快,这个城市里就会出现无数的小偷。在这些小偷中,有的可能是盗窃高手,有的可能毫无技术可言。假如这个城市开始整饬其治安,突然开展一场打击犯罪的「运动」,警察们开始恢复城市中的巡逻,很快,一批「学艺不精」的小偷就被捉住了。之所以捉住的是那些没有技术含量的小偷,是因为警察们的技术也不行了,在捉住一批低端小偷后,城市的治安水平变得怎样倒还不好说,但很明显,城市里小偷们的平均水平已经大大提高了。

警察们开始继续训练自己的破案技术,开始抓住那些越来越狡猾的小偷。随着这些职业惯犯们的落网,警察们也练就了特别的本事,他们能很快能从一群人中发现可疑人员,于是上前盘查,并最终逮捕嫌犯;小偷们的日子也不好过了,因为警察们的水平大大提高,如果还想以前那样表现得鬼鬼祟祟,那么很快就会被警察捉住。为了避免被捕,小偷们努力表现得不那么「可疑」,而魔高一尺、道高一丈,警察也在不断提高自己的水平,争取将小偷和无辜的普通群众区分开。随着警察和小偷之间的这种「交流」与「切磋」,小偷们都变得非常谨慎,他们有着极高的偷窃技巧,表现得跟普通群众一模一样,而警察们都练就了「火眼金睛」,一旦发现可疑人员,就能马上发现并及时控制——最终,我们同时得到了最强的小偷和最强的警察。

nli“>GAN 的工作原理

机器从零开始「创建」逼真图像看起来很神奇,但 GAN 用了两个关键技巧来将这个看似不可能实现的模糊目标变成现实。

第一个技巧对 GAN 来说并不新鲜,就是纳入随机性。基本上,这种做法不无道理:如果你构建的系统每次运行都生成同样的人脸图像,那就没什么意思了。并且,从概率角度来看,这种做法有助于我们将图像生成问题转化为自然的数学框架。我们当然不想随机均匀地挑选图像,因为那样只会产生噪声。相反,我们希望该系统能够了解哪些图像可能是人脸,哪些不是。从数学角度来看,这涉及对图像的概率分布建模,即一个能够分辨人脸图像的函数。这类问题——在高维空间中建模函数——正是神经网络所要解决的问题。

定义 GAN 的一个重要概念是将这个建模问题设定为一种竞赛。这也是「生成对抗网络」这个名字中「对抗(adversarial)」的来源。该网络的核心观念是建立两个相互竞争的网络:一个生成器和一个判别器。生成器尝试创建随机合成的输出(如人脸图像),而判别器则试着将这些输出与真实样本(如名人数据库)区分开来。其期望是随着这两个网络的对抗,输出会变得越来越好,最终生成一个能够产生逼真输出的生成器网络。

总之,生成对抗网络是学习从特殊分布中选择样本的神经网络(「生成」),它们通过建立竞争关系来实现这一目的(「对抗」)。

上面内容转载自机器之心,原文地址

 

百度百科版本

生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。原始 GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D 。一个优秀的GAN应用需要有良好的训练方法,否则可能由于神经网络模型的自由性而导致输出不理想。

查看详情

 

维基百科版本

生成对抗网络(GAN)是一类用于无监督机器学习的人工智能算法,由在零和游戏框架中相互竞争的两个神经网络系统实现。他们是由Ian Goodfellow 等人介绍的。在2014年这种技术可以生成照片看起来至少在表面上真实的人的观察员,有很多的现实特征(虽然在测试中的人可以真正告诉在许多情况下产生)。

查看详情

 

扩展阅读

入门类文章(1)