阅读笔记-Efficient learning of non-autoregressive graph variational autoencoders for molecular graph generation
- 概要
- 方法
-
- 表示符号
- 图形变分自动编码器
概要
SMILES:简化分子线性输入规范(SMILES),是一种用ASCII字符串明确描述分子结构的规范。
关于分子图的生成方法主要有两类:non?autoregressive\mathbf {non-autoregressive}non?autoregressive与autoregressive\mathbf {autoregressive}autoregressive、非自回归的方法允许更有原则地生成模型,无需任何迭代过程即可使用非自回归分布p(G∣z)p(\mathcal G|\mathbf z)p(G∣z)直接从潜在变量z\mathbf zz生成分子图结构G\mathcal GG,具有快速高效的优点但性能较差。由于图同构所带来的挑战,即一个分子图对其节点的排列不变性,基于这种方法的方法很少被提出。目前有两种基于非自回归的工作GraphVAE\mathbf {GraphVAE}GraphVAE和MolGAN{\mathbf {MolGAN}}MolGAN。GraphVAE\mathbf {GraphVAE}GraphVAE中图的同构问题是通过计算量大的图匹配过程来解决的。而MolGAN{\mathbf {MolGAN}}MolGAN的训练遭受模式崩溃问题,因此生成的分子图较少。 非自回归方法以非常快速和有效的方式成功地生成了小分子图,但是在生成较大的图时存在模型训练困难和有效率低的问题。由于这种局限性,旨在使用自回归分布按节点顺序生成一个分子图节点的自回归方法已成为主要研究方向。这些方法成功地生成了高有效性的分子图,但每生成一次都需要迭代,效率较低。
方法
表示符号
- G=(V,E)\mathcal G=(\mathcal{V},\mathcal {E})G=(V,E):表示一个具有mmm个节点的无向图。V\mathcal VV和E\mathcal EE分别表示节点集合与边的集合。
- vi∈V\mathbf v_{i}\in\mathcal Vvi?∈V:表示节点向量;
- ei,j∈E\mathbf e^{i,j}\in\mathcal Eei,j∈E表示边向量,并且由于是无向图,所以有:ei,j=ej,i\mathbf e^{i,j}=\mathbf e^{j,i}ei,j=ej,i。ei,j\mathbf e^{i,j}ei,j表示第iii个原子和第jjj个原子之间的化学键,并且它是一个表示化学键类型的qqq维的one?hotone-hotone?hot向量。为了简单起见,作者对分子内部的化学键进行了简化,因此只需要考虑单键,双键,三键,无键,因此q=4q=4q=4;
- 对于第iii个原子vi=(vi,1,...,vv,p)\mathbf v^{i}=(v^{i,1},...,v^{v,p})vi=(vi,1,...,vv,p)是由表示原子类型,电荷形式和显示氢原子数量的三个one-hot向量串联而成的一个p\mathbf pp维的向量,并且p\mathbf pp依赖于所使用的数据集。
- y=(y1,...,yl)y=(y^{1},...,y^{l})y=(y1,...,yl):是代表分子性质的表示向量。
图形变分自动编码器
作者构建了一个条件非自回归图自编码器。它的目的是找到一个基于潜在表示向量z\mathbf zz,分子性质向量y\mathbf yy,模型参数θ\mathbf {\theta}θ的图G\mathcal GG的生成分布pθ(G∣z,y)\mathcal {p}_{\mathbf \theta}(\mathcal G|\mathbf {z,y})pθ?(G∣z,y)。并且,z\mathbf zz和y\mathbf yy的先验分布应该为:p(z)=N(z∣0,I)\mathcal p(\mathbf z)=\mathcal N(\mathcal z|\mathbf 0,\mathbf I)p(z)=N(z∣0,I),p(y)=N(y∣μy,Σy)\mathcal p(\mathbf y)=\mathcal N(\mathbf y|\mathbf{ \mu}_{\mathbf y},\mathbf {\Sigma}_{\mathbf y})p(y)=N(y∣μy?,Σy?)。
分布q?(z∣G,y)q_{\phi}(\mathbf z|\mathcal G,\mathbf y)q??(z∣G,y),以及分布pθ(G∣z,y)p_{\theta}(\mathcal G|\mathbf z,\mathbf y)pθ?(G∣z,y)分别被称为编码器和解码器。对于解码器,使用的是消息传递神经网络MPNN\mathbf {MPNN}MPNN(它是图神经网络的一种变体,可直接在不同大小的图上运行,并且对图结构具有同构不变性。)解码器的输入时G\mathcal GG与y\mathbf yy输出一组仿射参数:平均值向量μz(G,y)\mathbf {\mu}_{\mathbf z}(\mathcal G,\mathbf y)μz?(G,y),方差向量σz2(G,y)\mathbf {\sigma}^{2}_{\mathbf z}(\mathcal G,\mathbf y)σz2?(G,y)。?∈N(0,I)\epsilon \in\mathcal N(\mathbf 0,\mathbf I)?∈N(0,I),可以得到图的潜在表示向量zzz为z=μz(G,y)+??σz2(G,y)\mathbf z=\mathbf {\mu}_{\mathbf z}(\mathcal G,\mathbf y)+\mathbf \epsilon\bigodot\mathbf {\sigma}^{2}_{\mathbf z}(\mathcal G,\mathbf y)z=μz?(G,y)+??σz2?(G,y)。而解码器是一个全连接神经网络。