作者:知乎—Curry
地址:https://www.zhihu.com/people/curry-5-28
一:白话GAN
本文尽量用少量的公式,浅显的语言来描述生成对抗网络,让未接触过GAN的人可以有个初步的认识,并且从理论和实现的角度初步分析了GAN网络来解决小样本问题的可能性,欢迎各位补充交流。
生成对抗网络Generative adversarial network, GAN,在14年被Goodfellow等提出后即热度不断,基于GAN的新模型论文更是层数不穷,有人将能叫得出名字的GAN模型都整理在了github上the-gan-zoo,比如常见的ACGAN、BiGAN、BEGAN、f-GANs、DCGAN、INFOGAN、SNGAN、WGAN等等。但由于模型数量众多,缩写的几乎都被占用了,导致新的GAN模型名字采用希腊字母命名,比如:α-GAN、β-GAN、Δ-GAN等等,足见GAN领域的火热。在今年CVPR2020 已经发现的GAN论文就已经接近50篇,可以看出GAN依旧是AI界的宠儿。
1)首先理解什么是生成对抗网络GAN?
生成对抗网络中的生成表示生成模型,这里表示给定一组随机数,根据随机数来生成服从训练数据分布的数据;对抗表示GAN中的生成器(Generator)和判别器(Discriminator)来往的博弈,最终达到纳什平衡;网络顾名思义指神经网络,这里的生成器和判别器都是利用神经网络来实现功能的。
纳什平衡(Nash equilibrium),又称为非合作博弈均衡,是博弈论的一个重要术语。
同样是生成模型,GAN与传统的概率生成模型马尔可夫随机场、贝叶斯网络等有何不同?答:传统概率生成模型要定义一个概率分布表达式P(X),通常是多变量联合密度分布函数,并基于此做最大似然估计,中间过程涉及到计算大量条件概率、边缘概率计算等,当变量数量增加,计算难度也随之增加;而GAN在描述概率生成模型时,并不对概率密度函数P(X)直接建模,而通过制造样本X来间接体现分布P(X)。注:此处部分描述来自《百面机器学习》
2)其次明白生成对抗网络GAN能做什么?