语法变量自动编码器

Grammar Variational Autoencoder

1.摘要

深度生成模型在学习连续数据(如自然图像、艺术品和音频)的相干潜在表示方面取得了巨大成功。 然而,离散数据的生成建模,如算术表达式和分子结构,仍然面临着重大的挑战。 本文做了关键的观察,离散数据经常可以表示为上下文无关语法中的解析树。本文提出了一种变分自动编码器,它直接对这些解析树进行编码和解码,确保生成的输出始终在语法上有效。 令人惊讶的是,我们发现,不仅我们的模型更经常地生成有效的输出,它还学习到一个更相干的潜在空间,其中附近的点解码到类似的离散输出。 我们通过展示它们在贝叶斯优化中对符号回归和分子生成的改进性能来证明我们学习的模型的有效性。

2.介绍

这里作者首先介绍了些生成机器学习模型近些年在连续域的应用研究,比如音乐即兴创作等。 但最近对离散变量的研究也越来越多,比如算术表达:Gansfor sequences of discrete elements with the gumbel softmax distribution,编程语言,分子结构等
为了训练生成模型,我们通常把这些目标表示成字符串(即编码)。我们编码成字符串的原因是存在强大的文本序列建模模型,如长期短期记忆网络(LSTM)(Hochreiter和Schmidhuber, Generating sentences from a continuous space,1997年)、门控递归单元(GRUs)(Cho等人,Learning phrase representations using rnn encoder-decoder for statistical machine
translation,2014年)和动态卷积神经网络(DCNNs)(Kalchbrenner等人,A convolutional neural network for modelling sentences,2014年)。
例如,分子可以用所谓的SMILES字符串(Weininger, Smiles, a chemical language and information system,1988和GomezBombarelli等人,Automatic chemical design using a data-drivencontinuous representation of molecules,2016b)来表示。 最近开发了一个基于SMILES字符串的分子生成模型,该模型使用GRU和DCNN。 该模型能够编码和解码分子到和从一个连续的潜在空间,允许一个人搜索这个空间寻找具有理想性质的新分子(Gomez-Bombarelli等人,Automatic chemical design using a data-driven continuous representation of molecules,2016b)。
然而,使用字符串表示离散对象的一个直接困难是,表示非常脆弱:字符串中的小变化可能导致完全不同的对象,或者通常根本不对应于有效对象。 具体来说,Gomez-Bombarelli等人描述了在寻找新的分子时,概率译码器-从连续的潜在空间映射到分子结构空间的分布-有时会意外地在不有效的SMILES字符串或不编码可信分子的字符串上放置高概率。
为了解决这个问题,我们建议使用语法直接结合关于离散数据结构的知识。 语法存在于各种各样的离散领域,如符号表达式(Allamanis等人,2016年)、标准编程语言如C(Kernighan等人,1988年)和化学结构(James等人,2015年)。 例如,语法上有效的SMILES字符串集合使用上下文自由语法来描述,该语法可用于解析和验证。
给定一个语法,每个有效的离散对象都可以被描述为语法中的解析树。因此,我们提出了语法变分自动编码器(GVAE),它直接从解析树到解析树编码和解码。生成解析树而不是字符串可以确保这所有输出都基于语法有效。 这使GVAE从学习句法规则中解放出来,并允许它完全专注于学习其他“语义”属性。
作者在生成离散数据的两个任务上演示了GVAE:1)生成简单的算术表达式;2)生成有效分子。 不仅表明模型比基于字符的自动编码器产生更高比例的有效输出,而且还产生更平滑的潜在表示。 还表明,这种学习的潜在空间对于搜索适合数据的算术表达式、寻找更好的类药物分子以及对目标特性进行准确预测是有效的。

3.方法

这有两篇文献:Auto-encoding variational Bayes和Stochastic backpropagation and approximate inference in deep generative models。这两篇文献提出了变分自动编码器。本文的工作也是在此基础上改进的。
在这一部分中,我们描述了语法如何改进离散数据的变分自动编码器(VAE),它将通过大幅减少VAE产生的无效输出的数量来做到这一点。 我们说明了我们对分子数据的方法,但是它将扩展到任何可以用语法描述的离散数据。

基于字符的VAE的一个突出问题是,它可能经常将潜在点映射到无效的序列,希望VAE将从训练数据中推断出什么构成有效序列。 与其隐式地鼓励VAE产生有效序列,我们建议给出VAE关于如何产生有效序列的显式知识。 我们通过对序列使用语法来做到这一点:给定一个语法,我们可以获取任何有效的序列并将其解析为一个解析树。 这个解析树上的预序遍历会产生一系列生成规则。 按顺序应用这些规则将产生原始序列。 我们的方法是学习一个VAE,它产生语法生成规则序列。 其好处是生成有效的生产规则序列是微不足道的,因为语法描述了在生成过程中的任何一点都可以选择的有效规则集。 因此,我们的模型能够专注于学习序列数据的语义属性,而不必学习句法约束。

下图是作者用GVAE在分子模型编码和解码的例子图示。 在这里插入图片描述
采样算法流程
在这里插入图片描述
训练一个GVAE的算法流程。
在这里插入图片描述

4.实验

作者用两个序列优化问题做实验

4.1问题———寻找最适合数据集的算术表达式,寻找新的药物分子
对于第一个问题,作者首先使用以下语法中得到了一组10万个随机生成的一元算术表达式。
在这里插入图片描述
其中S和T是非终端,符号|将从每个非终端生成的可能生产规则分开。
通过解析这个语法,我们可以随机生成单变量算术方程(x的函数),例如: s i n ( 2 ) , x / ( 3 + 1 ) , 2 + x + s i n ( 1 / 2 ) , x / 2 ∗ e x p ( x ) / e x p ( 2 ∗ x ) sin(2),x/(3+1),2+x+sin(1/2),x/2*exp(x)/exp(2*x) sin(2),x/(3+1),2+x+sin(1/2),x/2exp(x)/exp(2x)。我们限制每个选定字符串的长度最多有15个生产规则。给定这个数据集,我们训练CVAE和GVAE来学习算术表达式的潜在空间。我们建议在这个潜在的表达式空间中进行优化,以找到一个最适合固定数据集的表达式。最佳拟合的一个常见度量是在选定表达式的预测和真实数据之间的测试MSE。 在生成的表达式中,指数函数的存在会导致非常大的MSE值。 因此,我们使用目标变量log(1+MSE)而不是MSE。

对于第二个问题,本文遵循(Gomez-Bombarelli等人,Automatic chemical design using a data-driven continuous representation of molecules,2016b)并优化分子的药物性质。我们的目标是最大化水辛醇划分系数(对数P),这是药物设计中的一个重要度量,可以描述分子的药物相似性。我们考虑一个受惩罚的logP评分,考虑到其他分子性质,如环的大小和合成可达性(Ertl&Schuffenhauer, Estimation of synthetic accessibility score of drug-like molecules based on molecular complexity and fragment contributions,2009年)。CVAE和GVAE模型的训练数据是Gomez-Bombarelli等人从ZINC数据库中随机提取的25万条微笑串(Weininger, Smiles, a chemical language and information system,1988年)。

4.2可视化潜在的空间

a.算术表达式

为了定性地评估算术表达式的VAE嵌入的平滑性,我们尝试在两个算术表达式之间进行插值,如鲍曼等人所述。这是通过编码两个方程,然后在潜在空间中执行线性插值。对字符和语法VAE的比较结果见表1。虽然字符VAE平滑地在方程的文本表示之间进行插值,但它通过不解码为有效方程的中间点。相反,语法VAE还提供了光滑的插值,并为潜在空间中的任何位置产生了有效的方程。对二维潜空间的进一步探索见附录。
在这里插入图片描述

b.分子

我们感兴趣的是,如果GVAE产生一个相干的分子潜在空间。 为了评估这一点,我们首先编码一个分子。 然后,我们在潜在空间中生成2个随机正交单元向量(缩小到只搜索分子的邻域)。 以这些方向的组合移动定义了一个网格,在网格中的每个点,我们解码潜在向量1000次。 我们选择最常出现的分子作为代表分子。 图3显示了围绕两个不同分子的这种潜在空间搜索。 与Gomez-Bombarelli等人的图13-15进行比较。 我们注意到,在GVAE的每个图中,潜在空间是非常平滑的,在许多情况下,从一个网格点移动到另一个网格点只会改变分子中的单个原子。 在CVAE(Gomez-Bombarelli等人,2016b)中,我们没有观察到这样的细粒度平滑。
在这里插入图片描述
4.3贝叶斯优化
作者沿用了Automatic chemical design using a data-driven continuous representation of molecules方法,训练了GVAE的基础上,训练了一个额外的模型来从序列的潜在表示中预测出序列的属性。
为了提出很有前途的新序列,我们可以从一个编码序列的潜在向量开始,然后使用这个预测器的输出(包括其梯度)向最有可能提高其特性的潜在空间方向移动。由此产生的新的潜在点然后可以被解码成相应的序列。
在实践中,测量每个新序列的属性可能是一个昂贵的过程。例如,该序列可以代表一个有机光伏分子,并且该性质可能是用于估计该分子的能量转换效率的昂贵的量子力学模拟的结果(哈赫曼等人,2011)。该序列也可以表示一个计算计算成本昂贵的程序或表达式。因此,理想情况下,我们希望优化过程只执行少量的评估。为此,我们使用贝叶斯优化方法,该方法选择下一个点通过最大化获取函数来评估,该获取函数量化在特定位置评估属性的好处(沙赫里亚里等人,2016)。
在训练GVAE后,我们得到了训练数据中每个序列的潜在特征向量,通过变分编码分布给出。我们利用这些向量及其相应的性质估计来训练具有500个诱导点的稀疏高斯过程(SGP)模型(斯纳尔森和哈拉马尼, Sparse Gaussian processes using pseudo-inputs,2005),用于对潜在空间中新点的性质进行预测。在训练了SGP之后,我们使用预期的改进(EI)启发式进行了5次批处理贝叶斯优化的迭代(琼斯等人,Efficient global optimization of expensiveblack-box functions,1998年)。
在每次迭代中,我们通过顺序最大化EI获取函数来选择一批50个潜在向量。 我们使用Kriging Believer算法来解释批处理选择过程中的待定评估(Cressie, The origins of kriging,1990)。 也就是说,在选择批处理中的每个新数据点后,我们将该数据点添加为稀疏GP模型中的一个新诱导点,其相关目标变量等于该点GP预测分布的平均值。 一旦选择了50个潜在向量的新批,批处理中的每个点就会使用GVAE中的解码器网络转换成相应的序列。 然后计算新生成序列的属性,并在重新训练SGP并开始下一次BO迭代之前将所得数据添加到训练集中。 请注意,一些新序列将是无效的,因此不可能获得它们相应的属性估计。 在这种情况下,我们将属性固定为等于原始训练数据中观察到的最坏值。

a.算术表达式
我们的目标是看看我们是否能找到一个最适合固定数据集的算术表达式。 具体来说,我们通过选择1000个输入值,这个输入值在−10和10之间。
然后,我们通过我们的真实函数 1 / 3 + x + S i n ( x ∗ x ) 1/3+x+Sin(x*x) 1/3+x+Sin(xx)来生成真实的目标观测。 我们使用贝叶斯优化(BO),如上所述,搜索这个方程。我们运行BO5次迭代,平均跨越10次重复的过程。 下表(第1和第2行)显示了获得的结果。 表中的第三列报告了BO发现的有效算术序列的分数。
在这里插入图片描述
下表显示了GVAE和CVAE在BO搜索过程中发现的前3个表达式,以及它们相关的分数值。
在这里插入图片描述
下图显示了GVAE和CVAE找到的最佳表达式与真实函数的比较。我们注意到,CVAE未能找到真表达式的正弦部分,而GVAE表达式和真函数之间的差异可以忽略不计。
在这里插入图片描述

b.分子
为了找到药物分子,我们现在执行我们考虑寻找新的5次BO迭代的问题,以及10个试验的平均结果。下表(第3行和第4行)显示了总体BO结果。
在这里插入图片描述
在这个问题中,GVAE产生的有效序列大约是CVAE的两倍。 GVAE产生的有效序列平均得分也较高。 每个方法找到的最佳SMILES字符串及其分数如下表所示。
在这里插入图片描述
分子本身如下图所示
在这里插入图片描述

4.4潜在表示的预测性能
我们现在进行一系列实验来评估每个自动编码器发现的潜在表示的预测性能。 为此,我们使用了以前贝叶斯优化实验中使用的稀疏GP模型,并在具有10%数据的左出测试集上查看其预测性能,其中数据是由可用序列的潜在表示(这些是稀疏GP模型的输入)和这些序列的相关属性(这些是稀疏GP模型中的输出)形成的)。 下表显示了GVAE和CVAE的平均测试RMSE和测试对数似然,用于表达式和分子的10个不同的数据分割。 此表显示,GVAE产生的潜在特征比CVAE产生的潜在特征具有更好的预测性能。
在这里插入图片描述

5.总结

本文提出的GVAE虽然涉及的研究领域小但挺有用的。

返回贝叶斯优化优秀论文总结目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小怪兽会微笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值