1 Introduction

(1)背景
新药的研发既需要较长的时间,也需要较高的成本。于研究人员来说,在合理的时间内 从大量可合成化合物中 找到最有希望的 候选化合物 仍然是一个挑战。因此可以借助AI分子生成模型。
(2)目的
作者回顾了一些AI分子生成模型,并讨论每种模型的优缺点。同时,作者描述了如何将强化学习(RL)算法应用于生成式人工智能,以便在 更好地利用分布式硬件 的同时 获得更真实的效果。

2 分子生成的简单模型:RNN

(1)工作流

图为RNN分子生成模型的工作流:
①将分子转化为SMILES串;
②使用one-hot coding和embedding来处理字符串,把它们拼接起来;
③然后将它们输入到RNN模型中,得到SMILES串;(可理解为:RNN来预测要生成的下一个原子或者化学键是啥)
④最后将SMILES串变回分子。
在以上过程中学习模型参数,对某一部分进行改变即可得到新分子。
在此模型中,分子被视为序列串,生成分子的任务被转换为生成特殊序列。由于输入和输出都是序列,此类相关序列模型被称为“seq2seq”。

(2)缺点:

① SMILES串非唯一表示,相同的分子结构可以转换成许多SMILES串,如工作流图左下部分;

② seq2seq模型通常关注序列的顺序,因此对一些RNN分子生成模型,它们可能只学习SMILES语法规则,而不是分子结构的知识。

③SMILES串的目的是将分子结构压缩成一维字符串,而不是捕捉分子的相似性,因此具有相似化学结构的分子可以被编码成非常不同的SMILES字符串,如下图。

在这个图中,两个分子的化学结构是比较类似的,但它们被编码成的SMILES串完全不同,因此无法表示它们的化学多样性

3 高级人工智能生成模型

(1)VAE

基于变分自动编码器的模型,图为VAE的总体结构。
总体来看,
①编码器接收分子并在隐空间中 产生概率分布
②而解码器则在隐空间中获取点并返回生成的分子。
对于一个分子来说,
①在Encoder部分进行降维,得到分子的主要成分;编码器会在隐空间中产生概率分布,这个分布是与隐空间 维数相同 的 高斯分布,编码器产生这些高斯分布的参数(均值μ,方差σ)
②用重参数技巧 来训练VAE:从(0,I)标准正态分布 中采样,然后和 训练样本 训练得到的μ和σ,做μ + σ* N(0,I),运算的结果z输入到解码器网络(点乘符号表示每个元素位置上的相乘)
③最后Decoder产生一个分子
而CVAE就是通过控制某个变量实现生成 某一类图像。在训练的时候,标签信息也提供给编码器和解码器了,也就是将 标签信息与从标准正态分布中采样的隐空间中的 随机点 一起送入解码器即可。

(2)GAN

基于生成式对抗网络的模型,图为GAN的总体结构:
① 对于一个任意分布q(x),取样输入到生成网络中,生成器生成一个分子
② 生成的分子被输入到鉴别器中,鉴别器判断它与真实分子之间的差异
③ 鉴别网络分别考虑他们真假的可能性
在整个过程中,GAN主要由生成网络与鉴别网络两个部分:
①生成网络负G责生成新的数据实例来欺骗鉴别网络D
②鉴别网络D负责把真的和生成的实例鉴别出来; 因此,G和D构成了一个相互博弈的过程。
最理想的结果是:G可以生成以假乱真的实例;D难以判断实例是真的还是假的,即D(G(z)) = 0.5。这样就得到了一个分子生成模型G。

②缺点:
A. GAN通常难以训练,需要仔细调整超参数;
B. 可能会产生模式崩溃的问题;
C. 训练过程比较缓慢,而且不可预测。

模型的参数通常是模型自己训练得到的,如神经网络的权重和逻辑回归中的系数;
超参数一般是训练过程中手动设置的,如learning rate。

(3)AAE

对抗式自动编码器AAE,主要有两部分组成,上半部分是自编码部分(AE),下半部分是个GAN。AAE可以看作是AE与GAN的结合体。
①上半部分自编码器,将训练集X 通过 自编码器A E对其编码,生成一个潜在向量Z用于下一步的插值(这里假设 该变量 满足 概率分布q(z)),然后解码器会尝试对这个潜在向量Z进行解码,生成我们想要的分子。
②下半部分GAN,AE的Encoder部分相当于GAN的生成器,生成负样本;而p(z)是我们的目标分布,是正样本。
判别器D通过不断学习,预测输入的z来自于负样本(服从q(z)概率分布)还是正样本(服从预定义的p(z)概率分布);
如果传入具有所需分布(真实值)的随机输入,则鉴别器应该输出1;如果传入编码器输出时,鉴别器应该输出0。
GAN的作用就是让 编码器得到的向量 服从人为设定的分布p。

4 基于强化学习的模型

①基本思想:通过Agent与环境的不断交互,通过一些奖赏机制来使Agent逐渐学习出一条最优的决策。
②模型的基本架构:
在这里插入图片描述

智能体agent通过 一套策略 将一个动作action作用到环境environment,环境将状态值state和奖励值reward反馈给agent,同时环境会移到下一个状态。
如此不断循环,最终找到一个最优策略,使agent可以获得更多的来自环境的奖励。

(1)REINVENT

方法:
①训练一个简单的基于RNN的生成模型;
②将预训练的RNN模型作为environment(prior),并复制一份作为agent(target);
③将logP、QED等指标作为reward function
缺点:
①environment(prior)与agent(target)相同,需要prior network是高质量的,否则模型可能失效。
②由于prior network是基于RNN的模型,因此具有之前提到的RNN模型的所有缺点。
③训练过程复杂,难以生成100%有效的SMILES串

如果prior network无法生成感兴趣的分子,那么agent也可能失败

(2)ReLeaSE

创新点:
①用马尔科夫决策过程MDP生成SMILES串
②由全连接网络(FCN)组成的预测模型作为reward function

缺点:
与REINVENT一样,训练过程复杂,难以生成100%有效的SMILES串

Markov Property马尔科夫性质:当前状态决定未来 即 P(St+1 | St,St-1,St-2…) = P(St+1 | St)
MP(Markov process马尔科夫过程):具有马尔科夫性质的随机过程
MDP(Markov decision process马尔科夫决策过程):具有一步动态性,即在考虑下一个时间 t+1 的 state 和 reward 时,只考虑当前时间 t 的 state 和 action 的影响
预测模型是经过预训练的,ReLeaSE的性能主要取决于预测网络和生成网络

(3)Molecule Deep Q-Networks(MolDQN)

创新点:
①通过直接定义原子 或 添加、删除化学键 对分子进行操作,从而保证生成的分子具有100%的化学有效性;
②不需要在训练集上进行训练即可运行,避免了选择数据集时 出现偏差的可能。

缺点:
①效率低,因为对分子的操作只有添加原子、添加化学键、删除化学键这三种;
②尽管所有生成的分子都具有化学意义,但它们可能太难合成,而且药物性质较差。

不需要训练集,只需要先验知识(如原子价态)

(4)advanced deep Q-learning network with fragment-based drug design (ADQN-FBDD)

基于片段的药物设计(ADQN-FBDD)的深度Q学习网络
模型解读:
①在这个模型中,agent将t时刻的state和action传给environment;environment产生t+1时刻的state和reward传给agent,同时environment会转移到下一个状态。如此不断循环,直到找到一个最优的策略。
②模型中间,是DQN 算法的一部分, Experience Replay Store经验回放存储,将 系统探索环境 得到的 数据 储存起来,然后随机采样 样本,更新深度神经网络的参数。

创新点:
①通过添加碎片来创建分子
②生成的分子更像药物,因为分子是使用 化学反应的规则 和 结合位点的 3D信息 创建的。因此,ADQN-FBDD模型 可以有效地探索特定目标的化学空间。
在这里插入图片描述

在reward function的指导下,agent择有利片段添加到当前状态的正确位置

文章讲述了人工智能分子生成模型的发展现状:
(1)简单的RNN是适度有效的分子生成模型;
(2)VAE、GAN、AAE遵循变分推理的方法;
(3)基于强化学习的模型可以执行分布式计算,减少了训练时间,但模型容易受到分子表示质量的影响。

1 Introduction(1)背景 新药的研发既需要较长的时间,也需要较高的成本。于研究人员来说,在合理的时间内 从大量可合成化合物中 找到最有希望的 候选化合物 仍然是一个挑战。因此可以借助AI分子生成模型。(2)目的作者回顾了一些AI分子生成模型,并讨论每种模型的优缺点。同时,作者描述了如何将强化学习(RL)算法应用于生成式人工智能,以便在 更好地利用分布式硬件 的同时 获得更真实的效果。2 分子生成的简单模型:RNN(1)工作流图为RNN分子生成模型的工作流:①将分子转化为SM Blizzard、VoxCeleb2 和 KSS 在config/. 对于其他数据集,请根据其他提供的数据填写您自己的 YAML 文件。 可以对所有 型的数据集进行无条件训练,前提是它们具有data.extensionYAML 文件中指定的一致文件扩展名。 目前仅对 KSS 和暴雪数据集的一个子集实施条件训练。 git clone git@github.com:mlomnitz/Compression GAN .git 该软件包提供了在对抗网络( GAN )设置中使用自动编码器的图像压缩算法。 首先描述,在此工作的实施侧重于人脸,更具体的资料照片。 使用从中精选的40K图像子集对网络进行了训练,以忠实地重建人脸,并压缩了20到30倍。 可以使用以下方法通过pip安装此软件包和相关要求: pip install -r requirements.txt python setup.py install 可以通过以下 下载用于训练/验证/测试的数据集:以下列出了可用的训练 模型 和关联的配置文件: 训练了40个时期的 模型 ,没有噪声采样: , 随着将来的实验完成,将提供更多训练有素的 模型
GAN Gene rative Adversarial Networks)是一种 深度学习 模型 ,可以用来 生成 图像、音频、视频等多媒体内容。PyTorch是一种流行的 深度学习 框架,提供了灵活的API和工具,简化了 GAN 模型 的开发和训练。 在PyTorch中, GAN 的核心是由两个神经网络组成的,一个是 生成 器( Gene rator),另一个是判别器( Dis criminator)。 生成 器的任务是 生成 假的样本,而判别器的任务是区分真假样本。在训练过程中, 生成 器和判别器通过对抗的方式相互迭代,使得 生成 器的输出尽可能逼近真实样本,而判别器的输出将假样本与真样本尽可能区分开来。 PyTorch提供了用于训练 GAN 模型 的函数和 ,例如 GAN 模型 的定义、损失函数的计算、优化器的选择等。在训练过程中,可以使用PyTorch中的数据批处理、数据增强等技术来提高 模型 的表现,以及使用训练与调试工具来监控 模型 的性能和调试错误。 GAN 模型 的应用非常广泛,例如合成图像、风格迁移、图像修补、数据增强等。此外, GAN 模型 还可以与其他 深度学习 任务相结合,例如语音合成、自然语言 生成 等。在 深度学习 领域, GAN 模型 已经成为一个非常重要和有前途的研究方向。
Could not load dynamic library ‘libcudart.so.11.0‘; dlerror: libcudart.so.11.0: cannot open share size mismatch for layer1.0.weight: copying a param with shape torch.Size([100, 300]) from checkpoint Property-Aware Relation Networks for Few-Shot Molecular Property Prediction | PAR,GNN,属性感知嵌入函数,元学习
Guidelines for RNN Transfer Learning Based Molecular Generation of Focussed Libraries:RNN,分子生成,迁移学习 啊啦灯神叮: 我没有找到诶 Guidelines for RNN Transfer Learning Based Molecular Generation of Focussed Libraries:RNN,分子生成,迁移学习 yuelu0816: 请问这篇文章作者开源源码了吗 该设备或资源(Web代理)未设置为接受端口“7890”上的连接 | 可以登微信QQ但是网页进不去 啊啦灯神叮: 很荣幸能够帮到大噶~ TypeError: can‘t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to 浅谈 few-shot learning和meta-learning的区别