分享

【生成模型】流模型的发展史:NICE → RealNVP → Glow

 GoDesign 2022-08-17 发布于北京

背景——

在先前的文章中循环神经网络在从头分子设计中的应用【深度学习+分子设计】图生成模型在从头分子设计中的应用),介绍了分子生成里面用到的GAN和VAE等生成模型,这里不多介绍。这次主要讲一下目前的流生成模型(见图1)。其实流生成模型在2014年已经被提出来了,但是一直被忽视。最近OpenAI开发的Glow展示了流生成模型所具备的强大图像生成能力。在谈论Glow之前,先介绍一下由Dinh Laurent等开发的NICE [1] 和RealNVP [2] 模型。总的来说,Glow是基于这两者发展而来的。

图1. 三类生成模型的比较。图片来自https://lilianweng./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:///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:///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:///pdf/1410.8516.pdf

[2] Dinh, Laurent, Jascha Sohl-Dickstein, and Samy Bengio. "Density estimation using Real NVP." Conference paper atICLR 2017. https:///pdf/1605.08803.pdf

[3] Kingma, Durk P., and Prafulla Dhariwal. "Glow: Generative flowwith invertible 1x1 convolutions." Conference paper at NeurIPS 2018. https:///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:///pdf/1707.04585.pdf


作者:徐优俊

编辑:孙翔宇

GoDesign

ID:Molecular_Design_Lab

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约