——背景——
在先前的文章中(循环神经网络在从头分子设计中的应用,【深度学习+分子设计】图生成模型在从头分子设计中的应用),介绍了分子生成里面用到的GAN和VAE等生成模型,这里不多介绍。这次主要讲一下目前的流生成模型(见图1)。其实流生成模型在2014年已经被提出来了,但是一直被忽视。最近OpenAI开发的Glow展示了流生成模型所具备的强大图像生成能力。在谈论Glow之前,先介绍一下由Dinh Laurent等开发的NICE [1] 和RealNVP [2] 模型。总的来说,Glow是基于这两者发展而来的。
图1. 三类生成模型的比较。图片来自https://lilianweng.github.io/lil-log/2018/10/13/flow-based-deep-generative-models.html
——NICE模型——
Dinh Laurent等人在2015年的ICLR的workshop上提出了“NICE: Non-linear independent components estimation”(非线性独立成分估计)[1],标志着流生成模型的诞生。在NICE模型中,作者想建立一套可逆的映射关系,将x转变成各分量服从独立高斯分布的z, 即
作者引入了加性耦合层(additive couple layer)来实现这样的可逆变换,即
其中,x1=x1:d是x的前d个分量, x2=xd+1:D 是x的d+1~D个分量。
为了让信息充分的混合,NICE使用了交叉耦合的方法(图2)。
图2. 在NICE中,x1, x2信息通过交叉耦合过程。图片来自https://kexue.fm/archives/5776
最后NICE模型只在MNIST数据集上得到了还不错的表现(图3)。
图3. NICE在MNIST数据集上的表现。(a)从训练好的模型中采样后生成出来的样本;(b)(c) 利用NICE模型进行图片修复。
——RealNVP模型——
Dinh Laurent等人在2017年的ICLR的conference上提出了“Density estimation using Real NVP." [2] Real-valued non-volume preserving(实值非体积保持),在NICE基础上,做了几点优化:
(1) 它一般化了耦合层,并成功地在耦合模型中引入了卷积层,使得可以更好地处理图像问题。
这里s和t都是x的向量函数。
图4. RealNVP在卷积层中利用随机打乱的方式使信息充分混合。图片来自https://kexue.fm/archives/5807
(2) 它还提出了多尺度层的设计(图5),降低计算量,使得生成质量得到提升。
图5. RealNVP的多尺度层设计框架。图片来自原文。多尺度结构相当于抛弃了NICE的标准正态分布的直接假设,采用了一个组合式的条件分布,条件分布相比于独立分布具有更大的灵活性。
RealNVP在多个图像数据集(CIFAR-10, Imagenet (32× 32), Imagenet (64 × 64), CelebA, LSUN (bedroom))中效果有了很大的提升(图6a, 6b)。
(a)
(b)
图6. (a)RealNVP在图像数据集上的生成效果表现;
(b)RealNVP在图像数据集上的插值效果。图片来自原文。
——Glow模型——
来自OpenAI的Kingma和Dhariwal在2018年的NeurIPS发表的”Glow: Generative Flow with Invertible 1×1 Convolutions” [3],将流生成模型进一步升华,使其具备了强大的图像生成能力。整体来看,Glow模型在RealNVP的基础上引入了1x1可逆卷积来代替前面说的随机打乱通道的操作,并且对RealNVP的原始模型做了简化和规范,使得它更易于理解和使用(图7)。在NN(*)信息编码过程,Glow模型采用了RevNet [4](图8),由于该架构不需要存储每个节点的激活值,能够大大降低了内存的消耗。
图7. Glow模型的三个主要组成部分。
图8. RevNet中残差模块的前向(a)和反向(b)计算过程。
Glow模型在各大图像数据集上都产生了令人惊艳的效果,如图9、10、11所示:
图9. Glow模型在分布中采样生成的高清图片。图片来自原文。
图10. Glow模型的插值效果。图片来自原文。
图11. Glow模型中对图片进行基于属性的插值效果。图片来自原文。
——小结——
总的来说, 虽然Glow模型能够产生了强大的生成高清图片的能力,但是其计算量还是非常巨大的,所以流生成模型目前来说在缩减计算量上还有一段路要走。
参考文献:
[1] Dinh, Laurent, David Krueger, and Yoshua Bengio. “NICE: Non-linear independent components estimation.” Workshop at ICLR2015. https://arxiv.org/pdf/1410.8516.pdf
[2] Dinh, Laurent, Jascha Sohl-Dickstein, and Samy Bengio. "Density estimation using Real NVP." Conference paper atICLR 2017. https://arxiv.org/pdf/1605.08803.pdf
[3] Kingma, Durk P., and Prafulla Dhariwal. "Glow: Generative flowwith invertible 1x1 convolutions." Conference paper at NeurIPS 2018. https://arxiv.org/pdf/1807.03039.pdf
[4] Gomez, Aidan N., Mengye Ren, Raquel Urtasun and Roger B. Grosse.“The reversible residual network: back propagation without storing activations.”Conference paper at NeurIPS 2017. https://arxiv.org/pdf/1707.04585.pdf
作者:徐优俊
编辑:孙翔宇
GoDesign
ID:Molecular_Design_Lab
联系客服