Summary
In this chapter, we saw different techniques to generate graphs. First, we explored traditional methods based on probabilities with interesting mathematical properties. However, due to their lack of expressiveness, we switched to GNN-based techniques that are much more flexible. We covered three families of deep generative models: VAE-based, autoregressive, and GAN-based methods. We introduced a model from each family to understand how they work in real life.
Finally, we implemented a GAN-based model that combines a generator, a discriminator, and a reward network from RL. Instead of simply imitating graphs seen during training, this architecture can also optimize desired properties such as solubility. We used DeepChem and TensorFlow to create 24 unique and valid molecules. Nowadays, this pipeline is common in the drug discovery industry, where ML can drastically speed up drug development.
In Chapter 12, Handling Heterogeneous Graphs, we will explore a new kind of graph...