#11 基于能量模型的生成对抗网络–生成对抗网络进阶

在文章“手把手教你写一个生成对抗网络”中,我们谈到过生成对抗网络。意犹未尽的是,只是了解生成对抗网络的基本原理和算法形式,对于训练结果还没有仔细研究。

最近拜读了机器学习四大神之一Yann LeCun (燕乐存 目前在facebook就职) 今年发表的论文“ENERGY-BASED GENERATIVE ADVERSARIAL NETWORK”。基于能量模型的生成对抗网络,训练结果真的很不错。不像一般的生成网络,生成的图片像素随机性大,字体边界模糊。看下图论文在MNIST集上的比较:

来自:论文 ENERGY-BASED GENERATIVE ADVERSARIAL NETWORK
来自:论文 ENERGY-BASED GENERATIVE ADVERSARIAL NETWORK

左边是一般GAN(生成对抗网络)的生成数字, 右边就是论文的改进EBGAN(基于能量的生成对抗网络)。可以很明显地看出,改进的生成数字比较清晰,连接也比较流畅 。传统GAN生成的数字就比较模糊,像素连贯性较差

DCGAN个EBGAN生成人脸对比
DCGAN个EBGAN生成人脸对比

上图是论文EBGAN和DCGAN的比较, EBGAN在边缘的生成效果上更流畅, 而且加了特殊的正则项, 在生成的类别上, EBGAN更倾向于生成不同的脸型和人种.

如此厉害的生成结果,多亏Yann大神在判别器中使用了基于能量的模型(Yann大神是深度神经网络开拓者之一,这种RBM中常用的技能简直是小意思吧?)。

事实上,普通的GAN仅仅用后向传播就能训练出不错的生成模型,已经很让人吃惊了。Yann的改进模型EBGAN把其中的判别器改造成了有自编码器自解码器的神经网络,可谓更上一层楼。

来看看模型总览:

qq%e6%88%aa%e5%9b%be20161118173125
来自:论文 ENERGY-BASED GENERATIVE ADVERSARIAL NETWORK

这里的“D”就是判别器,“G”就是生成器。”D”不再是一般的神经网络了,而具有深度神经网络的属性:自编码器和自解码器

理论基础正是基于能量的模型:

qq%e6%88%aa%e5%9b%be20161118111726

判断器”D”使用基于能量的目标函数, 形象地说, 物体边缘外部区域具有的很强的能量, 而内部区域具有弱能量.

在神经网络中体现在, 神经单元v(可视层单元)h(隐含层单元)的连接上的能量计算, 在可视层单元输入一张图片,有一些隐含层单元会激活, 这里, 有一个能量分布Energy(v, h):

qq%e6%88%aa%e5%9b%be20161118111743

判断器”D”具有深度网络的表达和总结能力, 使得对抗网络的整体表现提高.

看一下判断器的目标函数:

screenshot-from-2016-11-19-091153

其实和一般GAN的目标函数是一个形式, 只是, 判别器变为了Dec(Enc(·)). 其中,  screenshot-from-2016-11-19-091741

判断器的目标很明确, 就是当输入样本为真实样本x时, 输出的能量Dec(Enc(x))最接近x, 即让||Dec(Enc(x)) – x||的值尽量小; 而, 当输入样本为仿造样本z时, ||Dec(Enc(z)) – G(z)||的值尽量大. 这样就达到判断器的判别效果.

即||Dec(Enc(x)) – x|| + [m – ||Dec(Enc(z)) – G(z)||] 总体值尽量小.

生成器的目标函数也和GAN类似:

screenshot-from-2016-11-19-091852

目标很明确: 欺骗判断器, 使得||Dec(Enc(z)) – G(z)||值尽量大.

我们知道, 设S = Dec(Enc(z)), S即生成器的输出能量, 是图像的能量表达. 论文最后, 为生成器目标函数引入了一个正则项:

screenshot-from-2016-11-19-093519

bs是batch块大小, S是一个生成样本的输出能量Dec(Enc(z)), 这个正则项保证了输出生成样本的差异化. 能量相似的图像, 生成器就可能舍弃, 寻求新的有差异能量的样本去生成. 两个S之间的正交性越大, 我们越是保留这样的生成样本.

 

参考文献:

  1. ENERGY-BASED GENERATIVE ADVERSARIAL NETWORK
  2. https://github.com/buriburisuri/ebgan
  3. http://www.slideshare.net/butest/deep-belief-nets
  4. https://siavashk.github.io/2016/02/22/autoencoder-imagenet/
  5. UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS
  6. 究竟什么是Word2vec ? Skip-Gram模型和Continuous Bag of Words(CBOW)模型 ?

 

本文章属于“David 9的博客”原创,如需转载,请联系微信yanchao727727,或邮箱:yanchao727@gmail.com

发布者

David 9

邮箱:yanchao727@gmail.com 微信: david9ml

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注