近年来,深度学习技术被广泛应用于各类数据处理任务中,比如图像、语音和文本。而生成对抗网络(GAN)和强化学习(RL)已经成为了深度学习框架中的两颗“明珠”。强化学习主要用于决策问题,主要的应用就是游戏,比如deepmind团队的AlphaGo。因为我的研究方向是图像的有监督分类问题,故本文主要讲解生成对抗网络及其在分类问题方面的应用。
生成对抗网络框架
生成对抗网络(Generative adversarial networks,简称为GAN)是2014年由Ian J. Goodfellow首先提出来的一种学习框架,说起Ian J. Goodfellow本人,可能大家印象不深刻,但他的老师正是“深度学习三巨头”之一的Yoshua Bengio(另外两位分别是Hinton和LeCun),值得一提的是,Theano深度学习框架也是由他们团队开发的,开启了符号计算的先河。关于GAN在机器学习领域的地位,在这里引用一段Lecun的评价,
“There are many interesting recent development in deep learning…The most important one, in my opinion, is adversarial training (also called GAN for Generative Adversarial Networks). This, and the variations that are now being proposed is the most interesting idea in the last 10 years in ML, in my opinion.”
传统的生成模型都需要先定义一个概率分布的参数表达式,然后通过最大化似然函数来训练模型,比如深度玻尔兹曼机(RBM)。这些模型的梯度表达式展开式中通常含有期望项,导致很难得到准确解,一般需要近似,比如在RBM中,利用Markov chain 的收敛性,可以得到符合给定分布下的随机样本。为了克服求解准确性和计算复杂性的困难,J牛创造性的提出来了生成对抗网络。GAN模型不需要直接表示数据的似然函数,却可以生成与原始数据有相同分布的样本。
与常规的深度学习模型(比如cnn、dbn、rnn)不同,GAN模型采用了两个独立的神经网络,分别称为“generator”和“discriminator