L EARNING M ULTIMODAL G RAPH - TO -G RAPH T RANSLATION FOR M OLECULE O PTIMIZATION
Anonymous authors
Paper under double-blind review
A BSTRACT
We view molecule optimization as a graph-to-graph translation problem.
The goal is to learn to map from one molecular graph to another with better properties based on an available corpus of paired molecules.
Since molecules can be optimized in different ways, there are multiple viable translations for each input graph.
A key challenge is therefore to model diverse translation outputs.
Our primary contributions include a junction tree encoder-decoder for learning diverse graph translations along with a novel adversarial training method for aligning distributions of molecules.
Diverse output distributions in our model are explicitly realized by low-dimensional latent vectors that modulate the translation process.
We evaluate our model on multiple molecule optimization tasks and show that our model outperforms previous state-of-the-art baselines by a signiﬁcant margin.
I NTRODUCTION
The goal of drug discovery is to design molecules with desirable chemical properties.
The task is challenging since the chemical space is vast and often difﬁcult to navigate.
One of the prevailing approaches, known as matched molecular pair analysis (MMPA) (Griffen et al., 2011; Dossetter et al., 2013), learns rules for generating “molecular paraphrases” that are likely to improve target chemical properties.
The setup is analogous to machine translation: MMPA takes as input molecular pairs { ( X, Y ) } , where Y is a paraphrase of X with better chemical properties.
However, current
MMPA methods distill the matched pairs into graph transformation rules rather than treating it as a general translation problem over graphs based on parallel data.
In this paper, we formulate molecule optimization as graph-to-graph translation .
Given a corpus of molecular pairs, our goal is to learn to translate input molecular graphs into better graphs.
The proposed translation task involves many challenges.
While several methods are available to encode graphs (Duvenaud et al., 2015; Li et al., 2015; Lei et al., 2017), generating graphs as output is more challenging without resorting to a domain-speciﬁc graph linearization.
In addition, the target molecular paraphrases are diverse since multiple strategies can be applied to improve a molecule.
Therefore, our goal is to learn multimodal output distributions over graphs.
To this end, we propose junction tree encoder-decoder , a reﬁned graph-to-graph neural architecture that decodes molecular graphs with neural attention.
To capture diverse outputs, we introduce stochastic latent codes into the decoding process and guide these codes to capture meaningful molecular variations.
The basic learning problem can be cast as a variational autoencoder.
We constrain the posterior inference over the latent codes to only depend on the target molecule Y rather than both on X and Y .
The motivation is that the additional hints required for translation should depend only on the target type.
Further, to avoid invalid translations, we propose a novel adversarial training method to align the distribution of graphs generated from the model using randomly selected latent codes with the observed distribution of valid targets.
Speciﬁcally, we perform adversarial regularization on the level of the hidden states created as part of the graph generation.
We evaluate our model on three molecule optimization tasks, with target properties ranging from drug likeness to biological activity.
As baselines, we utilize state-of-the-art graph generation methods (Jin et al., 2018; You et al., 2018a) and MMPA (Dalke et al., 2018).
We demonstrate that our model excels in discovering molecules with desired properties, yielding 8.5% to 55.7% relative gain over the best baseline across different tasks.
Meanwhile, our model can translate a given molecule into a diverse set of compounds, demonstrating the diversity of learned output distributions.
R ELATED W ORK
Molecule Generation/Optimization Prior work on molecule optimization approached the graph translation task through generative modeling (G´omez-Bombarelli et al., 2016; Segler et al., 2017;
Kusner et al., 2017; Dai et al., 2018; Jin et al., 2018; Samanta et al., 2018; Li et al., 2018a) and reinforcement learning (Guimaraes et al., 2017;
Olivecrona et al., 2017; Popova et al., 2018;
You et al., 2018a).
Earlier approaches represented molecules as SMILES strings (Weininger, 1988), while more recent methods represented them as graphs.
Most of these methods coupled a molecule generator with a property predictor and solved the optimization problem through Bayesian optimization or reinforcement learning.
In contrast, our model is trained to translate a molecular graph into a better graph through supervised learning.
Our approach is closely related to matched molecular pair analysis (MMPA) (Griffen et al., 2011;
Dossetter et al., 2013) in drug de novo design, where the matched pairs are hard-coded into graph transformation rules.
MMPA’s main drawback is that large numbers of rules have to be realized (e.g. millions) to cover all the complex transformation patterns.
In contrast, our approach uses neural networks to learn such transformations, which does not require the rules to be explicitly realized.
Graph
Neural
Networks
Our work is related to graph encoders and decoders.
Previous work on graph encoders includes convolutional (Scarselli et al., 2009; Bruna et al., 2013;
Henaff et al., 2015;
Duvenaud et al., 2015; Niepert et al., 2016; Defferrard et al., 2016; Kondor et al., 2018) and recurrent architectures (Li et al., 2015; Dai et al., 2016;
Lei et al., 2017).
Graph encoders have been widely applied to network analysis (Kipf & Welling, 2016; Hamilton et al., 2017; Xu et al., 2018) and chemistry (Kearnes et al., 2016;
Gilmer et al., 2017;
Sch ¨ utt et al., 2017; Jin et al., 2017).
Recently proposed graph decoders (Li et al., 2018b; Jin et al., 2018; You et al., 2018b; Liu et al., 2018) focus on learning generative models of graphs.
While our model builds on Jin et al.
(2018) to generate graphs, we contribute new techniques to learn multimodal graph-to-graph mappings.
Image/Text Style Translation Our work is closely related to image-to-image translation (Isola et al., 2017), which was later extended by Zhu et al. (2017) to learn multimodal mappings.
Our adversarial training technique is inspired by recent text style transfer methods (Shen et al., 2017;
Zhao et al., 2018) that adversarially regularize the continuous representation of discrete structures to enable end-to-end training.
Our technical contribution is a novel adversarial regularization over graphs that constrains their scaffold structures in a continuous manner.
J UNCTION T REE E NCODER -D ECODER
Our translation model extends the junction tree variational autoencoder (Jin et al., 2018) to an encoder-decoder architecture for learning graph-to-graph mappings.
Following their work, we interpret each molecule as having been built from subgraphs (clusters of atoms) chosen from a vocabulary of valid chemical substructures.
The clusters form a junction tree representing the scaffold structure of molecules (Figure 1), which is an important factor in drug design.
Molecules are decoded hierarchically by ﬁrst generating the junction trees and then combining the nodes of the tree into a molecule.
This coarse-to-ﬁne approach allows us to easily enforce the chemical validity of generated graphs, and provides an enriched representation that encodes molecules at different scales.
In terms of model architecture, the encoder is a graph message passing network that embeds both nodes in the tree and graph into continuous vectors.
The decoder consists of a tree-structured decoder for predicting junction trees, and a graph decoder that learns to combine clusters in the predicted junction tree into a molecule.
Our key departures from Jin et al.
(2018) include a uniﬁed encoder architecture for trees and graphs, along with an attention mechanism in the tree decoding process.
3. T REE AND G RAPH E NCODER
Viewing trees as graphs, we encode both junction trees and graphs using graph message passing networks.
Speciﬁcally, a graph is deﬁned as G =
( V , E ) where V is the vertex set and E the edge set.
Each node v has a feature vector f v .
For atoms, it includes the atom type, valence, and other atomic properties.
For clusters in the junction tree, f v is a one-hot vector indicating its cluster label.
Similarly, each edge ( u, v ) ∈ E has a feature vector f uv .
Let N ( v ) be the set of neighbor nodes of v .
There are two hidden vectors ν uv and ν vu for each edge ( u, v ) representing the message from u to v and vice versa.
These messages are updated iteratively via neural network g 1 ( · ) :
[Equation]
where ν ( t ) uv is the message computed in the t -th iteration, initialized with ν (0) uv = 0 .
In each iteration, all messages are updated asynchronously, as there is no natural order among the nodes.
This is different from the tree encoding algorithm in Jin et al.
(2018), where a root node was speciﬁed and an artiﬁcial order was imposed on the message updates.
Removing this artifact is necessary as the learned embeddings will be biased by the artiﬁcial order.
After T steps of iteration, we aggregate messages via another neural network g 2 ( · ) to derive the latent vector of each vertex, which captures its local graphical structure:
[Equation]
Applying the above message passing network to junction tree T and to graph G yields two sets of vectors { x T 1 , · · · , x T n } and { x G 1 , · · · , x G n } , which we call source tree vectors and graph vectors .
x T i is the embedding of tree node i , and x G j is the embedding of graph node j .
3. J UNCTION T REE D ECODER
We generate a junction tree T =
( V , E ) with a tree recurrent neural network with an attention mechanism.
The tree is constructed in a top-down fashion by expanding the tree one node at a time.
Formally, let ˜ E
= { ( i 1 , j 1 ) , · · · , ( i m , j m ) } be the edges traversed in a depth ﬁrst traversal over tree
T , where m = 2 |E| as each edge is traversed in both directions.
Let ˜ E t be the ﬁrst t edges in ˜ E .
At the t -th decoding step, the model visits node i t and receives message vectors h ij from its neighbors.
The message h i t ,j t is updated through a tree Gated Recurrent Unit (Jin et al., 2018):
[Equation]
Topological Prediction When the model visits node i t , it ﬁrst computes a predictive hidden state h t by combining node features f i t and inward messages { h k,i t } via a one hidden layer network.
The model then makes a binary prediction on whether to expand a new node or backtrack to the parent of i t .
This probability is computed by aggregating the source encodings { x T∗ } and { x G∗ } through an attention layer, followed by a feed-forward network ( τ ( · ) stands for ReLU and σ ( · ) for sigmoid):
[Equation] [Equation]
[Equation]
Here we use attention( · ; U datt ) to mean the attention mechanism with parameters U datt .
It computes two set of attention scores { α T∗ } , { α G∗ } (normalized by softmax) over source tree and graph vectors respectively.
The output c d t is a concatenation of tree and graph attention vectors:
[Equation]
Label Prediction
If node j t is a new child to be generated from parent i t , we predict its label by
[Equation]
where q t is a distribution over the label vocabulary and
U latt is another set of attention parameters.
3. G RAPH D ECODER
The second step in the decoding process is to construct a molecular graph G from a predicted junction tree (cid:98) T .
This step is not deterministic since multiple molecules could correspond to the same junction tree.
For instance, the junction tree in Figure 2 can be assembled into three different molecules.
The underlying degree of freedom pertains to how neighboring clusters are attached to each other.
Let G i be the set of possible candidate attachments at tree node i .
Each graph G i ∈
G i is a particular realization of how cluster C i is attached to its neighboring clusters { C j , j ∈ N (cid:98) T ( i ) } .
The goal of the graph decoder is to predict the correct attachment between the clusters.
To this end, we design the following scoring function f ( · ) for ranking candidate attachments within the set G i .
We ﬁrst apply a graph message passing network over graph G i to compute atom representations { µ G i v } .
Then we derive a vector representation of G i through sum-pooling: m G i
= (cid:80) v µ G i v .
Finally, we score candidate G i by computing dot products between m G i and the encoded source graph vectors: f ( G i )
= (cid:80) u
[Equation]
G m G i · x G u .
The graph decoder is trained to maximize the log-likelihood of ground truth subgraphs at all tree nodes (Eq.
During training, we apply teacher forcing by feeding the graph decoder with ground truth junction tree as input.
During testing, we assemble the graph one neighborhood at a time, following the order in which the junction tree was decoded.
[Equation]
M ULTIMODAL G RAPH - TO -G RAPH T RANSLATION
Our goal is to learn a multimodal mapping between two molecule domains, such as molecules with low and high solubility, or molecules that are potent and impotent.
During training, we are given a dataset of paired molecules { ( X, Y ) } ⊂
X
× Y sampled from their joint distribution P ( X , Y ) , where X , Y are the source and target domains.
It is important to note that this joint distribution is a many-to-many mapping.
For instance, there exist many ways to modify molecule X to increase its solubility.
Given a new molecule X , the model should be able to generate a diverse set of outputs.
To this end, we propose to augment the basic encoder-decoder model with low-dimensional latent vectors z to explicitly encode the multimodal aspect of the output distribution.
The mapping to be learned now becomes F : ( X, z )
→ Y , with latent code z drawn from a prior distribution P ( z ) , which is a standard Gaussian N ( 0 , I ) .
There are two challenges in learning this mapping.
First, as shown in the image domain (Zhu et al., 2017), the latent codes are often ignored by the model unless we explicitly enforce the latent codes to encode meaningful variations.
Second, the model should be properly regularized so that it does not produce invalid translations.
That is, the translated molecule F ( X, z ) should always belong to the target domain Y given latent code z ∼ N ( 0 , I ) .
In this section, we propose two techniques to address these issues.
[Table]
UNCTION
[Table]
REE
[Table]
NCODER
[Table]
ECODER
[Table]
VJTNN)
First, to encode meaningful variations, we derive latent code z from the embedding of ground truth molecule Y .
The decoder is trained to reconstruct Y when taking as input both its vector encoding z Y and source molecule X .
For efﬁcient sampling, the latent code distribution is regularized to be close to the prior distribution, similar to a variational autoencoder.
We also restrict z Y to be a low dimensional vector to prevent the model from ignoring input X and degenerating to an autoencoder.
Speciﬁcally, we ﬁrst embed molecules X and Y into their tree and graph vectors { x T∗ } , { x G∗ } ; { y T∗ } , { y G∗ } , using the same encoder with shared parameters (Sec 3.1).
Then we perform average pooling over the tree and graph vectors of Y : y T = (cid:80) i y T i / |T Y | and y G = (cid:80) i
y G i / |G Y | .
We sample z T Y and z G Y from the posterior Q ( ·| Y ) via the reparameterization trick (Kingma & Welling, 2013), where the mean and log variance are computed from y T and y G with two separate afﬁne layers.
Finally, we combine the latent code z T Y and z G Y with source tree and graph vectors:
[Equation]
where ˜ x T∗ and ˜ x G∗ are “perturbed” tree and graph vectors of molecule X .
The perturbed inputs are then fed into the decoder to synthesize the target molecule (cid:98) Y .
The training objective follows a conditional variational autoencoder, including a reconstruction loss and a KL regularization term:
[Equation]
[Figure]
[Equation]
CAFFOLD R EGULARIZATION
Second, to avoid invalid translations, we force molecules decoded from latent codes z ∼ N ( 0 , I ) to follow the distribution of the target domain through adversarial training (Goodfellow et al., 2014).
The adversarial game involves two components.
The discriminator tries to distinguish real molecules in the target domain from fake molecules generated by the model.
The generator (i.e. our encoderdecoder) tries to generate molecules indistinguishable from the molecules in the target domain.
The main challenge is how to integrate adversarial training into our decoder, as the discrete decisions in tree and graph decoding hinder gradient propagation.
While it is possible to estimate the gradient using REINFORCE (Williams, 1992), training with these methods could be unstable due to the high variance of sampled gradients.
Moreover, those methods require the model to assemble multiple junction tree samples into graphs, thus invoking candidate attachment enumeration multiple times and signiﬁcantly slowing down the training process.
To overcome these issues, we instead apply adversarial regularization over continuous representations of decoded molecular structures, derived from the hidden states in the decoder (Shen et al., 2017; Zhao et al., 2018).
That is, we replace the input of the discriminator with continuous embeddings of discrete outputs.
For efﬁcient training, we only enforce the adversarial regularization in the tree decoding step.
1 As a result, the adversary only matches the scaffold structure between translated molecules and true samples.
While it is an approximation, we found this approach still yields a signiﬁcant improvement when combined with VJTNN, as chemical properties are largely determined by their scaffold structures.
It remains to be speciﬁed how the continuous representation is computed, and how we can decode junction trees such that the gradient can be back-propagated through the entire tree decoding process.
1: for each training iteration do 2: (1) Train variational JTNN (Sec. 4.1) 3:
Sample batch { ( X ( i ) , Y ( i ) ) } mi =1 ∼ P X×Y and compute latent code z ( i ) Y for molecule Y ( i ) .
Train the encoder/decoder by minimizing (cid:80) i L VAE ( X ( i ) , Y ( i ) ) 5: (2) Train the discriminator D ( · ) for N iterations 6: for k ← 1 to N do 7:
Sample batch { X ( i ) } mi =1 ∼ P X
and { Y ( i )
} mi =1 ∼ P Y .
Let T ( i ) be the junction tree of molecule Y ( i ) .
For each T ( i ) , compute its continuous representation h ( i ) by unrolling the decoder with teacher forcing.
Encode each molecule X
( i ) with latent codes
z ( i ) ∼ N ( 0 , I ) .
For each i , unroll the decoder by feeding the predicted labels and tree topologies to construct the translated junction tree (cid:98) T ( i ) , and compute its continuous representation (cid:98) h ( i ) .
Update D ( · ) by minimizing 1 m (cid:80) mi =1 − D ( h ( i ) )
+ D ( (cid:98) h
( i ) )
along with gradient penalty.
12: end for 13: (3) Train the encoder/decoder adversarially 14:
Sample batch { X ( i ) } m i =1 ∼ P X and { Y ( i ) } m i =1 ∼ P Y .
Repeat lines 8-10.
Update encoder/decoder by minimizing 1 m (cid:80) mi =1 D ( h ( i ) )
− D ( (cid:98) h
( i ) ) .
17: end for
The decoder ﬁrst predicts the label distribution q root of the root of tree (cid:98) T .
Starting from the root, we incrementally expand the tree, guided by topological predictions, and compute the hidden messages { h i t ,j t } between nodes in the partial tree.
At timestep t , the model decides to either expand a new node j t or backtrack to the parent of node i t .
We denote this binary decision as d ( i t , j t ) = 1 p t > 0 . 5 , which is determined by the topological score p t in Eq.(6).
For the true samples Y , the hidden messages are computed by Eq.(3) with teacher-forcing, namely replacing the label and topological predictions with their ground truth values.
For the translated samples (cid:98) Y from source molecules X , we replace the one-hot encoding f i t with its softmax distribution q i t over cluster labels in Eq.(3) and (4).
Moreover, we multiply message h
i t ,j t with the binary gate d ( i t , j t ) , to account for the fact that the messages should depend on the topological layout of the tree:
[Equation]
if j t is a child of node i t
[Equation]
As d ( i t , j t ) is computed by a non-differentiable threshold function, we approximate its gradient with a straight-through estimator (Bengio et al., 2013; Courbariaux et al., 2016).
Speciﬁcally, we replace the threshold function with a differentiable hard sigmoid function during back-propagation, while using the threshold function in the forward pass.
This technique has been successfully applied to training neural networks with dynamic computational graphs (Chung et al., 2016).
Finally, after the tree T is completely decoded, we derive its continuous representation h T by concatenating the root label distribution q root and the sum of its inward messages:
[Equation]
We implement the discriminator D ( · ) as a multi-layer feedforward network, and train the adversary using Wasserstein GAN with gradient penalty (Arjovsky et al., 2017; Gulrajani et al., 2017).
The whole algorithm is described in Algorithm 1.
E XPERIMENTS
Data Our graph-to-graph translation models are evaluated on three molecule optimization tasks.
Following standard practice in MMPA, we construct training sets by sampling molecular pairs ( X, Y ) with signiﬁcant property improvement and molecular similarity sim ( X, Y ) ≥ δ .
The similarity constraint is also enforced at evaluation time to exclude arbitrary mappings that completely
[Table]
ignore the input X .
We measure the molecular similarity by computing Tanimoto similarity over Morgan ﬁngerprints (Rogers & Hahn, 2010).
Next we describe how these tasks are constructed.
• Penalized logP
We ﬁrst evaluate our methods on the constrained optimization task proposed by Jin et al.
The goal is to improve the penalized logP score of molecules under the similarity constraint.
Following their setup, we experiment with two similarity constraints ( δ = 0 .
4 and 0 . 6 )
, and we extracted 120K and 53K translation pairs respectively from the ZINC dataset (Sterling & Irwin, 2015; Jin et al., 2018) for training.
We use their validation and test sets for evaluation.
• Drug likeness (QED)
Our second task is to improve drug likeness of compounds.
Speciﬁcally, the model needs to translate molecules with QED scores (Bickerton et al., 2012) within the range [0 .
7 , 0 . 8] into the higher range [0 . 9 , 1 . 0] .
This task is challenging as the target range contains only the top 6.6% of molecules in the ZINC dataset.
We extracted a training set of 88K molecule pairs with similarity constraint δ = 0 .
The validation and test set contain 1000 molecules each.
• Dopamine Receptor (DRD2)
The third task is to improve a molecule’s biological activity against a biological target named the dopamine type 2 receptor (DRD2).
We use a trained model from Olivecrona et al.
(2017) to assess the probability that a compound is active.
We ask the model to translate molecules with predicted probability p < 0 .
05 into active compounds with p > 0 .
The active compounds represent only 1.9% of the dataset.
With similarity constraint δ = 0 .
4 , we derived a training set of
34K
molecular pairs from ZINC and the dataset collected by Olivecrona et al.
The validation and test set contain 1000 molecule each.
Baselines We compare our approaches (VJTNN and VJTNN+GAN) with the following baselines:
• MMPA :
We utilized (Dalke et al., 2018)’s implementation to perform MMPA.
Molecular transformation rules are extracted from the ZINC and Olivecrona et al.
(2017)’s dataset for corresponding tasks.
During testing, we translate a molecule multiple times using different matching transformation rules that have the highest average property improvements in the database (Appendix B).
• Junction Tree VAE : Jin et al.
(2018) is a state-of-the-art generative model over molecules that applies gradient ascent over the learned latent space to generate molecules with improved properties.
Our encoder-decoder architecture is closely related to their autoencoder model.
• VSeq2Seq : Our second baseline is a variational sequence-to-sequence translation model that uses SMILES strings to represent molecules and has been successfully applied to other molecule generation tasks (G´omez-Bombarelli et al., 2016).
Speciﬁcally, we augment the architecture of Bahdanau et al.
(2014) with stochastic latent codes learned in a similar way to our VAE model.
• GCPN : GCPN (You et al., 2018a)
is a reinforcement learning based model that modiﬁes a molecule by iteratively adding or deleting atoms and bonds.
They also adopt adversarial training to enforce naturalness of the generated molecules.
Model Conﬁguration For our models, we set the latent code dimension | z | = 8 , and KL regularization weight λ KL = 1 . 0 .
We found that with a larger latent code dimension ( | z | = 56 ), the model degenerates to an autoencoder that reconstructs target molecule Y from the latent code z and completely ignores the source molecule X .
In addition, our model performance is greatly degraded when λ KL < 1 . 0 .
Due to limited space, we defer other hyper-parameter settings to the appendix.
5. R ESULTS
We quantitatively analyze the translation accuracy, diversity, and novelty of different methods.
[Table]
Translation Accuracy We measure the translation accuracy as follows.
On the penalized logP task, we follow the same evaluation protocol as GCPN.
That is, for each source molecule, we decode K times with different latent codes z ∼ N ( 0 , I ) , and report the molecule having the highest property improvement under the similarity constraint.
We set K = 50 so that it is comparable with baselines.
On the QED and DRD2 datasets, we report the success rate of the learned translations.
We deﬁne a translation as successful if one of the 50 translation candidates satisﬁes the similarity constraint and its property score falls in the target range (QED ∈ [0 . 9 , 1 . 0] and DRD2 > 0 . 5 ).
Tables 1 and 2 show the performance of all models across the three datasets.
Our best model significantly outperforms all baselines, yielding 8.5% to 55.7% relative gain over the best baseline across different tasks.
We also found that VJTNN+GAN has the most improvement on the QED and DRD tasks because their target domains are explicitly constrained by property ranges.
Thus it is beneﬁcial to constrain the model output distribution by adversarial training.
We present more ablation studies in the appendix.
We deﬁne the diversity of a set of molecules as the average pairwise Tanimoto distance between them, where Tanimoto distance dist ( X, Y ) = 1 − sim ( X, Y ) .
For each source molecule, we translate it 50 times (each with different latent codes), and compute the diversity over the set of validly translated molecules.
2 As we require valid translated molecules to be similar to a given compound, the diversity score is upper-bounded by the maximum allowed distance (e.g. for the QED and DRD2 datasets, the maximum diversity score is likely to be around 0.6).
As shown in Tables 1 and 2, both of our methods have signiﬁcantly higher diversity scores than GCPN and VSeq2Seq across all datasets, and outperform MMPA on two out of four test cases.
Figure 4 shows some examples of diverse translation over the QED and DRD2 tasks.
Novelty Lastly, we report how often our model discovers new molecules in the target domain that are unseen during training.
This is an important metric as the ultimate goal of drug discovery is to design new molecules.
Let M be the set of molecules generated by the model and S be the molecules given during training.
We deﬁne novelty as |M − S| / |M| .
On the QED and DRD datasets, our models discover new compounds much more frequently than VSeq2Seq, but less often than MMPA and GCPN.
Nonetheless, these methods have much lower translation success rate.
C ONCLUSION
In conclusion we have evaluated various graph-to-graph translation models for molecule optimization.
By combining the variational junction tree encoder-decoder with adversarial training, we can generate better and more diverse molecules than the baselines
A M ODEL A RCHITECTURE
Tree and Graph Encoder For the graph encoder, functions g 1 ( · ) and g 2 ( · ) are parameterized as a one-layer neural network ( τ ( · ) represents the ReLU function):
[Equation]
For the tree encoder, since it updates the messages with more iterations, we parameterize function g 1 ( · ) as a tree GRU function for learning stability (edge features f uv are omitted because they are always zero).
We keep the same parameterization for g 2 ( · ) , with a different set of parameters.
[Equation]
Tree Gated
Recurrent
Unit
The tree GRU function GRU( · ) for computing message h ij in Eq.(3) is deﬁned as follows (Jin et al., 2018):
[Equation] [Equation]
[Equation] [Equation]
[Equation]
Tree Decoder Attention The attention mechanism is implemented as a bilinear function between decoder state h t and source tree and graph vectors normalized by the softmax function:
[Equation]
Graph Decoder We use the same graph neural architecture (Jin et al., 2018) for scoring candidate attachments.
Let G i be the graph resulting from a particular merging of cluster C i in the tree with its neighbors C j , j ∈ N (cid:98) T ( i ) , and let u, v denote atoms in the graph G i .
The main challenge of attachment scoring is local isomorphism :
Suppose there are two neighbors C j and C k with the same cluster labels.
Since they share the same cluster label, exchanging the position of C j and C k will lead to isomorphic graphs.
However, these two cliques are actually not exchangeable if the subtree under j and k are different (Illustrations can be found in Jin et al.
Therefore, we need to incorporate information about those subtrees when scoring the attachments.
To this end, we deﬁne index α v
= i
if v ∈ C i and α v =
j if v ∈ C
j \ C i .
The index α v is used to mark the position of the atoms in the junction tree, and to retrieve messages
h i,j summarizing the subtree under i along the edge ( i, j ) obtained by running the tree encoding algorithm.
The tree messages are augmented into the graph message passing network to avoid local isomorphism:
[Equation]
The ﬁnal representation of graph G i is m G i
=
(cid:80) v µ G i v , where
[Equation]
Adversarial Scaffold Regularization Algorithm 2 describes the tree decoding algorithm for adversarial training.
It replaces the ground truth input f ∗ with predicted label distributions q ∗ , enabling gradient propagation from the discriminator.
Require: Source tree and graph vectors { x T∗ } , { x G∗ } 1: Initialize: Tree (cid:98) T ← ∅ ; Global counter t ←2: function DecodeTree( i ) 3: repeat 4: t ← t +5:
Predict topology score p t with Eq.(6), replacing f i with predicted label distribution q i .
6: if p t ≥ 0 .
5 then 7:
Create a child j and add it to tree (cid:98) T .
Predict the node label distribution q j with Eq.(9) 9:
Compute message h
i,j with Eq.(13) 10:
DecodeTree( j ) 11: end if 12: until p t < 0 .13:
Let j be the parent node of i .
Compute message h
i,j with Eq.(13) 14: end function
B E XPERIMENTAL D ETAILS
Training Details We elaborate on the hyper-parameters used in our experiments.
For our models, the hidden state dimension is 300 and latent code dimension | z | = 8 .
The tree encoder runs message passing for 6 iterations, and graph encoder runs for 3 iterations.
The entire model has 3.9M parameters.
For VSeq2Seq, the encoder is a one-layer bidirectional LSTM and the decoder is a one-layer uni-directional LSTM.
The attention scores are computed the same as Bahdanau et al.
We set the hidden state dimension of the recurrent encoder and decoder to be 300 so that the VSeq2Seq model also has 3.8M parameters.
For VSeq2Seq, we found that the model performance stays similar under different KL regularization weights ( λ KL = 0 .
02 and 1 . 0 ).
All models are trained with the Adam optimizer for 20 epochs with learning rate 0.001.
We anneal the learning rate by 0.9 for every epoch.
For adversarial training, our discriminator is a three-layer feed-forward network with hidden layer dimension 300.
The activation function is LeakyReLU.
The discriminator is trained for N = 5 iterations with gradient penalty weight β
= 10 .
Property Calculation The penalized logP is calculated using You et al.
(2018a)’s implementation, which utilizes RDKit (Landrum, 2006) to compute clogP and synthetic accessibility scores.
The
QED scores are also computed using RDKit’s built-in functionality.
The DRD2 activity prediction model is downloaded from https://github.com/MarcusOlivecrona/REINVENT/ blob/master/data/clf.pkl .
MMPA Procedure We utilized the open source toolkit mmpdb (Dalke et al., 2018) to perform matching molecular pair (MMP) analysis ( https://github.com/rdkit/mmpdb ).
On the logP and QED tasks, we constructed a database of transformation rules extracted from the ZINC dataset (with test set molecules excluded).
On the DRD2 task, the database is constructed from both
ZINC and the dataset from Olivecrona et al.
During testing, each molecule is translated 50 times with different matching rules.
When there are more than 50 matching rules, we choose those with the highest average property improvement.
This statistic is calculated during database construction.
Training Set Curation
The training set of the penalized logP task is curated from the ZINC dataset of 250K molecules (Jin et al., 2018).
A molecular pair ( X, Y ) is selected into the training set if the
Tanimoto similarity sim ( X, Y ) ≥ δ and the property improvement is greater than 0.5 (if δ = 0 . 6 ) and 2.5 (if δ = 0 . 4 ).
On the QED and DRD2 tasks, we select training molecular pairs ( X, Y ) if sim ( X, Y ) ≥ 0 .
4 and both X and Y fall into the source and target property range.
Figure 5 shows the histogram of QED and DRD2 score distributions.
On the QED dataset, the percentile of the source domain is 37.9-65.5%, and the target domain is 0-6.6%.
On the DRD2 dataset, the percentile of target domain is 0-1.9%.
Ablation Study We investigate the translation accuracy of our models against the number of translation candidates K .
As shown in Figure 6, the model performance greatly increases when more translation candidates are included.
We also notice that on the QED and DRD2 datasets, the performance difference between VJTNN and VJTNN+GAN is much larger when K = 10 , compared to larger values of K .
This shows that the model with adversarial training generates valid translations much more frequently.