AI造图新境界!OpenAI提出的可逆生成模型,比GAN更具潜力
2018-08-03
最近,著名人工智能研究组织OpenAI发布了其最新工作:《Glow:更好的可逆生成模型》(《Glow:BetterReversible Generative Models》)。
据文章介绍,Glow是一个可逆的生成模型,它使用了可逆的1×1卷积。它基于以前关于可逆生成模型的研究,并简化了体系结构。该模型能够生成逼真的高分辨率图像,支持有效的采样,并能发现可用于数据处理的特征。研究人员公开了模型代码和一个在线可视化工具,以便人们能够使用这个模型并继续开展研究。
生成模型是基于观察数据,然后学习出如何生成这些数据的模型。学习数据生成过程需要学习数据中存在的结构,成功的模型应该能够生成与数据相似的输出。精确生成模型具有广泛的应用,包括语音合成、文本分析与合成、半监督学习和基于模型的控制。研究人员提出的技术也可以应用于这些问题。
Glow是一种可逆的生成模型,也称为基于流的生成模型,是NICE和RealNVP技术的延伸。相比于GAN和VAES,基于流的生成模型在研究领域中关注较少。
而基于流的生成模型的优点包括:
精确的潜变量推断和最大似然估计。在VAE中,只能近似推断对应于数据点的潜变量的值。GAN根本没有编码器来推断潜在的情况。在可逆的生成模型中,推断潜在情况可以在没有近似的情况下精确完成。这不仅可以导致精确的推断,而且还可以优化最大似然估计。
有效推理和有效生成。自回归模型,例如PixelCNN,也是可逆的,但是从这些模型很难并行化,而且通常在并行时效率很低。基于流的生成模型,如Glow和RealNVP,对于推理和生成来说都是高效的并行化模型。
Glow对两名研究人员脸部图像的属性操作。训练过程中,模型没有提供眼睛、年龄等属性标签等情况下,自己学习潜在空间,部分特定方向对应胡须密度,年龄,头发颜色等属性的变化
下游任务可用的潜在空间。自回归模型的隐藏层具有未知的边缘分布,使得对数据的有效处理变得更加困难。在GANs中,数据点通常不能在潜在空间中直接表示。对于可逆的生成模型和VAE则不是这样,它们允许各种操作,例如数据插值和数据修改。
节省内存。在可逆神经网络中计算梯度需要一定数量的内存,在RevNet文章中有所解释。
结果
RealNVP是以前基于流的生成模型最好的结果,研究人员的方法与RealNVP相比取得了显著的改进。对于RealNVP模型和Glow模型,在不同数据集的测试集上进行了量化性能评估。Glow模型可以高效生成逼真的高分辨率图像。这个模型在NVIDIA 1080 Ti GPU上产生一个256×256的样品需要130毫秒。
潜空间内插
研究人员还可以在任意人脸之間进行插值,使用编码器对两幅图像进行编码,并从中间点进行采样。请注意,输入是任意的人脸,而不是来自模型的样本,从而证明了模型支持整个目标分布。
潜空间操作
研究人员可以在没有标签的情况下训练一个基于流的模型,然后将学习到的模型用于后续任务,比如处理输入的属性。这些语义属性可以是面部或头发的颜色、图像的风格、声音的音高,或者文本句子的情感。由于基于流的模型有一个非常好的编码器,因此可以对输入进行编码,并计算有和不带属性的输入的平均潜在向量。然后,可以使用两者之间的向量方向来操作对该属性的任意输入。
贡献
研究人员的主要贡献同时也是与RealNVP模型的不同之处在于增加了一个可逆的1×1卷积,以及删除了一些组件,从而简化了整个体系结构。
RealNVP体系结构由两种类型的层组成:具有棋盘掩码的层和具有通道掩码的层。研究人员移除了棋盘掩码的层,简化了体系结构。具有通道掩码的层重复执行以下步骤可以等效:
通过在通道维度上逆转输入的顺序来改变输入。
按照特征维数将输入对分成A和B两个部分。
将A输入浅层卷积神经网络。根据神经网络的输出线性变换B。
连接A和B。
通过连接这些层,A更新B,B更新A,然后A更新B。这种信息的双向流动显然是相当僵化的。研究人员发现,通过将步骤(1)的反向排列改变为随机全排列,模型的性能得到了改善。
更进一步,研究人员还可以学习最优排列。学习置换矩阵是一种离散优化,不能适用到梯度上升。但由于置换操作只是具有平方矩阵的线性变换的特例,所以可以用卷积神经网络来实现,因为置换通道等价于输入和输出通道数相等的1x1卷积运算。因此,研究人员用学习的1x1卷积运算代替固定置换。将lxl卷积的权值初始化为随机旋转矩阵。此操作带来了显著的模型改进。研究人员还证明了通过对权值进行LU分解,可以有效地完成目标函数优化所涉及的计算。
另外,研究者还删除了批归一化,并将其替换为激活归一化层。这一层只是简单地转移和缩放激活函数,给定数据的初始minibatch,该层具备依靠数据的初始化技术可对激活函数进行归一化操作。这允许将minibatch的大小缩小到1(对于大型图像),并扩大模型的大小。
规模
研究人员的体系结构结合了各种优化,例如梯度检查点,使其能够更大的规模地训练基于流的生成模型。研究人员使用Horovod在集群上轻松地训练研究人员的模型;研究人员演示中使用的模型在五台机器上进行了训练,每台机器有八个GPU。使用这个配置,研究人员可以训练超过一亿个参数的模型。
研究方向
研究人员的工作表明,可以训练基于流的模型来生成逼真的高分辨率图像,并可以很容易地学习到隐藏表征。研究人员为今后的工作提出了几个方向:
在似然函数上与其他模型比较。在对数似然方面,自回归模型和VAE模型的性能优于基于流的模型,但它们分别存在采样效率低和推理不精确的缺点。研究人员可以将基于流的模型、VAE模型和自回归模型结合起来,以权衡它们的优势,这将是未来工作的一个有趣的方向。
改进体系结构,提高计算效率和参数效率。为了生成逼真的高分辨率图像,人脸生成模型使用了200亿参数和600层卷积层,这使得训练的成本很高。深度较小的模型在学习长期依存关系方面表现较差。使用自注意架构,或者进行渐进式的训练来扩展到高分辨率,可以使训练Glow模型的成本降低。(摘自美《深科技》)(编辑/华生)