查看原文
其他

​WWW 2023 | 上海交大提出组合药物推荐新方法—MoleRec

让你更懂AI PaperWeekly 2024-01-16




写在前面

基于机器学习的预测模型在临床决策中显示出巨大潜力,有效地提高了决策的准确性和安全性。这类模型通过深度学习和分析大量的个人医疗数据,能够为医疗专家提供更为准确的疾病诊断和治疗建议。

现代科技的快速发展使得这类预测模型得以成功地应用在基于网络的疾病诊断系统中,大幅提升了诊断的效率和准确度。例如,通过分析和学习患者的电子健康记录,医疗专家能够根据患者的健康状况和病史,为他们提供更为个性化的诊断和治疗方案。

特别是在药物推荐方面,这种预测模型的应用显得尤为关键。“组合药物推荐”是指根据患者的具体健康状况,为其推荐一个合适的药物组合作为最终的处方。这种方法的应用,无疑为个性化医疗带来了新的可能性和方向。

我们在这篇文章里提出了一种新的药物推荐方法 MoleRec,本工作有幸被 TheWebConfa.k.a WWW2023 接受,下面我们将为大家详细介绍我们的方法。


论文题目:

MoleRec: Combinatorial Drug Recommendation with Substructure-Aware Molecular Representation Learning

作者信息:

杨念祖(上海交通大学),曾锴鹏(上海交通大学),吴齐天(上海交通大学),严骏驰(上海交通大学)

收录会议:

TheWebConf (a.k.a WWW) 2023

论文链接:

https://dl.acm.org/doi/10.1145/3543507.3583872

代码链接:

https://github.com/yangnianzu0515/MoleRec




背景

基于学习的预测模型在提高临床决策的准确性和安全性方面已显示出巨大潜力,随着个人医疗数据(如 EHR 数据)的可获取性不断提高,其应用领域也在不断拓宽,组合药物推荐任务便是其中一个典型应用场景。组合药物推荐这一任务的目标在于,根据病患的健康状况,为他们提供适宜的药物组合作为最终的处方。

这个问题在某些方面与序列推荐问题类似,因为本身都属于是推荐任务。然而,存在两个方面的主要差别:
1)药物推荐的目标是返回一些药物的集合,而传统推荐任务的给出的推荐结果是单个商品;
2)推荐的药物集合需要满足某些安全性要求,即尽可能避免最终推荐药物集合内 drug-drug interaction(DDI)的存在。DDIs 通常发生在一种药物与另一种药物同时使用的时候,其效果可能会危及生命。例如,当一起服用 Adenosine 和 Ephedrine 两种药物时,通常会导致心率过高。DDI rate 是一个相关的用以评估推荐结果安全性的指标,指的是药物组合内部冲突药物对的数量占总推荐药物对数量的比例。



动机

已经有很多来自生物信息学、药理学、机器学习等领域的工作 [1,2,3] 提出这样一个发现:分子的性质通常与一些特定的子结构有关。因此,我们可以进一步认为药物分子的部分子结构对治疗特定疾病起关键作用。所以从分子子结构的角度出发去设计模型,可能会产生更好的效果和可解释性。此外,已经证明,药物-药物相互作用实质上源于子结构-子结构相互作用,这表明建模子结构之间的相互作用可能可以提高推荐结果的安全性。




问题定义

给定患者的之前的就诊历史,模型旨在预测病人在当次就诊中适合的药物组合,既要与医生提供的真实结果尽量吻合,又要保证安全,这里的安全性是通过 DDI 率近似衡量的。

输入数据(Electrical Health Record-EHR):对于患者 ,相应的 EHR 可以表示为一个序列 其中 表示第 次就诊的信息, 的总就诊次数。具体而言, 可以由 multi-hot diagnosis,procedure 和 medication 向量组合表示,即 ,其 分别是 diagnosis,procedure 和 medication 元素集合。
已知 DDI 关系矩阵:我们使用对称矩阵 表示已知的 DDI 关系作为先验知识,其中 表示药物 之间存在相互作用。
组合药物推荐:给定纵向直到第 次就诊时的 diagnosis 序列和 procedure 序列 ,以及 DDI 关系先验矩阵 ,我们旨在学习一个药物组合推荐函数 ,它输出一个多标签向量 ,值为  的维度表示对应的药物应该被推荐给病人。在训练阶段,我们使用真实值 提供监督信号。



方法

我们提出的 MoleRec 方法框架如上图所示,主要由以下三部分组成:
  1. 患者表征学习模块:对患者的纵向诊断和过程信息进行编码;
  2. 药物表征学习模块:基于患者的病情为药物生成对分子子结构感知的表征;
  3. 预测模块:基于上一个模块输出的子结构感知的药物表征进行处方预测。
特别地,在药物表征学习模块中,我们会建模分子子结构们之间的相互关联以及每个子结构和病人病情的关联度,最终它会为每个药物分子输出一个 substructure-aware 表征。

5.1 患者表征学习模块

患者的健康状况由历史 diagnosis 和 procedure 信息编码。我们定义了两个可学习的 embedding tables,分别为 ,它们分别对应 diagnosis 和 procedure,其中 是维度大小。 的每一行都对应着了一种 diagnosis 或 procedure 的表征向量。给定第 次访问的 diagnosis 和 procedure 向量 ,我们通过向量-矩阵点积选出对应的 diagnosis 和 procedure 表征并将它们求和,
参考 [4,5] 的做法,我们使用一个 Dual-RNN 模块来编码历史 diagnosis 和 procedure 信息:

其中 的隐藏状态。我们将 设为零向量。接着,我们将 Dual-RNN 的隐藏诊断状态 和隐藏过程状态 进行拼接,得到最终的患者表征,

5.2 药物表征学习模块

5.2.1 整体级别的药物表征(Entirety-level Representation)

我们使用图神经网络(GNN)来编码药物并得到整体级别的表征。GNN 通过聚合邻居节点的表征来更新节点的表征。一般来说,我们有:

其中, 是第 层节点 的节点表征, 是节点 的初始表征, 是边 的边特征, 表示图上节点 的邻居集合。
一个药物分子可以被表示为一个图 ,其中 是对应于原子的图的节点集, 是对应于化学键的图的边集。给定一个分子 ,我们将它输入给一个由 层的 GNNs 堆叠起来的模块,然后再过一个 READOUT 函数综合图上所有节点的特征,就可以得到整体级别的药物表征,即:
在实际实现中,我们使用 GIN [6] 作为我们的图神经网络,它在最近与分子相关的工作中被广泛使用作为骨干网络。与之前的工作不同,我们的方法中,这个整体级别的表征并没有直接用于最终的推荐。最后,所有药物分子的表征被收集在一起,构成一个表征表 ,其中每一行对应一个药物。
5.2.2 子结构感知的药物表征(Substructure-aware Representation)
基于药物分子的属性取决于其特定的子结构以及治疗患者的疾病也依赖于某些特定子结构的功能这些假设后,我们的目标是充分利用药物的子结构相关信息。我们采用了 BRICS [7] 将药物分子分解为子结构。我们对所有药物分子进行分解,得到一个完备的子结构集合 。我们定义了一个表征表 ,其中每一行表示特定子结构的表征。

由于子结构们互相之间也存在一定的关联性,因此我们需要对它们之间的高阶相互作用进行建模。因此,我们设计了一个称为 Substructure Interaction Module(SIM)的模块来实现这一目标。

我们在这里使用了在 Set Transformer [8] 一文中提出的 Set Attention Block(SAB)作为我们的子结构交互建模模块。SIM 模块接受所有子结构的表征作为输入,即 ,并在集合中的元素之间执行自注意力操作,输出得到一个同样大小的集合,我们用 进行表示。需要注意的是, 是一个新的表征表,编码了子结构之间的成对相互作用。SIM 模块的定义如下:
其中 是一个前馈网络, 是层归一化。 表示由以下方式定义的标准自注意力:
分别是通过对输入 进行不同变换得到的 query、key 和 value 矩阵。接下来,我们设计了一个称为 Structure Relevancy Module(SRM)的模块,用于明确地建模治疗病人与每个子结构之间的依赖程度。给定患者表征 ,我们通过如下方式获取每个子结构对于患者在第 次看病时的关联度:
其中, 是一个前馈网络, 是 sigmoid 激活函数, 的每一维表示相应子结构和病情的关联度。
每种药物分子 对应于其一组子结构,表示为 。 给定药物分子 ,我们从 中抽出其整体级别的表征并记作为 , 再从 中抽出其子结构们的表征。我们将子结构 的表征表示为 。接下来,我们可以计算出每个药物对于其相应子结构们的注意力系数,该系数表示子结构 对整个药物药效的重要性,

其中, 分别是 的线性变换矩阵。对于每一个 ,我们根据其对治疗病人疾病的贡献来调整其表征:
其中, 中对应于子结构 的那一维。最后,我们通过注意力机制聚合缩放后的子结构的表征,得到给定药物分子 子结构感知表征 
所有药物的子结构感知表征组成
5.3 预测模块
给定所有药物集合 的子结构感知表征 作为输入,我们依次应用一个前馈网络 和一个 sigmoid 激活函数,即:
其中 代表每种药物在处方中出现的概率。然后我们可以通过挑选出 中值大于预定义阈值 的条目,得到一个 multi-hot 预测结果向量
5.3.1 损失函数
我们沿用和 SafeDrug 一样的 loss 设计形式,对多标签预测损失和 DDI 损失加权求和作为最终的损失函数:
其中 共同组成了多标签预测损失。 , 的详细定义请阅读原论文。 是超参数。由于在真实的电子健康记录(EHR)数据中也存在 DDI,因此正确的预测结果可能会增加 DDI 率,同时不正确的预测也会增加 DDI 率。因此,在训练阶段,我们可以动态调整 的值,以平衡多标签预测损失和 DDI 损失,也就是说,找到一个同时具有低 DDI 率和高准确性的模型。
我们将期望的 DDI 率表示为 ,这是一个需要进行精细调整以在准确性和安全性之间取得平衡的超参数。同时,我们用 来表示当前的 DDI 率。如果 ,那么我们重点去优化 DDI 损失,并且可以根据 之间的差距动态调整 的值。否则,我们重点考虑多标签预测损失。我们设计了以下策略来调整 的值:
是一个超参数。注意, 是关于 的凹函数,而不是 SafeDrug 中的一次线性函数。如下图所示,当 之间的差距仍然较大(例如,在区间 上), 的值会缓慢下降,以保持 DDI 损失的权重仍处于较高水平。当差距较小(例如,在区间 上), 将急剧下降,模型将其重点转移到优化多标签预测损失上。




实验结果

我们在 MIMIC-III 电子医疗数据集上进行了实验来验证我们提出的 MoleRec 的有效性。

评价指标:和之前的工作一致,我们同样采用了 DDI 率,Jaccard Similarity Score(Jaccard),F1-score 和 Precision Recall AUC(PRAUC)作为我们的评价指标。此外,还展示了每种模型平均每次预测给病人开了多少药物供参考。

Baseline:我们比较了 Logistic Regression, Ensemble Classifer Chain(ECC),RETAIN,LEAP,DMNC,GAMENet,SafeDrug 和 4SDrug 众方法。

上表展示了我们的实验结果,可以看到我们在除 DDI 率之外的所有指标上,均取得了 SOTA 的表现。至于 DDI 率,我们在一众方法里表现第二好,排名第一的是 4SDrug [9]。4SDrug 在 DDI 率最低得益于它倾向于推荐较少的药物,这使得它在别的指标上表现不如意。此外,我们还做了一些 ablation study 和 case study 进一步突出我们方法的有效性,这一部分实验详见原论文。



总结
在这篇文章里,我们针对组合药物推荐任务,提出了一种方法,名为 MoleRec。它建模了子结构们之间的相互作用以及患者病情与子结构之间的关联性。此外,我们在训练阶段设计了一种调整策略,以动态地重新加权 DDI 损失,帮助模型在推荐准确性和安全性之间找到更好的平衡。最后,在 MIMIC-III 上进行的大量实验已经证明了我们的方法在推荐结果的准确性和安全性方面的有效性。



Open-Source

此外,我们的方法 MoleRec 已经作为一个 baseline model 被整合进 UIUC 的 Jimeng Sun 老师组发布的 PyHealth Package 中。截止目前,该项目已在GitHub上收获 star。




写在最后
We're always open for possible collaborations and feel free to contact us.
欢迎一起交流与进步!

参考文献

[1] Klekota, Justin, and Frederick P. Roth. "Chemical substructures that enrich for biological activity." Bioinformatics 24.21 (2008): 2518-2525.
[2] Phanus-Umporn, Chuleeporn, et al. "Privileged substructures for anti-sickling activity via cheminformatic analysis." RSC advances 8.11 (2018): 5920-5935.
[3] Yang, Nianzu, et al. "Learning substructure invariance for out-of-distribution molecular representations." Advances in Neural Information Processing Systems 35 (2022): 12964-12978.
[4] Shang, Junyuan, et al. "Gamenet: Graph augmented memory networks for recommending medication combination." proceedings of the AAAI Conference on Artificial Intelligence. Vol. 33. No. 01. 2019.
[5] Yang, Chaoqi, et al. "SafeDrug: Dual Molecular Graph Encoders for Recommending Effective and Safe Drug Combinations." 30th International Joint Conference on Artificial Intelligence, IJCAI 2021. International Joint Conferences on Artificial Intelligence, 2021.
[6] Xu, Keyulu, et al. "How Powerful are Graph Neural Networks?." International Conference on Learning Representations. 2018.
[7] Degen, Jörg, et al. "On the Art of Compiling and Using'Drug‐Like'Chemical Fragment Spaces." ChemMedChem: Chemistry Enabling Drug Discovery 3.10 (2008): 1503-1507.
[8] Lee, Juho, et al. "Set transformer: A framework for attention-based permutation-invariant neural networks." International conference on machine learning. PMLR, 2019.
[9] Tan, Yanchao, et al. "4sdrug: Symptom-based set-to-set small and safe drug recommendation." Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. 2022.


更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·
·

继续滑动看下一个

​WWW 2023 | 上海交大提出组合药物推荐新方法—MoleRec

让你更懂AI PaperWeekly
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存