前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >徐峻|人工智能与药物设计学:新范式探索 (3)

徐峻|人工智能与药物设计学:新范式探索 (3)

作者头像
智药邦
发布2022-04-13 18:34:46
6400
发布2022-04-13 18:34:46
举报
文章被收录于专栏:智药邦智药邦

随着信息技术的不断发展,药物设计方法学的新概念、新方法和新思路持续更新,药物发现范式也与时俱进。人工智能作为新工具,已应用于药物发现过程的多个方面,引起了制药行业的高度关注,也带来了对药物发现科学理论和方法学的新思考和新探索。

中山大学药物分子设计研究中心徐峻教授是人工智能与药物设计领域的知名学者。自上世纪 80 年代末,就长期在科研第一线从事分子信息学算法研究和药物发现实验研究,研究领域横跨化学、药学和信息科学。在本文中,徐峻教授对人工智能与药物设计学的发展进行了系统的回顾、梳理和展望,对药物发现新范式进行了深入的分析、解读和探讨。

全文概要、目录及前文见

徐峻|人工智能与药物设计学:新范式探索 (1)

徐峻|人工智能与药物设计学:新范式探索 (2)

本篇是第三节前半部分的内容。

第三节 从传统技术到颠覆性技术

3.1 传统的药物设计技术

传统的基于靶标的药物分子设计技术中,小分子的调控对象主要是单个蛋白质靶标 (亦称受体)。基于天然配体与受体的结合模式,人们可以采用基于结构的药物设计(SBDD)或基于配体的药物设计(LBDD)的方法发现和优化药物的先导化合物。

传统的 LBDD 药物设计方法建立在QSAR概念之上,其流程如图 4-3-1 所示。

图 4-3-1. 传统的 QSAR 方法在药物设计过程中的应用。

天然药物化学研究能够鉴定活性成分的化学结构图,化学结构有许多表示方法,化学信息学以图论为基础可以将化学结构表示为拓扑结构(俗称二维结构,用连接表或线性编码表示)、或三维结构。典型的分子拓扑结构的线性编码是SMILES (Simplified Molecular Input Line Entry System, 有兴趣的读者可以访问文末链接1)。分子表面有电荷分布,通过量子化学或其它理论计算,还可以把分子三维表面静电荷的分布表示为分子的表面结构。化学信息学还可以选择一组分子特性(可以是生物、化学、物理、数学特性,被称为描述符 descriptors)来表示一个分子,这样,分子可以用向量表示:

(x1, x2, …, xi, … xm) , 该向量有 m 个成员,因此,分子被表示为在 m 维空间的一个点(例如,m = 3,含有 n 个化合物的库可以被表示为 3 维空间的 n 个散点,一般认为,具有相似性质的分子在空间中聚集在一起)。这样,预测一个分子的性质 y 的问题就变成了求 y 的函数值问题,其中,

是自变量,即y =

。当 m 超过 3 时,称为高维数据空间,人们无法直接观察分子在空间中的分布模式,当然就没法直接识别或预测分子的性质或生物活性。此时,需要人工智能技术或其它统计学方法对高维数据空间进行划分或曰“模式识别”(pattern recognition),这就是传统的QSAR(quantitative structure-activity relationship)研究。传统的 QSAR 用回归的方法在高维空间找到一个函数 y =

以预测所设计分子的活性。而人工智能的方法就是根据

建立分类模型,将活性化合物识别出来。

值得一提的是:QSAR 的本质是要发现分子中的某部分,即“子结构”,与活性的关系。尤其在生物医药领域,发现分子中与活性相关的关键“子结构”非常重要。这样,如何定义或划分活性化合物中的子结构成为 QSAR 的核心问题之一。半个多世纪以来,人们试了许多方法,例如,基于化学经验的方法 (如 MACCS search keys) 、按照某种规则定义的方法 (如原子中心片段方法或 Daylight 的分子指纹方法)。前者符合“化学感觉”但有很多主观偏见,后者避免“主观偏见”但却失去了化学或生物学意义。

3.2 传统的机器学习方法

人工智能在药物设计中的应用一直是化学信息学的内容。传统的人工智能辅助 LBDD 方法流程如图 4-3-2 所示。

图 4-3-2. 人工智能辅助 LBDD 方法流程。

在这个数据处理流程中,我们首先把分子结构数据转化为分子描述符,然后根据问题的性质决定采用何种机器学习类型,如贝叶斯学习机 (Bayesian learning)、支持向量机 (support vector machine, SVM)、决策树 (decision trees)、遗传算法 (genetic algorithm, GA) 、自组织图 (Kohonen's self-organization map, SOM), 人工神经网络 (artificial neural network, ANN)等。这些学习类型又分为有监督学习和无监督学习两大类。如果事先知道被分类的对象能分为几类,则采用有监督的学习;否则,采用无监督的学习。

传统的人工智能方法的学习效果取决于对各种数据处理方法选择:

传统的人工智能方法的学习效果与数据处理方法选择

(1) 分子的子结构的划分 (如基于经验的子结构枚举方法、基于药效团的方法、基于天然产物骨架的方法、基于规则的各种图论方法、基于分子场的方法);

(2) 对分子描述符的选择 (避免与活性无关的描述符、避免重复遴选高度相关的描述符、避免无区别活性与非活性能力的描述符等);

(3) 数据预处理与数据采样 (剔除不正确或非规范的数据表示、找出离群数据的原因、随机采样等);

(4) 向量相似度或高维空间两点间距离计算 (如欧几里得距离、Tanimoto 系数、Soergel 距离、Tversky 系数、Dice 系数)[23];

(5) 模式分类 (pattern classification) 算法 (如贝叶斯方法、非参数技术、线性判别函数、多层神经网络、随机进化、非度量方法、无监督聚类) [24];

(6) 模型评价与训练集与测试集划分 (如偏差/方差估计、数据划分技术、交叉验证方法)。

由于传统的机器学习方法各有优缺点,人们往往将它们结合起来以求得到更好的学习效果[25]。

3.3 深度学习方法概论

高通量合成和生物学筛选使实验数据爆炸性地增长,大数据时代到来了。基于传统的机器学习方法越来越难以应付大数据挖掘的需求。深度学习方法就是从传统的人工神经网络 (ANN) 发展起来的。

ANN 方法

如果把 ANN 作为一个输入为 x 输出为 y 的黑匣子的话,这个黑匣子就是以 x 为自变量,y 为应变量的函数。函数的内部机制可以是一个简单的线性变换 (例如 w × x → y, w 是权重),也可以是其它变换 (transform)。我们可以不断地向一个 ANN 发送具体数值给 x,让 ANN 根据 x 的各个具体数值总结并记住 x 的特征或性质作为输出 y 的值,这样,ANN 就是一个最简单的学习机,因为它从 x 的各个具体数值学会为 x 分类,所学到的“知识”存储在权重矩阵 W= (w1, w2, …, wn) 中。单个神经元的信号处理原理如图 4-3-3 所示。

图 4-3-3. 单个神经元的信号处理原理。

为了训练 ANN,需要先定义一个损耗函数 (loss function) 评价 ANN 预测值与实际结果之间的偏差,以找到最小化损耗函数的权重 W 和偏置 b

神经网络与深度神经网络 DNN (Deep Neural Network)

一个简单神经网络由输入层、隐含层 (embedding layer)、输出层组成。在输出前有一个判别函数 (又称为激励函数),如简单的线性函数、正切函数 (sigmoid)、或归一化指数函数 (softmax) 函数 (图 4-3-3)。隐含层由多个 (个数可调整) 神经元 (neuron) 组成。在神经网络架构中,如果每一个输入都与神经元相联结,则称为全联结神经网络 (fully-connected neural network)。

简单的 ANN 只有输入层、中间层 (隐藏层) 和输出层。为了学习复杂的事物 (例如,学习把中文翻译成英语),可以把若干个 ANN 串联起来,让前一个 ANN (神经元) 作为后面神经元的输入,就是说,把神经元的隐藏层从一层扩充为多层,最后归结到输出层,就构成了深度神经网络 (deep neural network),即深度学习模型[26]。构建一个深度学习模型的步骤如下:

构建一个深度学习模型的步骤

(1) 确定学习模型的输入和输出及其数据类型;

(2) 确定神经元的功能 (用于变换自变量的函数定义,权重等);

(3) 确定神经网络的架构 (即确定输出函数、输入函数的拓扑网络);

简单神经网络与 DNN 的区别如图 4-3-4 所示,它们的基本区别是简单神经网络只有单一隐藏层,而 DNN 的隐藏层有一个以上的隐藏层。隐藏层层次的多少由问题的复杂性决定。

图 4-3-4. ANN 与 DNN 的不同架构。

因此,DNN 是有多个隐藏层的 ANN,其本质是将从输入中获得的低级特征转换为后续层中学到的更复杂的特征。每个神经元上有一个非线性激活函数 (其系数在训练过程中确定) 从前一层的多个连接神经元获取输入信号,并在将其传输到下一个神经元之前对其进行修改。标准的前馈 DNN 有输入层、隐藏层和输出层,每层由多个并联的神经元组成。输入信号直接进入输入层,隐藏层对输入信号进行非线性变换,在输出层生成预测。每个输出节点对应于要预测的任务 (分类)。单任务 DNN 只输出一个节点,多任务 DNN 输出多个节点。

构建 DNN 的必要性

DNN 的多个隐藏层有何必要呢?这要从用来训练的数据特点说起。在药物化学中,任何小分子可以被分为天然产物和合成产物,对给定的药物靶标 (或药效) 而言,每一种产物又可以分为活性的和非活性的。如果用简单的 ANN 构建机器学习机的话,其架构如图 4-3-5 所示。

图 4-3-5. 简单 ANN 学习机的的神经网络架构。

该架构的特点是简单,缺点是预测效果可能差。一个药物化学家如果发现一个活性化合物,就会围绕着它的同系物测试更多的化合物,产生更多的同系物结构和活性数据;但是,如果他发现一个非活性化合物,是不会下大功夫调查该化合物为何没有活性的。这样,数据积累的结果,阳性化合物的结构-活性数据量就会大大超过阴性化合物的结构-活性数据,造成阳性数据与阴性数据样本量失衡。在图 4-3-4 的例子中,天然产物所含的阳性/阴性样本比例与合成产物所含的阳性/阴性样本比例可能差别巨大,造成建模不正确。

另外,自然界的事物按层次分类是普遍现象,例如,天然产物分为无机物和有机物,有机物分为烃类化合物和非烃类化合物,如此可以成长为很多层次的分类树;另一个例子是生命系统发育树 (phylogenetic tree of life)。这些树的分枝尺寸也是不平衡的,因此,数学上就有了各种不同的分类算法 (classifications)。在生物学普遍用来处理这类问题的算法就是簇分析算法 (clustering algorithms)。深度学习机制也是处理这类问题的。

把不同性质的数据混合在一起进行建模,是造成模型预测能力差的主要原因之一。为了拟自然事物按层次分类的规律,可以把顶层问题分解为若子问题,如果子问题还是太复杂,可以继续分解,直至足够简化为止。这种方法被称为分而治之 (divide and conquer) 策略,在程序设计方法学里,我们也称之为模块化 (modularization) 策略,如图 4-3-6 所示。

图 4-3-6. DNN 深度学习机的的神经网络架构处理复杂的树状分类的问题。

这样,ANN 就演化为 DNN 技术了。DNN 首先用基本神经网络分类器 (classifier) 将化合物分为天然产物和非天然产物。然后再将两种子类型化合物分为活性和非活性的化合物,让同类数据进行比较,可以提高模型的预测效果。

循环神经网络 (RNN,recurrent neural network)

训练神经元的过程可以被视为成组地向神经元发送信号,神经元则处理这些信号组 (arrays)。每一组向量由若干信号数据单元组成。如果数据单元之间没有相关关系 (即数据元素被发送的次序不影响对信号组的解释,数学上称各数据元素是彼此正交的),则上述机器学习模型能够满足需求。然而,很多学习过程,如理解句子,信号发送的次序很重要(数据元素彼此非正交)。只有少数“意思对称的回文句”才可以忽略信号发送的次序。例如:“清水池里池水清”、“静泉山上山泉静”。虽然“潮随暗浪雪山倾,远浦渔舟钓月明”是文学意义上的回文句,但是,正读与倒读仍然意义不同,信号发送次序仍很重要。由此可见,无论是自然语言理解,还是分子结构编码的解析,信号发送的次序都非常重要。我们要考虑句子中各种词素的特性、词义、与其它词素的组合规则 (syntax and grammar)、和它们在句子中出现的时间次序。因此,需要将时序变量引入深度学习机制,即循环神经网络 (recurrent neural network, RNN)技术。

图 4-3-7 表示一个简单的 RNN 架构。RNN 也由输入层 (红色)、隐藏层 (黑色) 和输出层 (蓝色) 组成。这个创意的本质是函数含有双输入与双输出变量:h’, f=(h, x)。输入端变量 xh 都会随着时间演化而演化。x

(x1, x2, x3, ···), xt 时刻的各个信号元素数值彼此独立。而 h 是个递归函数,ht 时刻的值根据 t-1 时刻的 h 数值和当前的 x 输入信号值计算出来。因此,记为:h’, y = f(h, x) + b 其中,b 是偏置向量,y 没有被包含在函数定义 f() 里,而 h 被包含在函数定义 f() 里,h 是递归 (recursive) 的,用 h’ 以示区别。所以,RNN 的 R 还有递归 (recursive) 的意思。

图 4-3-7. 简单 RNN 的架构和它的数学意义。Win 是输入层到隐藏层的权重矩阵,Wout 是隐藏层到输出层的权重矩阵,Wh 是上一时刻的隐藏层 st 作为下一时刻输入的权重矩阵。

注意:图 4-3-7 中的 RNN 只有一个循环单元是实际存在的,虚线部分只是该循环单元在不同时刻存在的数值状态,它的架构没有变化。训练完毕后,RNN 习得的知识存储在权重参数矩阵W 里。这种简单架构又称为 naïve RNN(朴素 RNN)。

在训练时,t 时刻向 RNN 发送 xt ,隐藏层此时刻的值是 st (st 的值从 xtst-1 计算得出),最后输出 yt 。这样,模型习得前序输入信号与后序输入信号关联起来,实现对句法的理解。因此,RNN 适合于研究子结构与活性之间的关系,从分子结构的 SMILES 编码中提取与活性相关的子结构。

双向 RNN (bidirectional RNN)

简单 RNN 解决了过去的信号单元对当前的信号单元关联的问题。然而,未来的信号单元对当前的信号单元也会有关联。因此,需要构建双向 RNN 以解决过去和未来两个方向上的信号单元与当前信号单元的关联问题。在药物设计中,例如,要预测两个分子片段需要什么样的分子片段 (化学基元 chemotype) 把它们联结起来,需要查看前后两个分子片段 (在句法分析中称为上下文分析)。双向 RNN 的本质就是将两个 RNN 串联起来 (图 4-3-8)。

图 4-3-8. 双向 RNN 的架构和它的数学意义。ha 和 hb 两个函数在时序上正好相反。

图 4-3-8 中的双向 RNN 需要三个函数,第三个函数合并前两个函数的结果。而 hahb 两个函数的形式可以不一样,在药物设计中,分子图是无向图,SMILES 表示的化学结构中化学键没有方向性 (配位键和氢键除外),hahb 两个函数的形式应该一样。

长短期记忆循环神经网络 (long-short-term memory, LSTM)

这种神经网络用来模拟大脑遗忘功能对学习效果的影响。药物的分子结构由分子结构骨架和骨架上的取代基组成。骨架上的取代基对另一个取代基的影响有近程和远程影响之分,由骨架的特性 (例如芳环骨架与非芳环骨架不同) 决定,不能简单粗暴地“一刀切”。在机器学习过程中,如果遗忘太快,就会因为“梯度消失”而不能“学到”取代基对另一个取代基的远程影响;如果遗忘太慢,就会因为“梯度爆炸”而增加计算成本,也会产生“过拟合”,太远程的影响也许微不足道。LSTM 的目的就是要解决这个问题。

LSTM 神经网络由细胞组成 (图 4-3-9),它属于 RNN,由 t 时刻的输入 xt,细胞状态 ct,临时细胞状态

,隐藏层状态 ht,遗忘门 ft,记忆门 it,输出门组成 ot。通过遗忘细胞状态中的信息和记忆新的信息传递后续时刻有用的信息、丢弃无用的信息。在每个时刻都输出隐藏层状态。信息的遗忘,记忆和输出 (上个时刻的隐藏层状态和当前输入计算出来的) 由遗忘门,记忆门,输出门予以控制。WfWiWo 是计算这些门控函数的权重矩阵。W 是计算临时细胞状态

的权重矩阵。

图 4-3-9. LSTM 的基本架构。

函数的定义是

,它把实数轴上的值映射到 (0, 1) 区间上,大部分的数值接近 0 或 1。Tanh 的定义是:

,它把实数轴上的值映射到 (-1, 1) 区间上,大部分的数值接近 -1 或 1。它们适合作门控函数。在图中,如果删去三个

门函数,与 ht-1xt 加和后乘以权重 W,由门控函数 Tanh 激活输出,就是一般的 RNN 的运算。然而,有了这三个

函数,ht-1xt 加和后分为四路,各乘以四种权重矩阵,分别得到“遗忘权重”、“输入权重”、普通的 RNN 输出状态、以及“输出权重”的值。这些权重值接近 0 或 1,代表需要遗忘或记住的信息。

ht-1ct-1 都携带上文的信息,进入神经元后,ct-1 与遗忘权重逐元素相乘,绝大多数取值为 0 或该位置上原来的值,像门一样决定让哪些 ct-1 的元素通过以及通过的比例,即选择性地遗忘 ct-1 所携带的信息,或选择性地通过 ct-1 所携带的信息。同理,输入门选择输入信息 (即前向运算 RNN 的结果) 。经过输入门处理后的信息就可以添加到经过遗忘门处理的上文信息中去,这是 LSTM 神经元中唯一的逐元素相加计算。这样,上文的信息根据当前的输入遗忘了旧的信息,并添加了新的信息,就是新的 ct,它携带了上文的信息,如果当前神经元要输出内容,还要经输出门。即,经 Tanh 激活,与输出权重 Wo 逐元素相乘,得到了当前神经元的输出和 ht

这样 ct 携带长期记忆的信息,而 ht 携带短期记忆的信息,二者结合,LSTM 就有了长期和短期的记忆信息。

双向长短期记忆循环神经网络 (bidirectional long-short-term memory, BiLSTM)

考虑到 RNN 有训练过程的时间前后的问题 (即上下文分析),因此,就有了双向长短期记忆循环神经网络的架构 (图 4-3-10)。

图 4-3-10. 双向长短期记忆循环神经网络 (BiLSTM) 架构。

因此,BiLSTM 由两个时序上正好相反的 LSTM 网络在输出端融合而成。如果输入的是一个字符串 (句子),可以理解成 BiLSTM 由两个 LSTM 层,一个从句子的开头开始输入训练,另一个从句子的尾端开始输入训练,然后综合两个结果作为最后学习结果的输出。BiLSTM 是及考虑了时序又考虑了长短期记忆的 RNN 学习机。

卷积神经网络 (convolutional neural network, CNN)

我们以模仿人类视觉的模式识别为例解释 CNN。为了从大尺寸信号源(数据矩阵)中提取信息,用小尺寸的矩阵,例如 m 维矩阵 (筛子 filter) 扫描 n 维矩阵 (信号源) 以提取想要识别的模式,过滤噪音,这里,m < n。例如,有经验的化学家在判断一个长链脂肪酸 (该分子的 SMILES 编码可以长达 20 多个字符) 是饱和脂肪酸还是不饱和脂肪酸时,不需要从头到尾检查分子中的每一个原子,而是快速检查分子结构中是否有双键 (只有一个字符: “=”)!因此,CNN 不仅提高学习效率,也提高模式提取的能力,避免非决策性信息的干扰。

如图 4-3-11 所示,CNN 主要由数据准备、模式特征提取核模式识别三部分组成。在数据输入层,首先对原始数据进行预处理,包括去均值 (把输入数据各个维度都中心化为 0,把样本的中心拉回到坐标系原点)、归一化 (将输入数据值归一化到确定的范围,减少各维度数据取值范围的差异而带来的干扰);然后,用一个输入为 m×n 维矩阵的核函数 (kernel) 扫描原始数据 (M×N 维矩阵,M>m, N>n),生成滤波后的数据 (filtered data),枚举出所有可能的子结构模式。

图 4-3-11. 卷积神经网络 (CNN) 的数据处理过程。

卷积层的任务是用神经网络将模式特征提取出来。首先,将核函数处理后的结果用激励函数 ReLU (rectified linear unit, 修正线性单元) 映射到神经元。每个神经元可视为一个滤波器 (filter)。这个过程可以反复进行,把真正与性质相关的“模式特征”提取出来。

反复卷积又称为池化层 (pooling layer),去掉源数据中与特征判别无关的信息,留下最与性质相关的、具有尺度不变性的特征;一般采用最大池化 (max pooling) 或均值池化 (average pooling) 策略。一般采用前者。

最后的输出层就是普通的全连接层神经网络,可以是单层或深度神经网络。

深度神经网络与传统的分子描述符应用

起初,人们用传统的分子描述符为输入数据训练深度学习的模型,得到比传统机器学习显著优秀的结果。例如,默克分子活动挑战赛 (The Merck Molecular Activity Challenge) 的获胜团队使用的多任务模型中包含大量基于分子描述符的预测模型,比随机森林学习方法的效果提高了 15% [27]。用大量的分子描述符训练的大规模多任务网络的确能显著提高虚拟筛选和活性预测预测能力,但此类方法无法解析子结构与活性之间的关系,对药物设计的指导作用有限。

因此,人们重新考虑建立直接基于分子拓扑结构的深度学习模型。“神经指纹” (neural fingerprints,NFP)就是早期努力的例子[28]。后来,人们提出了基于分子图卷积的深度学习方法[29] 和它的改进版 (graph convolution network, GCN),试图动态提取分子子结构特征,以客观地建立子结构与活性的关系[30]。然而,GCN 也没有解决深度学习结果的直观解析问题。

新的视角看待分子结构线性编码

分子结构可以用SMILES 线性编码表示(参见文末链接2)。虽然分子结构的线性编码在化学信息学中是老技术,但是,我们可以用新的视角看待它:即,SMILES 编码是描述分子中各个原子相互连接性的严谨的自然语言,有严格的句法 (syntax)。原子符号和化学键的符号都是严格定义的词素 (元素符号为名词,化学键符号为连接名词的连词,数字作为修饰词描述名词之间的环状拓扑连结等)。因此,一个靶向化合物库 (focused library) 就是一篇“文章”,其中的每一个分子用 SMILES 语句表示。整个“文章”蕴涵了与靶标结合的小分子应该有的共同结构特征。新视角与传统的 QSAR 观念的重大不同如下:

新视角与传统的 QSAR 观念的重大不同

(1) SMILES 语句蕴涵的结构特征不是事先预定义的子结构,没有引入基于经验的主观偏见,而是随着面向的靶标不同而变化;

(2) 这种蕴涵的结构特征表现的“结构-活性”关系,可以通过机器学习算法自动发现,并且可以有直观的化学解释。

因此,可以将原来处理自然语言的机器学习算法借来,用于发现化合物的子结构与活性之间的关系研究。

注意机制 (attention mechanism) 与自注意机制 (self-attention mechanism)

注意机制是一种去除数据中背景噪音,以便从数据中提取有用信号模式的技术,也是对人类或动物的注意力机制的模拟。人仰望天空时,可以在大视野中发现飞翔的小鸟;鹰从几千米高空发现地上的鼠;狗鼻从十几万种不同的气味中闻出毒品;大象的象足能识别 15 公里外的超低频震动;蛇舌能识别环境中微小的气味和温度的波动;啄木鸟从敲击树木的声音确定树干内的虫子的位置。这些注意力现象有共同的机制特征:即感知事物时,不会对情景中的每一个数据点同等对待,而是注意特征性的 (如,变化快的、变化联动的、与记忆的模式匹配的) 信息。

注意力的本质是忽略无关信息而关注重点信息的能力。注意力缺失症(attention deficit disorder,ADD;或attention deficit hyperactivity disorder,ADHD)会使人类失去学习能力。在前面的 CNN 方法的讨论中,池化层也能去掉与特征判别无关的信息,可视为“粗放”型的注意机制。池化层的“赢者通吃” (winner takes all) 策略简单粗暴,可能把偶尔强度高的噪音信号误认为有用信息 (假阳性),也可能把虽然强度不是最高,但确属有用信息忽略 (假阴性)。而信号平均策略 (average pooling) 则可能使很多有用信息丢失,学习效果更差。

深度学习的注意机制主要是基于掩码 (mask) 的注意机制,它通过加一层权重为关键特征作标记,在训练过程中使深度神经网络习得需要关注的区域,即形成注意。

注意机制有分为软注意 (soft attention) 和强注意 (reinforcement attention)。软注意机制标记数据区域或信号通道,是确定性的注意,具有可微性 (differentiability),即可以求得信号的变化率 (梯度),通过前向和后向反馈学习计算注意力的权重。

强注意是随机预测过程,关注数据点的动态变化。强注意力具有离散性 (不可微),通过增强学习 (reinforcement learning) 完成。

注意机制的计算由两步组成:第一步计算输入信号 (Q) 与以前习得的重要信号 (K) 的相似度或相关度;第二步对相似度加权求和并归一化产生对给定的输入信号赋注意力值。药物化学中,重要信号 K 可以是优势子结构 (privileged substructures) 或骨架结构 (scaffolds)。例如,在研究小分子与靶标共价结合时,Michael 加成反应的弹头 (warheads) 受到关注,因为它是共价结合的关键子结构。如果把“结构-活性”关系的发现过程理解为对 SMILES 化学结构自然语言的处理过程,注意力机制可被表述为一个函数,𝑨 = 𝑓(𝑸,𝑲,𝑽)A 为注意力 (attention), 它的值表示词素 QK 的相关度。如果词素 QK 都是矩阵,则 A 也是相关度矩阵。输入训练向量 X 时,X 分别与三种权重向量 WQ, WK, WV, 叉乘变换为 QKV 三个向量。

为了计算 A, 首先计算 QKi 的相似度,i = 1,2,3,…n

然后,计算相似度归一化参数:

因此,A 的值 (即词素 QK 的相关度) 按下式计算:

K = V 时,就是“自注意”机制,即模型在被训练时寻找输入的 SMILES 语句内部的词素间 (分子内部原子之间) 的关联度,而不是 SMILES 语句间 (分子间) 的关联度。

SMILES 数据训练结合自注意机制的 RNN 学习模型

SMILES 依据常见的化学键规则编码分子结构。例如,苯的结构编码是“c1ccccc1”。小写字母“c”表示芳环碳原子,“1”表示环结构结合处 (氢原子依照传统的默认规则,大写的 C 代表非芳香碳原子)。深度学习算法从传统的人工神经网络学习模型发展而来。采用循环神经网络 (recurrent neural network, RNN),将分子的 SMILES 编码的字母依次序发送给 RNN 模型进行训练。对 SMILES 进行了预处理,以保留分子的手性中心、电荷、环等化学特征。

词嵌入过程 (word embedding process)

词嵌入源于自然语言处理研究,涉及各种语言模型和特征模型。效果上,它是将来自某个词库里的单词 (或短语) 映射 (编码) 到一个实数向量的过程。数学上,就是把一种数学结构嵌入到另一种数学结构中。例如,可以把一组整数集并入有理数集合中 (因为整数集是有理数集的子集合);也可以把一组有理数集并入实数集合中 (因为有理数集是实数集的子集合)。

所以,这种技术被简称为 word2vec (即,words to a vector),通过神经网络技术可以实现。我们可以将词嵌入技术扩展到句子嵌入 (sentences to a vector, sen2vec),甚至全文嵌入 (articles to a vector, art2vec), 这类嵌入技术可以统称为主题思想嵌入技术 (thoughts to a vector, thought2vec),形成了现代机器翻译的技术原理。翻译就是将一篇外文文章从外文词语/句子/文章空间映射 (或曰嵌入) 到本国语言的词语/句子/文章空间之中。

同理,从大数据中提取规律或知识也可以用词嵌入技术来实现。在生物信息学,分析核酸序列或者氨基酸序列可以有 gene-vectors (GeneVec)或者 protein-vectors (ProtVec)技术,它们是基于 n 元语法的词嵌入技术,统称为 bio-vectors (BioVec) 技术,可以用神经网络来实现。在化学信息学,小分子结构也可以用化学结构编码语言表示 (如,SMILES)。因此,从一组化合物库的化学结构集合提取出子结构与活性的关系,也可以用词嵌入技术来实现 (chem-vectors, ChemVec,或者 molecules-vectors, MolVec)。其数学本质可以表述为:针对一个生物靶标的化合物库 (a target-focused compound library),用 SMILES 语句组成的一篇“文章” (每一个 SMILES 语句表示一个能调控生物靶标的分子),属于某个化学分子多样性空间。该“文章”的“主题思想”就是“含有一类化学子结构的分子可以调控该生物靶标”,属于某个化学型 (chemotype) 空间。化学型由“子结构”集合和集合中子结构的组合规则集合 (句法规则) 组成。结构与活性的关系 (SAR) 的提取过程,就是用 ChemVec 词嵌入技术将该化合物库“翻译”为能调控该生物靶标的化学子结构的组合。数学上,这也是把一组分子嵌入 (映射) 到另一组分子 (子结构) 之中。

这样,表示化合物库分子结构的 SMILES“语句”先被编码成独热矩阵 (one-hot matrix),然后在嵌入层被变换成词嵌入矩阵 (word embedding matrix)。对给定的分子的 SMILES 编码,它有 n 种 SMILES 标记符号 (令牌/词素, token) ,其分子嵌入序列 (sequence of molecular embedding) 为:

其中 𝑡id 维令牌矩阵嵌入的第 i 个令牌向量。M 是代表一个分子的 n×d 的二维矩阵。

结构-活性预测的深度学习模型架构

如图 4-3-12 所示,我们的模型由 BiLSTM、自注意机制 (为 BiLSTM 隐藏层提供权重向量)、完全连接属性预测层组成。

图 4-3-12. 结构-活性预测的深度学习模型架构。

每个 SMILES 字符串被变换到一个 n×d 二维嵌入矩阵。分子矩阵 M 的令牌向量彼此独立。用 BiLSTM 处理 M 以获得相邻令牌之间的协同关系:

互相联结,取代令牌的嵌入变量 𝑡i,可以得到隐藏层状态 ℎi,因此 ℎt 富集了更多的信息,发现分子中令牌之间的关联性。为简化起见,我们用 H 表示每个训练步骤 i 产生的所有的 ℎi 数据。

如果每个单向 LSTM 的隐藏单元号为 u,则 H 的尺寸为 n×2u

模型的预测值与分子的何种子结构相关实际上就是确定令牌和活性的对应关系,这可以用自注意机制来实现。注意机制将整个 LSTM 隐藏状态 H 作为输入,并输出标注向量 (annotation vector) a

式中 𝑊1 是维度为 da×2u 的权重矩阵, 𝑤2 是长度为 da 的可调参数向量。向量 an 个分量, 与 H 的长度一致。激励函数 softmax 的值是归一化的。LSTM 的隐藏态 H 根据 a 提供的权重求和而得。注意力系数通过相关令牌潜向量 hts,直接确定分子中的哪些部分与活性相关。注意到该向量指向分子的特定子结构,如特殊的氧原子或三键。然而,分子中可能有多个子结构共同与活性相关,例如,对特定靶标而言,“c1ccccc1”(苯环) 和“CCCC”(丁烷基) 都是疏水基团,都与活性相关。因此,需要多个向量以实现对化学子结构的多重关注。

𝑤2 扩充为 r×da 矩阵 𝑊2, 就会将标记向量 a 扩充到标记矩阵 A。其中 r 也是可调权重参数。A 按(10) 计算:

这样,标记结构-活性关系的自关注的分子嵌入矩阵 Ma 可以按(11)式计算:

𝑀ar×2u 矩阵,它将全联结层与性质预测结合起来。

在输入神经网络学习机之前,分子的化学结构数据变换成词嵌入矩阵 (word embedding matrix) 的过程如图 4-3-13 所示。

图 4-3-13. 分子的化学结构数据变换成词嵌入矩阵的流程。

结构-活性关系的展示

上述学习过程的结果之一是注意力权重 (attention weights),它们反映了子结构与活性或性质的关系,而注释矩阵 A 直接指明哪些原子和化学标记与活性相关。注意嵌入矩阵 Ma 中的每一行对应于注释向量 ai。该向量中的每个元素对应于该位置上的令牌 (token) 的 LSTM 隐藏状态。根据这些数据,可以绘制热图 (heat map) 以指示相应的子结构对活性的重要程度。通过对注释向量进行总体求和归一化权重向量,解析学习模型所利用或忽略的子结构标记,最终可以将 SMILES 转换为化学结构图,并标记出子结构中与活性/性质相关原子的重要程度 (图 4-3-14)。

图 4-3-14. 子结构与活性关系的自动发掘与展示。

机器学习模型的实现、训练与效果评价

自关注机制和 BiLSTM 模型可以用深度学习开源代码工具 Pytorch (https://pytorch.org/)实现。模型的预测结果用特征曲线下面积(the area under the receiver operating characteristic curve, AUC) 评价。回归模型用预测值与实验值均方误差 (the mean squared errors, MSE) 评价。AUC 值在 1.0 (最佳模型) ~ 0.5 (接近随机模型) 之间。训练集与测试集被随机地按 7:3 划分。最初的随机参数设定至少应该重复三次。机器学习模型的训练步骤依经验而定,可达 1~2 千万次步,学习率可按 0.001, 0.003, 0.005, 0.01 序列增加。

模型的训练与优化过程如图 4-3-15 所示。

图 4-3-15. 机器学习模型的实现、训练与验证。

第三节前半部分的内容的关键点

ANN 是函数单元,它有输入端和输出端;神经网络是函数单元经输入/输出端的相互串联或并联而形成的网络

扩充 ANN 的隐藏层就形成了 DNN 以适应自然规律的层次性

RNN 的必要性源于自然规律的递归性

BiLSTM 的必要性源于自然规律的时序性和非正交性

CNN 的必要性源于自然规律的模块性和逻辑性

注意力机制的必要性源于任何数据信号有噪声需要排除才能保障学习效果

SMILES 是描述小分子结构的自然语言,QSAR 的问题可以借用自然语言处理算法予以解决

参考文献

23. Maggiora, G., et al., Molecular Similarity in Medicinal Chemistry. Journal of Medicinal Chemistry, 2014. 57(8): p. 3186-3204.

24. Murtagh, F. and M.M. Farid, Pattern Classification, by Richard O. Duda, Peter E. Hart, and David G. Stork. Journal of Classification, 2001. 18(2): p. 273.

25. Li, Y., et al., Predicting selective liver X receptor β agonists using multiple machine learning methods. Molecular Biosystems, 2015. 11(5): p. 1241.

26. Brill, F., et al., Chapter 1 - Introduction, in OpenVX Programming Guide, F. Brill, et al., Editors. 2020, Academic Press. p. 1-13.

27. Ma, J., et al., Deep neural nets as a method for quantitative structure–activity relationships. Journal of chemical information and modeling, 2015. 55(2): p. 263-274.

28. Duvenaud, D., et al., Convolutional Networks on Graphs for Learning Molecular Fingerprints. Computer Science, 2015.

29. Kearnes, S., et al., Molecular graph convolutions: moving beyond fingerprints. Journal of Computer-Aided Molecular Design, 2016. 30(8): p. 595-608.

30. Connor, et al., Convolutional Embedding of Attributed Molecular Graphs for Physical Property Prediction. J.chem.inf.model, 2017.

链接1:

http://www.epa.gov/ncct/dsstox/MoreonSMILES.html#Tutorials

链接2:

www.daylight.com/dayhtml/doc/theory/theory.smiles.html

---------

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智药邦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档