当前位置:网站首页>2018 arXiv preprint | MolGAN: An implicit generative model for small molecular graphs
2018 arXiv preprint | MolGAN: An implicit generative model for small molecular graphs
2022-07-26 22:19:00 【Stunned flounder (】
2018 arXiv preprint | MolGAN: An implicit generative model for small molecular graphs

Paper: https://arxiv.org/abs/1805.11973
Code: https://github.com/yongqyu/MolGAN-pytorch
MolGAN: Implicit generation model of small molecule graph
The depth generation model of graph structure data provides a new perspective for chemical synthesis : By optimizing the differentiable model , Directly generate molecular diagram , It is possible to avoid expensive search processes in discrete and vast space of chemical structures . So the author puts forward MolGAN, An implicit for small molecule graphs 、 Likelihood free generation model , It avoids the need of expensive graph matching process or node sorting heuristic based on likelihood method . The author uses generative countermeasure network (GANs) Direct operation diagram structure data . This method is combined with reinforcement learning objectives , To encourage the production of molecules with specific desired chemical properties . stay QM9 In the experiment of chemical database , It is proved that the model can produce close 100% Effective compound of .
Introduce

Molecular diagram
lately , Direct operation in graph space has proved to be a feasible alternative to molecular data generation modeling , The added benefit is that all generated output is valid graphics .
Diagram representation :
Express a molecule as an undirected graph . For one with N A molecular graph of nodes can be represented by the following two matrices :
- Adjacency matrix : A ∈ R N × N × Y A \in R^{N \times N \times Y} A∈RN×N×Y. Y Y Y It represents that there is Y Covalent bond ( Such as single key 、 Double bond and triple bond ). A i , j ∈ R Y A_{i,j} \in R^Y Ai,j∈RY Represents atoms i , j i,ji,j Covalent bond type between ( use one-hot Vector to represent ).
- X = [ x 1 , . . . x N ] T ∈ R N × T X=[x_1,...x_N]^T \in R^{N \times T} X=[x1,...xN]T∈RN×T Is the node characteristic matrix . Each atom corresponds to a node v i ∈ ν v_i \in \nu vi∈ν; This node uses a T T T Dimensional one-hot vector x i x_{i} xi
Implicit generation model and likelihood generation model
The optimization process of likelihood generation model is more stable and simple , But the amount of calculation to explicitly evaluate the possibility of all possible node arrangements is huge , That is, the likelihood method is difficult to meet the permutation invariance .
The method of generating confrontation network completely solves this problem , Because many graph convolution methods are permutation invariant , These graph convolutions can be used to build our discriminator .
Model
Model architecture
- generator : N = 9 N = 9 N=9, T = 5 T = 5 T=5 , Y = 4 Y = 4 Y=4, And first take a sample according to the normal distribution 32 Potential representation of dimension z ∼ N ∈ ( 0 , 1 ) z \sim N \in(0,1) z∼N∈(0,1). The generator has three layers M L P [ 128 , 256 , 512 ] MLP[128 , 256 , 512] MLP[128,256,512], And will t a n h tanh tanh As the activation function of each layer . The last layer is linearly projected to match X and A dimension , And make use of s o f t m a x softmax softmax To regularize .
- Judging device : Discriminator and feedback network architecture : Both use two layers R e l a t i o n a l G C N Relational GCN RelationalGCN, But parameters are not shared . The output of graph network is processed to obtain graph representation vector , And input the obtained graph representation vector into a two-level M L P [ 128 , 1 ] MLP[128,1] MLP[128,1] To get the final output . M L P MLP MLP The discriminator adopts t a n h tanh tanh As an activation function , The feedback network adopts s i g m o i d sigmoid sigmoid As an activation function .
generator
The objective function of the generator is :
among L W G A N L_{WGAN} LWGAN It's against the loss of training , R L RL RL Is the loss of reinforcement learning ,KaTeX parse error: Undefined control sequence: \lamda at position 1: \̲l̲a̲m̲d̲a̲ Is the proportion of two losses .
For the generation process : sampling z z z Send it to the generator to generate A And X, Next, in order to get the molecular diagram , Discrete sparseness is adopted to send it into the discriminator and reward network . But this will make the generator lose the gradient used to update parameters . The author adopts three methods to solve this problem :
- Do not use discrete sparseness , Directly send the generated probability matrix to the discriminator and reward network ;
- take X And A And Gumbel The noise is added and then sent to the discriminator and reward network ;
- utilize link To get the gradient
X ~ i , j = X i , j + G u m b e l ( μ = 0 , β = 1 ) A ~ = A i j y + G u m b e l ( μ = 0 , β = 1 ) \tilde{X}_{i,j} = X_{i,j}+Gumbel(\mu=0, \beta=1) \\ \tilde{A}=A_{ijy}+Gumbel(\mu=0,\beta=1) X~i,j=Xi,j+Gumbel(μ=0,β=1)A~=Aijy+Gumbel(μ=0,β=1)
Discriminator and reward network
- The reward network is used to approximate the reward function , Reinforcement learning is used to optimize the model in the non differentiable direction . The graph in the data set and the generated graph are the input of the reward network , But unlike the discriminator , The reward network should score each molecule ( For example, how likely are the generated molecules to dissolve in water , The true score is determined by RDKit Provide ). And when the resulting molecules are chemically ineffective , The whole reward network will output 0.
- The discriminator uses WGAN To train , namely :

- Judging device D Φ D_{\Phi} DΦ And reward function R ^ ψ \hat{R}_{\psi} R^ψ Take the graph structure as input and output a scalar , And both adopt the same architecture , But do not share parameters . First, it is convoluted by a series of graphs Relational GCN:

After several layers of convolution , The graph representation vector is obtained from the following formula :
What will be obtained h g h_g hg As a MLP The input of gets a scalar . The process of forward propagation ends here .
Data sets
- QM9: N=9 Maximum number of nodes ; T = 5 Number of atomic types , namely :(C, O, N, F, and one padding symbol);Y = 4 Number of edge types , namely :(single, double, triple and no bond) .
The evaluation index
- Validity: The ratio of the number of molecules conforming to the chemical regulations in the generated molecules to the total generated number ;
- Novelty: The generated effective molecules do not belong to the original data set ( That is, the newly generated ) The ratio of the number of molecules to the total number of effective molecules ;
- Uniqueness: The ratio of the number of molecules generated that are not in the data set to the number of effective molecules . This indicator reflects the degree of change of the sample in the sampling process .
- Druglikeness: How likely are compounds to become drugs
- QED: The expected weighted geometric mean is used to quantify the properties of compounds , Capture the potential data distribution of several drug properties .
- Solubility: Indicates the degree of hydrophilicity of the molecule ; Logarithmic octanol - Water partition coefficient (LogP): It is defined as the logarithm of the concentration ratio of a solute in two solvents .
- Synthetizability: It can quantify the difficulty of a molecule synthesis
- **SA score: ** It is a method to estimate the comprehensive usability with probability method .
experimental result

MolGAN One limitation of is the sensitivity to model collapse .RL And GAN The objective function of does not encourage the production of diverse non unique outputs , Therefore, the model is pulled to a solution involving only a few sample variability , If the training doesn't stop early , Eventually, only a small number of different molecules will be produced .
边栏推荐
- Altium designer 22 Chinese character garbled
- What is Base64?
- C# 数据类型_摘自菜鸟教程
- Li Kou daily question - day 43 -168. Name of Excel table column
- 09.01 depth first search
- TASK04|分类分析
- : could not determine a constructor for the tag ! RootAdmin
- Software Testing Technology: cross platform mobile UI automated testing (Part 2)
- SQL注入 Less26(过滤空格和注释符,使用不带空格的报错注入)
- 自己学习Cesium的笔记简介
猜你喜欢

Just one dependency to give swagger a new skin, which is simple and cool

正规方程法(Normal Equation)原理以及与梯度下降法的区别
![[shutter -- geTx] pop up - dialog, snackBar, bottomsheet](/img/17/af2e45620e96a78235081145b7bb76.png)
[shutter -- geTx] pop up - dialog, snackBar, bottomsheet

Flink's real-time data analysis practice in iFLYTEK AI marketing business

第15章 mysql用户管理

JDBC summary

调试stc8a8k64d4单片机485通信总结

SQL注入 Less24(二次注入)

In depth analysis of the source code, why is the string class immutable? (hit me before you understand)

My SQL is OK. Why is it still so slow? MySQL locking rules
随机推荐
JS verify complex password
easyui datagrid 获取多条选中的数据进行操作
Database notes (from Lao She)
寻找数字零售的发展新方向,才是保证数字零售可以进入到全新发展阶段的关键
Get network time by unity
Software Testing Technology: cross platform mobile UI automated testing (Part 2)
06 cp 命令
现货黄金操作指南与建议(上)
xshell7个人免费下载,使用
自己学习Cesium的笔记简介
d和c的符区别
matlab 基音周期估计后处理
Go----Go语言中的变量使用方法
easyui的combobox默认选中第一个选项
知识库工具 | 微网站、文档中心、形象展示页拖拽即可生成(附模板,直接用)
SQL注入 Less24(二次注入)
[basics of C language] 17 preliminary study of linked list
TASK04|分类分析
In depth analysis of the source code, why is the string class immutable? (hit me before you understand)
Add resource files for the project and pictures for buttons in QT