多模态 DNN 模型在药物相互作用预测任务中的应用
一、背景介绍
首先和大家分享下药物发现的相关背景。
1、背景介绍
药物发现领域近几年非常火热,特别是借助 AI 来辅助药厂的药物发现工作,包括药物研发。药物研发过程的周期非常长,通常某类临床疾病的首创药的研发过程需要消耗几十亿的经费以及十多年的时间。主要分为以下几个阶段:
(1)研究疾病靶点,疾病核心蛋白的确认。
(2)在临床试验前验证药物的有效性:包括药物毒性、有效性、服用方式等方面的研究。
(3)临床试验。
(4)FDA 审批认证。
所以传统药物研发流程周期非常长。此外,从初识的 10000 多种药物,到 5 种药物进入临床试验阶段,最后到只用 1 种药物批准上市。在这个背景下,如何辅助药厂更快的从候选药物中筛选出有效药物,且能在临床测试阶段更快的预研药物可能带来的影响、作用、有效性等成为了比较热门的研究领域,其中 AI 特别是深度神经网络技术能大大加速药物研发流程。
今天分享的内容不涉及药物筛选,主要集中在候选药物的副作用和疗效,主要研究目的是降低药物毒性,提高药物有效性。
如上图所示,DDI(Drug-Drug Interaction)是指药物与药物间的相互作用。将研究药物与已有药物进行交叉分析,发现研究药物的副作用,如对身体的影响等,通过试验提前进行发现归类。简单举例,“是药三分毒”,药物的毒性主要体现在哪里?很多情况下是因为药物与其他药物联用产生的,两种或多种药物间产生了化学作用。右下角图中展示了 3 种药物,其中伊曲康唑(Itraconazole)是治疗肿瘤相关药物,如果将它和阿贝西利(abemaciclib)混合服用将会引起很严重的副作用,如肝衰竭,肝肾功能不全的患者使用这两种药物将会引起严重后果。如果将阿贝西利和达拉非尼(Dabrafenib)混用,将会导致血清浓度下降从而引发其他疾病。故在研发新药的过程中需要进行大量的试验,但不可能用真人进行试验,只能用小白鼠或其他动物进行试验。
今天分享的内容即是,通过多模态神经网络基于已有的(包括正在研发和已知的)药物成分、过敏情况等,对药物 DDI 进行提前预测。
2、问题提出
如上图所示,可以将药物相互作用归纳为 DDI 矩阵,矩阵中描述了药物相互作用的结果,如药物 d1(阿贝西利)和 d2(达拉非尼)会导致 y1(血清浓度下降)。本研究中纳入了 37264 条 DDI 数据,其中涉及了 572 种药物(d)及 65 种反应结果(y,如血清浓度下降等)。并基于此数据构建了药物知识图谱(DKG,Drug Knowledge Graph):其中节点是药物,边是药物间的关系。DKG 三元组是 {D:药物, R:药物间关系, T:尾实体}。
除了以上数据,多模态模型还融合了药物的异构特征(HF,Heterogeneous Features):{Target:作用靶点,substructure:组成成分/化学结构, enzyme:酶},每个特征的维度不同,如靶点信息是一种蛋白。最后将 DDI 矩阵,DKG 和 HF 融合在同一个概率分布上进行建模。
二、MDNN 模型介绍
接下来将介绍异构多模态 MDNN 模型的框架。
1、MDNN 整体框架
本模型简称 MDNN,基础数据主要分为 DDI 矩阵和异构数据两个部分,模型框架主要由以下三个部分组成:
(1)基于 DKG 部分:主要是通过构建药物知识图谱来表达药物本身的成分(有效成分、毒性成分)、药物间关系等的信息。
(2)基于 HF 部分:通过整合靶点、酶、分子结构等异构特征数据来描述药物自身的基础特征信息。
(3)多模态融合神经网络:将 DKG 和 HF 两部分特征数据进行有效融合,对融合数据进行统一建模。
2、DKG 模块构建
下面将介绍基于 DKG 的构建过程。
上图展示了药物知识图谱的主要内容,左图是 DDI 矩阵,矩阵中包含了接近 600 种药物,这些药物的成分和作用信息都存储在数据库(DrugBank,即“药物银行”)中。右图举例展示了“药物银行”中的药物信息,如酶、载体、靶点等异构基础特征,其中有 4 种特征是比较重要的,以药物 DB05812 为例,除靶点(target)、酶(enzyme)、分子结构以外,还有载体(carrier)和转运体(transporter),但这两种数据相对比较稀疏,没有其他特征那么多的维度,在目前数据集上的区分度不大,故暂时未采用这两种数据。主要使用数据为靶点、酶、分子结构。
如上图所示,知识图谱主要由节点和边组成,其中节点为药物和成分,边为关系。示例中三元组展示的关系为毒性成分关系,即节点药物 “DB05812” 与节点成分 “P02768” 间存在毒性成分关系。基于“药物银行”中获取的药物成分关系三元组构成了 DKG 知识图谱,其中包含 572 种药物,三元组的边(关系)称为语义关系(semantic relation),共有 157 种关系类型,成分尾实体节点有 1043 种。每次 DKG 可根据任务需求从“药物银行”中抽取相应的信息进行构建,故 DKG 相当于是“药物银行”知识图谱中的子图。
基于 DKG,总结了两种信息,上图展示了语义关系信息模型的构建。基于毒性成分,首先计算上一层药物(d)和关系(r)的内积,通过当前层权重(W1)进行求和得到 π 函数,即药物的边和节点信息通过 π 函数求和到一起,再将 π 函数和上一层成分(t)进行加权求和得到 e,即获得了边的信息。
类似的,上图展示了图的拓扑结构信息模型的构建。药物除了毒性成分外,还可能包含其他多种成分关系,可以将同一药物的多种关系(边,即 e)及其对应的权重 W2 连接起来,最终得到每个药物对应的 E。通过上述方式将 DKG 边和拓扑结构信息进行了有效的融合表示。
3、HF 模块构建
如下图,除上述提到的边信息和 DDI 信息外,药物还存在着非常丰富的多模态信息:同一种药物可以对多个靶点起作用;各种药物也有各自不同的分子结构,代表了其对应的分子特性;药物在不同酶的作用下会和不同的靶点结合。将这三种信息进行向量化表示,然后通过简单的 Jaccard 相似度来度量药物间的相似度,得到对应的相似度矩阵。
最后融合三种相似度矩阵得到每种药物对应的 E’,即获得了药物基于异构特征的信息。本特征向量的维度也不大,包括了 1162 种靶点,583 种结构和 202 种酶的信息。
4、多模型融合层
如上图所示,最终通过融合层对每个药物的 DKG 结果 E 和 HF 结果 E’ 进行拼接融合得到:
再通过 softmax 函数得到输出层:
整个模型框架如上图,框架结构并不复杂,但对药物信息进行了相对有效的结合。
三、MDNN 模型效果
接下来和大家分享一下模型效果。
上图展示了与当前应用较为普遍的算法的对比结果,MDNN 算法在 Acc、AUC、F1、AUPR、Precision、Recall 等评价指标上均取得了 State of the Art 的结果。(以上算法没有纳入 GNN 算法。)
上图展示了 MDNN 融合 DKG、HK 和不融合的效果间差异。很容易看出,融合后的结果比单独使用某一种方法的效果要更好。
关于多模态调参,即参数敏感度的分析如上图,分别展示了神经网络层数 l,节点数 Ns等参数变化时,各个评价指标对应的波动情况。
此外还进行了多任务分析,任务 A 预测模型通过训练集构建,来预测训练集药物和测试集药物间的 DDI;任务 B 的预测模型也通过训练集构建,但预测测试集药物间的 DDI。即将训练集和测试集药物严格分开的的话,模型预测效果有显著下降。
在药物研发领域还存在许多亟待解决的问题:如何有效的发现/筛选药物,而不是局限于研究 DDI。
四、总结
最后总结一下本次分享的内容,MDNN 算法本身不算复杂,最重要的工作是利用了多模态数据和结构信息:
(1)基于药物效果构建了药物知识图谱,基于药物本身特性(靶点、分子结构、酶)构建了多模态数据特征,最终融合这两部分特征构建了 MDNN 模型。
(2)对 DDI 的预测问题进行了改进;
(3)与已有方法对比,MDNN 在数据集上的效果最好。
但在实际应用上,MDNN 模型还存在很多需要进一步优化和改进的地方,如更好的方法论或更好的数据。
五、问答环节
Q1:“药物银行”数据集是公开数据集吗?
A1:本研究知识图谱数据集是公开的,原始数据集“药物银行”也是公开数据集。但根据每个研究领域的药物的不同,所构建的知识图谱数据集也会有差异,没有一个统一通用的知识图谱。
Q2:所分享的研究方法如知识图谱、多模态融合等,在制药领域以外还有什么应用?如蛋白质、免疫等?
A2:除生物制药外,在电商领域的应用非常多。如 User-Item 类的数据集,User 有很多多模态信息,如职业、年龄、购物标签等,Item 商品也有很多信息,它们间的关系也有非常多,如购物、评价、收藏夹、点击等行为。领域数据如果符合异构形态,都可以尝试使用这些方法进行分析,难点在于构建特定领域的知识图谱。