在文章“手把手教你写一个生成对抗网络”中,我们谈到过生成对抗网络。意犹未尽的是,只是了解生成对抗网络的基本原理和算法形式,对于训练结果还没有仔细研究。
最近拜读了机器学习四大神之一Yann LeCun (燕乐存 目前在facebook就职) 今年发表的论文“ENERGY-BASED GENERATIVE ADVERSARIAL NETWORK”。基于能量模型的生成对抗网络,训练结果真的很不错。不像一般的生成网络,生成的图片像素随机性大,字体边界模糊。看下图论文在MNIST集上的比较:
左边是一般GAN(生成对抗网络)的生成数字, 右边就是论文的改进EBGAN(基于能量的生成对抗网络)。可以很明显地看出,改进的生成数字比较清晰,连接也比较流畅 。传统GAN生成的数字就比较模糊,像素连贯性较差。
上图是论文EBGAN和DCGAN的比较, EBGAN在边缘的生成效果上更流畅, 而且加了特殊的正则项, 在生成的类别上, EBGAN更倾向于生成不同的脸型和人种.
如此厉害的生成结果,多亏Yann大神在判别器中使用了基于能量的模型(Yann大神是深度神经网络开拓者之一,这种RBM中常用的技能简直是小意思吧?)。
事实上,普通的GAN仅仅用后向传播就能训练出不错的生成模型,已经很让人吃惊了。Yann的改进模型EBGAN把其中的判别器改造成了有自编码器和自解码器的神经网络,可谓更上一层楼。
来看看模型总览:
这里的“D”就是判别器,“G”就是生成器。”D”不再是一般的神经网络了,而具有深度神经网络的属性:自编码器和自解码器。
理论基础正是基于能量的模型:
判断器”D”使用基于能量的目标函数, 形象地说, 物体边缘外部区域具有的很强的能量, 而内部区域具有弱能量.
在神经网络中体现在, 神经单元v(可视层单元)和h(隐含层单元)的连接上的能量计算, 在可视层单元输入一张图片,有一些隐含层单元会激活, 这里, 有一个能量分布Energy(v, h):
判断器”D”具有深度网络的表达和总结能力, 使得对抗网络的整体表现提高.
看一下判断器的目标函数:
其实和一般GAN的目标函数是一个形式, 只是, 判别器变为了Dec(Enc(·)). 其中,
判断器的目标很明确, 就是当输入样本为真实样本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类似:
目标很明确: 欺骗判断器, 使得||Dec(Enc(z)) – G(z)||值尽量大.
我们知道, 设S = Dec(Enc(z)), S即生成器的输出能量, 是图像的能量表达. 论文最后, 为生成器目标函数引入了一个正则项:
bs是batch块大小, S是一个生成样本的输出能量Dec(Enc(z)), 这个正则项保证了输出生成样本的差异化. 能量相似的图像, 生成器就可能舍弃, 寻求新的有差异能量的样本去生成. 两个S之间的正交性越大, 我们越是保留这样的生成样本.
参考文献:
- ENERGY-BASED GENERATIVE ADVERSARIAL NETWORK
- https://github.com/buriburisuri/ebgan
- http://www.slideshare.net/butest/deep-belief-nets
- https://siavashk.github.io/2016/02/22/autoencoder-imagenet/
- UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS
- 究竟什么是Word2vec ? Skip-Gram模型和Continuous Bag of Words(CBOW)模型 ?
本文章属于“David 9的博客”原创,如需转载,请联系微信yanchao727727,或邮箱:yanchao727@gmail.com
David 9
Latest posts by David 9 (see all)
- 修订特征已经变得切实可行, “特征矫正工程”是否会成为潮流? - 27 3 月, 2024
- 量子计算系列#2 : 量子机器学习与量子深度学习补充资料,QML,QeML,QaML - 29 2 月, 2024
- “现象意识”#2:用白盒的视角研究意识和大脑,会是什么景象?微意识,主体感,超心智,意识中层理论 - 16 2 月, 2024