APP下载

改进的语言模型和循环神经网络优化新药设计

2023-09-24

现代计算机 2023年13期
关键词:字符向量单词

陈 相

(武汉科技大学计算机科学与技术学院,武汉 430070)

0 引言

作为一个全球性的学术和商业过程,药物发现是药物设计过程的第一步。然而,大规模探索新的化学空间在支持药物发现方面一直是一项艰巨的任务和挑战。在过去的几十年里,机器学习越来越多地被用于制造有意义的分子[1-2]。通过从零开始生成分子,从头开始药物设计可以更好地表达整个化学空间,包括深度强化学习(deep reinforcement learning,DRL)在内的机器学习已成功用于从头开始药物设计方法的开发[3-4],从而达到小化学空间搜索范围的目的,使研究人员能够专注于感兴趣的领域。

1 优化模型的整体框架

1.1 循环神经网络

循环神经网络(recurrent neural network,RNN)的结构可以很好地利用序列与时序之间的关系以及数据中的语义信息,是处理序列特性数据的有效方法。因此,在分子信息学领域,RNN成功地解决了机器学习任务,被广泛应用于计算分子生成。在最近的一系列实验中[5-7],基于简化分子输入行输入系统(simplified molecular input line entry systems,SMILES)的具有长短期记忆(long short-term memory,LSTM)细胞的RNN在捕获蛋白质分子的结构和功能以及产生预测类似性质的分子方面取得了很好的结果。使用SMILES 将大量已知的活性化合物编码为SMILES 字符串序列。LSTM 模型基于自然语言处理,使用SMILES 字符序列(“标记”)作为输入,根据给定的一系列先前字符和概率估计学习预测下一个SMILES 字符。实验表明,该方法在生成高质量的新分子方面是非常有效的。

1.2 自然语言处理

在使用自然语言处理方法的过程中,主要工作是表征学习[8],自然语言处理中最常用的符号化方法之一是词向量[9]。最早的词向量采用独热编码,将词转化为一个很长的稀疏向量。向量的维度等于词汇表的大小,向量中只有一个维度为1,其他维度均为0。这种编码方法简洁,但一个重要的缺陷是忽略了文本中单词的顺序,编码中所有的单词向量都是相互正交的,没有体现单词之间的相似关系。受分布式假设(即相似环境中的单词通常具有相似的含义)的启发,Word2Vec 模型[10]采用分布式表示有效地解决了独热编码问题,其思路是通过训练将原本由独热编码的每个单词映射成更短的单词向量,这样就可以轻松地分析单词之间的关系,使NLP 问题更容易解决。图1 展示了本实验模型的简单流程,Word2Vec 语言模型作为预训练模型,用于训练由SMILES 编码的文本词汇表的表示向量。并将它们整合到循环神经网络中,以训练和产生新的分子。

图1 实验模型流程

知识蒸馏的过程是将一个大型、表现良好的模型(教师模型)的知识转移给一个较小的模型(学生模型),可以看作是模型压缩的一种形式,其中学生模型被训练成模仿教师模型的行为[11-13]。通过利用教师模型预测中编码的丰富知识,学生模型可以从其优越的性能中受益,同时保持紧凑的大小,允许学生模型更好地泛化。

在本研究中,为了提高蛋白质表达能力,将SMILES 编码的氨基酸序列划分为单词(k-gram),输入到Word2Vec 模型中,得到单词的分布式表示向量。实验结果表明,通过对Word2Vec 模型和LSTM 模型进行优化和调整,改进后的模型能够更好地从蛋白质特征空间中学习特征,与传统模型相比取得了优异的性能,生成的有效分子百分比比传统模型提高了15 个百分点,分子质量相比于传统模型大大提高,并且在微调训练模型时,我们通过知识蒸馏利用少量数据实现大模型到小模型的知识迁移,结果表明,小模型可以很好地学习到大模型的能力,达到较好的效果。

2 方法

2.1 数据预处理

我们从开源的CHEMBL 数据集中组装一个分子的训练数据集,并用SMILES 编码表示分子,通过对数据集进行预处理去除重复的化学信息,并过滤我们采用的化学空间之外的分子,最终得到近500000 个分子的数据集。为便于RNN 模型训练,我们用‘G’(GO)和‘ ’(换行)作为每个SMILES 分子开始和结束的标记符,所有分子长度在35~75 个字符之间,最终产生一个共53个独特字符的词汇表W。

2.2 预训练模型

Word2Vec 是一种广泛应用于自然语言处理的语言模型,一种以大型本文数据作为输入,从大量文本中以无监督方式学习语义知识的模型。对词汇表中的任意一个单词w,可以生成一个固定长度的实值向量V(w),所有的词向量可看作空间中的一个点,它们之间的语义相似度可以通过点之间的“距离”来判断。我们希望模型训练的结果能够让相似语义的单词具有相似的表征向量,近年来,这种表示能够在药物设计等问题上带来很好的结果,例如药物-靶标相互作用预测特征表示SPVec[14]、从上下文感知中学习分子表示Mol2Context-vec[15]。训练Word2Vec 的常用方法有连续词袋(Continuous Bag-of-Words,CBOW)模型和跳跃图模型(Skip-Gram)[16]。图2 使用谷歌的开源嵌入投影仪工具将词汇表W 的词向量映射到三维空间,并输出与字符距离最近的十个字符。

图2 词向量的空间分布

我们将经过预处理的分子数据集作为无监督训练语料,由于标准的SMILES 具有唯一性,每个SMILES 编码能够对应唯一一个化学结构,如图3 所示。因此将每一条SMILES 字符串作为“句子”,将其划分成一系列的单词(k-grams)。结合RNN 模型训练数据的特征,经过实验对比,最后可以得到当k为1 时,可以最大程度地保证氨基酸分子的化学特征。

图3 分子示例及其SMILES表示

我们使用负采样优化方法的Skip-Grams模型来训练Word2Vec 模型,它的算法在于给定中心词的情况下,预测它的上下文单词,相比于CBOW 模型单词之间有更多的训练机会[17]。经典的Skip-Gram 模型由输入层、投影层、输出层三部分组成。如图4 所示,输入层以(w,Postive(w),Negtive(w))作为一个样本输入,其中w是选定的中心词,Postive(w)由中心词w前后C个词组成,C是模型上下文窗口大小。Negtive(w)是w的K个负例,它是以单词出现的频率为权重通过负采样的方式随机生成的,正例与负例统称为背景词。我们将Skip-Gram 模型的超参数设置为上下文窗口C=5,负采样比例a= 10 (K=a*C),嵌入矩阵维度D= 100,样本每次以B= 128 大小的批次输入网络。将中心词w的独热向量乘以权矩阵W1,得到中心词w向量表达式U。

图4 Skip-Gram 模型

同样,将中心词w选取的背景词的独热向量乘以权矩阵W2,得到背景词样本V的向量表达式。

接下来,输出Y表示从中心词w预测每个背景词的概率,其值范围为(-1,1)。

在这个模型中,隐层不使用任何激活函数,但在输出层我们改变传统的sigmoid 函数,使用tanh 激活函数将输出向量的所有值映射到(-1, 1),同时定义一个向量label 作为标签,其中正例为1,负例为-1。则有:

针对单个输出,p(wj|w)表示模型输出为wj的概率,模型的损失函数对于所有的正例和负例的输出值,输出正确的概率P为:

这里是yj对应向量label 中的标签,最大化输出单词概率P,即最小化损失函数L:

可以使用随机梯度下降技术来最小化损失函数。经过100 次迭代训练后,我们将训练得到的词嵌入矩阵放入LSTM 模型中作为输入分子的初始化权重。

2.3 LSTM模型

循环神经网络(RNN)可以对输入的序列数据建模,给定时间步长为t的序列X=x1x2x3…xt和对应的输出序列Y=y1y2y3…yt,模型训练过程由一个字符预测下一个字符,因此定义yi=xi+1。任一时间步长的xi,RNN 通过一系列的门返回输出概率,并将隐藏状态hi传递给下一个单元。由此可见由前i个时间步长的序列共同决定。

LSTM 是为了解决因序列较长而导致训练过程中产生的梯度消失和梯度爆炸问题而提出的一种特殊RNN 模型,引入门控的选择性机制,如图5 所示,每个LSTM 单元都有称为遗忘门、输入门、输出门的神经网络层,能够有选择性地遗忘和保留训练中的信息。

图5 LSTM的内部机制和相关参数

如图6 所示,本文模型由三个LSTM 层组成,每个层的隐藏状态向量为512,并使用dropout 进行正则化。LSTM 层前面是一层嵌入层,其权重是在Word2Vec 模型中训练得到的词嵌入矩阵,后面是一层密集输出层和一个Softmax激活函数的神经元。模型以75 为时间步长,128批次输入,序列经过嵌入层获取词向量后进入LSTM 单元。前向传播过程中,我们将一个序列最后时间步长的单元格状态和隐藏状态直接作为下一序列的初始化单元格和隐藏状态,每128 批次的序列只初始化一次LSTM的隐藏状态,后面的序列可以使用前面序列训练过程中保存下来的信息。应用密集层以产生输出logits,然后通过Softmax 层将其转换为概率。利用交叉熵损失函数和Adam优化算法进行性能优化。

图6 LSTM模型训练流程

2.4 分子评估与模型微调

药物设计过程中我们需要对生成的分子特性[18]进行评估,确定满足我们特性需求的药物分子,以便进行下一步的研究。本实验在分子评估过程中借鉴Yasonik[5]进行优化后的三法则(RO3),即辛醇-水分配系数logP≤3、分子量≤480 g/mol、≤3 个氢键供体、≤3 个氢键受体、≤3 个可旋转键,使用化学信息学库RDKit实现分子评估,并使用Fonseca 和Fleming 的非支配排序算法来比较模型根据RO3 的标准生成的分子。对LSTM 网络进行训练生成有效的SMILES 字符串后,我们需要再选定一个较小的数据集进一步训练模型来对模型进行微调,使模型调整为能够生成与有效分子集具有更高相似性的SMILES 字符串,这一过程实际上使用迁移学习方法,能够用较少的数据集优选分子特定属性。实验中,我们将基于优化后的RO3 的五个约束的非支配排序算法选择在生成的有效分子中最好的一半作为新的数据集对模型进行微调,选定的分子被输入LSTM 模型,再次训练并生成新的有效分子。每一次微调后都会对新生成的有效分子进行评估并再选取最好的一半做下一次微调。最后,我们用大模型作为教师模型,指导只有一层LSTM 的学生模型训练生成有小分子,可以看到在少量数据训练后,学生模型在生成独特且新颖的有效分子方面有很好的效果。

3 实验结果分析

将50 万个分子的数据集输入模型进行训练,从训练后的LSTM 网络中生成100 万个SMILES 字符,在迭代微调之前,模型共产生了21294个分子。我们将最终实验结果与Yasonik[5]中的神经网络模型训练生成的分子比较。结果表明,相比于传统的循环神经网络模式,使用优化后的Word2Vec 模型与LSTM 模型结合可以有效提高药物分子生成的能力。如图7 所示。我们用RDKIT 评估分子的有效性和相关特征,能够从三个方面证明其高效性:①有效分子百分比提高,从传统模型中采样的100 万个SMILES 字符,生成的19722 个分子中,77%是有效的,本实验改进模型后,有效分子百分比提高至92%;②独特且新颖的有效分子数提高,传统模型产生的有效分子过滤无效和重复的分子后留下了9415 个独特、新颖和有效的分子,本实验模型最终独特、新颖和有效的分子达到了12850 个;③训练效率提高,由于词向量能将序列编码为更紧凑的向量,降低内存的占用,模型训练的时间大大减少,本实验模型训练的总时间不到传统模型的三分之一。

图7 实验模型相比于传统模型的高效性

为了进一步比较实验模型与传统模型之间的差异,我们对生成的药物分子做更详细的评估,为此,我们从50 万个分子的数据集中截取5万个分子,同时输入实验的优化模型和传统模型中训练,并对模型进行迭代微调,每次训练结束后都从模型中采样100 万个SMILES 字符,对生成的分子进行评估。

我们对模型进行了迭代微调,从图8 可以发现模型在第三次迭代时,改进后的模型能够以85%左右的稳定效率生成分子,新颖独特的有效分子数量从5600 个增加到11700 个,与传统模型相比,效果明显提高。

图8 模型迭代结果

根据RO3 评价标准,从两种模型生成的有效分子中选出最优的5000 个分子,再次通过PCA进行分子性质可视化,如图9和图10所示。

图9 改良模型的分子更多满足RO3的评估标准

图10 传统模型和改良模型的属性分布

随后,我们从生成的有效分子中精选出8000 条独特且新颖的有效分子,用改进的模型作为教师模型,训练具有一层LSTM 的学生模型生成有效分子,学生模型可以接近三层LSTM 模型的能力,并在生成独立且新颖的有效分子上超越了三层LSTM 模型,达到模型压缩的效果。在实验中,我们将传统模型中的sigmoid 函数替换为tanh 函数作为输出层的激活函数,并对参数进行了优化,调整了损失函数和模型反向传播。从图11 的结果可以看出,这种改进对模型的优化起到了很大的作用。

图11 sigmoid函数的传统模型和tanh函数改进模型对比

基于RO3 评估分子,我们也用PCA 可视化两个模型生成的分子中最优的5000 个分子的属性,如图12 和图13,并分别可视化5 个属性。可以看出使用tanh 函数的模型生成的分子有更高的质量。

图12 tanh激活函数模型的分子更多满足RO3评估标准

图13 sigmoid和tanh激活函数模型分子的属性分布(续)

图13 sigmoid和tanh激活函数模型分子的属性分布

4 结语

本文将词向量模型与循环神经网络相结合,将蛋白质分子中隐含的特征紧密联系在一起,Word2Vec 嵌入矩阵可视化很好地说明了具有相似特性的SMILES 字符向量紧密地位于向量空间中。通过对Word2Vec 和LSTM 模型反复优化,包括模型权重、超参数、输入序列、损失函数等结构进行多次调整和比较,最终分析一组最佳的组合能够使模型在药物生成实验中达到最高效的水平。

最初,LSTM 模型使用独热编码方法处理输入序列,把SMILES 字符转化成一个很长的稀疏向量,与独热编码方法相比,Word2Vec 模型通过训练语言模型将输入序列编码为更紧凑的数字向量,既有更佳的表达能力,又能减小内存的使用。实验最终证明这一事实,将Word2Vec作为预训练模型为LSTM 模型的训练数据集做第一步训练,使得LSTM 模型在训练时间和生成分子有效性方面都有大幅度的优化,并通过知识蒸馏可以对模型进行压缩,而不损失模型的效果。

总而言之,我们认为类似Word2Vec 的自然语言处理方法和知识蒸馏技术在新药物设计上有相当广泛的运用空间,在降低与药物开发相关的成本和时间上存在巨大的潜力。如今自然语言处理方法正得到迅速的发展,更多优于Word2Vec 的语言模型蕴含极大的能力,将其运用到从头药物设计的道路中,或许能使探索自动化药物发现的前景更加可观。

猜你喜欢

字符向量单词
寻找更强的字符映射管理器
向量的分解
聚焦“向量与三角”创新题
单词连一连
字符代表几
一种USB接口字符液晶控制器设计
消失的殖民村庄和神秘字符
看图填单词
看完这些单词的翻译,整个人都不好了
向量垂直在解析几何中的应用