Statistical generative models for molecular graphs attract attention from many researchers from the fields of bio-and chemo-informatics. Among these models, invertible flow-based approaches are not fully explored yet. In this paper, we propose a powerful invertible flow for molecular graphs, called graph residual flow (GRF). The GRF is based on residual flows, which are known for more flexible and complex non-linear mappings than traditional coupling flows. We theoretically derive non-trivial conditions such that GRF is invertible, and present a way of keeping the entire flows invertible throughout the training and sampling. Experimental results show that a generative model based on the proposed GRF achieve comparable generation performance, with much smaller number of trainable parameters compared to the existing flow-based model.
Summary:
The paper proposes a flow-based model for generating molecules, called Graph Residual Flow (GRF). GRF is a version of iResNet that is tailored to molecule generation. The experiments show that GRF achieves similar performance to GraphNVP (a previous flow-based model for molecule generation), but has about 100 times fewer parameters.
Decision:
This is interesting work, but in my opinion the current version of the paper needs significant improvement. For this reason, my recommendation is weak reject.
Contribution & originality:
I think the application of flow models to the generation of molecules is an interesting research direction. Since molecules are structured objects that can be represented as graphs of connected atoms, care has to be taken to design suitable generative models for them, and this paper is a step in this direction.
The proposed model (GRF) is similar to iResNet in most aspects. The main differences are:
- The linear layers in iResNet are modified to take into account the connectivity of the molecule.
- Separate networks are used to generate the adjacency tensor and the feature matrix. The adjacency tensor is generated first, and then the feature-matrix network is conditioned on the generated adjacency matrix.
Other than the above, GRF is a straightforward application of iResNet in molecule generation.
Technical & writing quality:
The experiments are interesting, and GRF is shown to perform similarly to GraphNVP while using 100 times fewer parameters. The comparison between GRF and GraphNVP is in my opinion the most interesting part of the paper. The experiments that show GRF can reconstruct molecules exactly and that generated molecules are a smooth function of the latent variables are less interesting in my opinion; exact invertibility and smoothness are inherent properties of flow-based models that exist by design, so there isn't anything surprising about them.
The main issue with the paper is that it's poorly written. In my opinion, the writing quality of the paper needs significant improvement for the paper to qualify for publication. The model is explained very poorly; if I weren't already familiar with iResNet I don't think I would be able to understand the model and be able to reproduce the results by reading the paper. Moreover, the use of English throughout the paper is poor: there are a lot of grammatical mistakes (such as incorrect usage of articles or lack of subject-verb agreement), and awkward expressions. In the following I will do my best to make concrete suggestions for improvement, but I would strongly encourage the authors to revise the paper thoroughly and have it checked for grammar and writing quality.
Suggestions for improvement:
"The decoders of these graph generation models generates" --> generate
"The state-of-the-art VAE-based models [...] have good generation performance but their decoding scheme is highly complicated"
In what way is it complicated? Please provide more details.
"invertible flow-based statistical models [...] does" --> do
"[flow-based models don't] require training for their decoders because the decoders are simply the inverse mapping of the
encoders"
This is an odd and unusual description of flow-based models. The way I see it, flow-based models aren't autoencoders, but functions that reparameterize data (here molecules) in terms of simpler random variables (here Gaussian noise). Saying that flow-based models don't require training for their decoders makes little sense.
"Liu et al. (2019) proposes" -->  propose
"GraphNVP has a serious drawback when applied for sparse graphs" --> applied to sparse graphs
"only one affine mapping is executed for each attribute of the latent representation"
There are also coupling layers that are non-affine and therefore more flexible. For example:
- Neural Autoregressive Flows, https://arxiv.org/abs/1804.00779
- Sum-Of-Squares Polynomial Flow, https://arxiv.org/abs/1905.02325
- Neural Spline Flows, https://arxiv.org/abs/1906.04032
"show that a generative model based on the GRF has much fewer trainable parameters compared to the GraphNVP, while still maintaining a comparable generation performance"
If GRF can achieve a performance similar to GraphNVP with fewer parameters, shouldn't it be able to achieve much better performance with more parameters? If this is true, I would have expected to see an experiment were GRF uses more parameters and as a result outperforms GraphNVP. If GRF doesn't outperform GraphNVP even with more parameters, then I would expect to see a discussion explaining why.
it would be good to explain fully the format of the data as early as in section 2.1. For example, it wasn't clear to me until much later how a flow-based model can be applied to discrete data, and whether the rows of the adjacency tensor and feature matrix are one-hot or not. Currently, the format of the data is partially explained three times (in section 2.1, section 3.1 and section 4.1) and only in section 4.1 things become clear for the reader.
Beginning of page 3: the dequantized matrix X' is used before having been defined. This is an example of why the format of the data should be fully explained early on.
"The abovementioned formulations map only those variables [..] (Eqs.(2,5), and the remaining nodes [..] (Eqs.(3,5)"
The first reference should be Eqs. (2,4). Also, the parentheses should close.
"ResNets [...], the golden standard for image recognition"
The expression is "gold standard" not "golden standard". Also, it's too strong a statement and rather subjective to say that ResNets are the gold standard for image recognition; better say that ResNets have been successful in image recognition, which is an accurate and objective statement.
Section 2.2 introduces iResNets, but it doesn't explain clearly that making the residual block contractive is a sufficient condition for invertibility. This is a crucial element for understanding iResNet that is used later on in the paper, so it should be clearly explained early on.
"i-ResNet [...] presents a constraint regarding the Lipschitz constant"
Too vague, and it doesn't explain what the constraint is.
"MintNet [...] derives the non-singularity requirements of the Jacobian of the (limited) residual block"
Also vague and not informative.
Beginning of section 3: GraphMVP --> GraphNVP
"we cannot directly apply the change-of-variables formula directly"
Uses "directly" twice.
"we do not take it consideration" --> we do not take into consideration
"an tensor entry X'[i, m] is a neighborhood" --> a tensor entry X'[i, m] is a neighbor
"Similar discussion holds for A'"
It's unclear to me what exactly holds for A', please be more specific. The previous statement mentioned neighbours, how does this apply to A'?
In the text after eq. (10), R_X uses a different font.
"is subject to update in every layers" --> in every layer
Section 3.3. is particularly poorly written. Given that this is one of the main contributions of the paper, it is really important that this section is written well and clearly. Currently, the section contains two one-sentence paragraphs that are clearly out of place. Also, eq. (12) makes little sense. In particular:
- Isn't A a tensor of shape NxNxR? How did it become a matrix?
- In what sense is X a matrix representation of z_x? How is X computed? Shouldn't X be of shape NxM? Also, please use a different symbol other than X, as X is already used for the feature matrix.
- What is D and how is it defined?
- Is vec() the vectorization operator? Does that mean that the input and output to the residual block has been flattened? This has not been explained or mentioned anywhere.
- Is W a fully-connected linear layer or a convolution as in iResNet?
- Where did the term D^{-0.5} A D^{-0.5} come from? How is it motivated / derived? Why does it make sense to use it? I understand that it's related to the graph Laplacian, but more information is needed for readers who are not familiar with graphs.
"is a Lipschitz-constant of for a certain function" --> of a certain function
The explanation of eq. (13) is very poor, and I don't think a reader who is not already familiar with iResNet can follow it. Also, how was the infinite sum approximated? Did you use truncation or the Russian-roulette estimator?
Section 3.4 introduces the term "atomic feature tensors" which is not defined. I presume it's the same as the feature matrix. Please be consistent with terminology throughout the paper.
"adjacent tensor" --> adjacency tensor
"we have configure" --> configured
Section 3.4.2 finally explains the invertibility condition. Clearly, this is an important element of the algorithm, and should be explained fully and clearly early on. By this point, the invertibility condition should be clear, and no further explanation should be needed.
"we selecte" --> selected
"satisfies the differentiability" --> "satisfies the differentiability condition", or even better "is differentiable"
What does "kekulized" mean?
"conmprises" --> comprises
"we adopt node-wise weight sharing for QM9 and low-rank approximation and multi-scale architecture"
These are important aspects of the architecture that are nowhere else mentioned, and should be explained more thoroughly.
"p_z(T_X, T_A; z)"
Shouldn't this be p_z(z; T_X, T_A)?
What does "unique molecules" mean? Are they the molecules that don't exist in the data? How do they differ from "novel molecules"?
It would be good to provide additional results. In particular:
- It would be good to report training/validation/test log likelihood, or learning curves, that compare between GRF and GraphNVP.
- It would be good to show how the metrics V, N, U, R in tables 1 and 2 vary with respect to the temperatures (for example, show curves of the four metrics as temperatures vary). Currently, results are reported for only one setting of temperatures, which doesn't show how sensitive the performance is to the temperatures.
The temperatures for ZINC-250k are really low (0.15 and 0.17), which to me is an indication that the flow model may have fitted the data quite badly.
How does GRF compare to GraphNVP in terms of generation time? How slow is it to generate from GRF given that it takes 30 iterations for each residual block?
What is GraphLinear? Maybe give a citation?
"Since one of the most GPUs currently used"
This phrase doesn't make much sense.
"principle components analysis" --> principal components analysis
"Principle" has a different meaning from "principal".
Figure 3: Wouldn't it be more informative to centre the visualizations at the mean and use the two principal axes, rather than random mean and axes?