DrugChat: Towards Enabling ChatGPT-Like Capabilities on Drug Molecule Graphs

DrugChat: Towards Enabling ChatGPT-Like Capabilities on Drug Molecule Graphs

基本信息

博客贡献人

鲁智深

作者

Youwei Liang,Ruiyi Zhang,Li Zhang,Pengtao Xie

摘要

    用于药物化合物分析的类似于chatgpt的系统可以加速药物发现,增强对结构-活性关系的理解,指导优化,帮助药物重新利用,降低失败率,并简化临床试验。
    在这项工作中,尝试通过开发一个系统DrugChat,在药物分子图上实现类似于chatgpt的功能。DrugChat的工作方式与ChatGPT类似。
    用户上传一个化合物分子图,并询问关于这个化合物的各种问题。DrugChat将以多回合、互动的方式回答这些问题。
    DrugChat系统由一个图神经网络GNN、一个大语言模型LLMs和一个适配器组成。GNN以一个化合物分子图作为输入,并学习该图的表示。适配器将GNN产生的图表示转换为LLMs可接受的另一种表示。LLMs将适配器转换的化合物表示和用户关于该化合物的问题作为输入并生成答案。所有的组件经过端到端训练。
    为了训练DrugChat,共收集了包含10,834个药物化合物以及143,517个问答对的指令微调数据集。

现有挑战

  1. 分子图的表示。文本数据是顺序的,并且具有定义良好的结构;分子图本质上是非顺序的和高度复杂的,没有明确的起点或终点。开发一种方法,将这些图转换为GPT模型可以处理的格式是至关重要的。
  2. 捕获和理解药物化合物中复杂的结构-活性关系。这些关系通常不是直接的,可能涉及到分子不同部分之间微妙相互作用。
  3. 训练这样一个系统,就需要大量的分子结构数据集,以及相关的生物活性、副作用和其他特性。考虑到这些信息的专有性质和化学空间的纯粹多样性,这些数据集的生成或汇编是一项艰巨的任务。

药物指令微调数据

    考虑两个来源管理药物化合物的指令微调数据——ChEMBL和PubChem

表1.数据集统计

在这里插入图片描述

ChEMBL药物指令微调数据集

    从ChEMBL网站中收集数据,最后一次更新是在2023年2月28日,整个数据集中,鉴定出14,816种包含药物信息的化合物。在应用进一步的过滤来排除描述性信息不足的药物后,最终得到了一个包含3,892种药物的数据集。
    对每一种药物,首先收集它的SMILES串,代表分子结构。随后,获得各种分子特征,包括完整的分子式及其作为酸、碱或中性化合物的分类。此外,还收集了药物特异性特性,如作用机制和治疗应用。基于这些属性,手工制作了129,699对问答对。ChEMBL药物指令微调数据集中的一个样本药物的问答(QA)对如下表所示。

表2.ChEMBL药物指令微调数据集中的一个示例药物的问答(QA)对

在这里插入图片描述

PubChem药物指令微调数据集

    PubChem网站包含66,469,244种化合物的信息。使用2023年5月9日最后更新的数据版本,包含有19,319种药物信息。过滤掉缺乏详细文本描述的药物后,保留6,942种药物。
    对于每种药物,从ChEBI、LOTUS和YMDB等数据库中收集它的SMILES串和描述。总共获得13818个化合物描述摘要,并整理了13,818对问答(QA)。下表提供了PubChem中一种样本药物的QA对。

表2.在PubChem药物指令微调数据集中的一个药物的问答(QA)对

在这里插入图片描述

方法

    DrugChat以一个化合物分子图作为输入,并允许用户询问关于这个化合物的多回合问题。对于每个问题,DrugChat都会生成一个答案。DrugChat由一个图神经网络、一个大语言模型LLMs和一个GNN和LLMs之间的适配器组成。
    GNN学习了化合物分子图的表示。适配器(一个线性变换矩阵)将图表示转换为一个与LLMs兼容的软提示向量。LLMs将一个用户问题和图提示向量作为输入,并生成一个答案。
    采用了一个预训练的GNN和一个预训练的LLM - Vicuna13b。训练DrugChat时,固定GNN和LLMs的权重参数,只更新适配器的权重。
    给定指令微调数据中的药物和一个关于该药物的问题,药物的分子图首先被输入GNN产生一个表示向量,然后输入适配器产生一个提示向量。提示向量和问题被输入LLMs以生成答案。计算了生成的答案和地面真实答案之间的负对数似然损失。适配器是通过最小化这个损失来训练的。

在这里插入图片描述

图1.DrugChat程序框架的概述

图神经网络

    在第 k k k层,节点 v v v的表示 h v k h_v^k hvk 包含了来自 v v v k k k跳网络邻域内的节点的信息。 h v k h_v^k hvk计算如下:
在这里插入图片描述
    为获得整个图 G G G的表示向量,对最后一层 K K K的节点应用池化函数 f f f提取信息:
在这里插入图片描述

大语言模型

    LLMs利用Tansfomer解码器对语言模型中tokens的条件概率 p θ ( n i ∣ n < i ) p_θ (n_i |n<i) pθ(nin<i)进行建模。Tansfomer解码器对输入上下文tokens应用多头自注意块,并使用position-wise前馈网络来计算输出tokens的概率。给定tokens的上下文向量,tokens生成概率计算为:
在这里插入图片描述
式中, N ( i − 1 ) = ( n 1 , n 2 , . . . , n i − 1 ) N_(i-1)=(n_1,n_2,...,n_{i-1}) N(i1)=(n1n2...ni1)表示tokens的上下文向量, m m m表示层数, W e W_e We表示token嵌入矩阵, W p W_p Wp表示位置嵌入矩阵。

对齐的graph-text生成

    为每个训练graph-text对创建一个prompt,这允许LLM从药物化合物图中生成描述。使用了一个遵循Vicuna-13b的会话格式的提示模板:
Q: < Graph >< GraphFeature >< /Graph >< Instruction >
A:< Desc >
在这个prompt中,< GraphFeature >是一个软提示,表示由线性投影层编码的图结构特征。< Desc >作为一个指令句,促使LLM生成对该药物的描述,如“描述该药物的作用机制”。在训练阶段,< Desc >填充了来自人类专家的描述性文本来训练线性投影层。在测试阶段,< Desc >保持为空,该模型被期望为所提供的药物结构生成描述性文本。

结果

    在训练数据中不包含化合物图上测试的DrugChat。图2和图3显示了两个例子。DrugChat可以回答关于化合物的各种问题,比如“是什么使这种化合物独特?”,“这种化合物可能能治疗哪些疾病?”。这些问题并不包含在训练数据中。将通过与药学科学家的合作来进行系统的定量评估。

在这里插入图片描述

图2.DrugChat框架的演示

在这里插入图片描述

图3.DrugChat框架的演示

相关知识链接

下载

代码下载:https://github.com/UCSD-AI4H/drugchat

总结

亮点

  • DrugChat旨在在药物分子图上实现类似chatgpt的能力。DrugChat允许用户交互式地询问关于药物化合物的开放式问题,并提供信息丰富的答案。
  • 收集了包含10,834个药物化合物和143,517个问答对的指令微调数据集。这些数据集使用于药物化合物的chatgpt类似模型的训练成为可能,并且可以公开获得。
  • DrugChat是第一个连接图数据和大语言模型的系统,它支持在图上的交互式对话。系统无缝地集成了图神经网络和大语言模型,并可以很容易地扩展到分析化合物分子图之外的其他图数据。

不足

  • DrugChat的一个潜在限制是语言幻觉。由于DrugChat包含了一个LLMs模块,可能偶尔会对药物产生不可靠的答案和描述,这阻碍了在实际药物发现中的应用。如果DrugChat产生了看似令人信服但不正确的文本描述,它可能会误导人类决策者,并可能导致不良后果。

启发

  • 可以通过利用更高质量的训练数据和实施有效的过滤策略来缓解幻觉问题。
  • 更先进的GNN编码器和LLMs将在解决幻觉挑战中发挥关键作用。
  • 随着用户数量的增加,人类的反馈也可以用来微调DrugChat。

BibTex

@article{liang2023drugchat,
  title={DrugChat: towards enabling ChatGPT-like capabilities on drug molecule graphs},
  author={Liang, Youwei and Zhang, Ruiyi and Zhang, Li and Xie, Pengtao},
  journal={arXiv preprint arXiv:2309.03907},
  year={2023}
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
06-25 1384
### 回答1: Faster R-CNN是一种基于区域建议网络(Region Proposal Networks,RPN)的物体检测算法,旨在实现实时物体检测。它通过预测每个区域是否含有物体来生成候选框,并使用卷积神经网络(CNN)来确定候选框中的物体类别。Faster R-CNN在提高检测精度的同时,也显著提高了检测速度。 ### 回答2: 在计算机视觉领域中,目标检测一直是热门研究的方向之一。近年来,基于深度学习的目标检测方法已经取得了显著的进展,并且在许多实际应用中得到了广泛的应用。其中,Faster R-CNN 是一种基于区域建议网络(Region Proposal Networks,RPN)的目标检测方法,在检测准确率和速度之间取得了很好的平衡,能够实现实时目标检测。 Faster R-CNN 的基本框架由两个模块组成:区域建议网络(RPN)和检测模块。RPN 主要负责生成候选目标框,而检测模块则利用这些候选框完成目标检测任务。具体来说,RPN 首先在原始图像上以多个尺度的滑动窗口为基础,使用卷积网络获取特征图。然后,在特征图上应用一个小型网络来预测每个位置是否存在目标,以及每个位置的目标边界框的坐标偏移量。最终,RPN 根据预测得分和位置偏移量来选择一部分具有潜在对象的区域,然后将这些区域作为候选框送入检测模块。 检测模块的主要任务是使用候选框来检测图像中的目标类别和位置。具体来说,该模块首先通过将每个候选框映射回原始图像并使用 RoI Pooling 算法来获取固定大小的特征向量。然后,使用全连接神经网络对这些特征向量进行分类和回归,以获得每个框的目标类别和精确位置。 相比于传统的目标检测方法,Faster R-CNN 具有以下优点:首先,通过使用 RPN 可以自动生成候选框,避免了手动设计和选择的过程;其次,通过共享卷积网络可以大大减少计算量,提高效率;最后,Faster R-CNN 在准确率和速度之间取得了很好的平衡,可以实现实时目标检测。 总之,Faster R-CNN 是一种高效、准确的目标检测方法,是深度学习在计算机视觉领域中的重要应用之一。在未来,随着计算机视觉技术的进一步发展,Faster R-CNN 这类基于深度学习的目标检测方法将会得到更广泛的应用。 ### 回答3: Faster R-CNN是一种结合了深度学习和传统目标检测算法的新型目标检测方法,旨在提高目标检测速度和准确率。Faster R-CNN采用了Region Proposal Network(RPN)来生成候选区域,并通过R-CNN网络对候选区域进行分类和定位。 RPN是一种全卷积神经网络,用于在图像中生成潜在的候选区域。RPN通常在卷积特征图上滑动,对每个位置预测k个候选区域和其对应的置信度得分。这样,对于输入图像,在不同大小和宽高比的Anchor上预测候选框,可以在计算上更有效率。 R-CNN网络利用卷积特征图作为输入,对RPN生成的候选区域进行分类和精确定位。与以前的目标检测方法相比,Faster R-CNN使用了共享卷积特征,使得整个检测网络可以端到端地进行训练和优化,缩短了训练时间,同时也更便于理解和改进。 Faster R-CNN不仅具有较高的准确性,还具有较快的检测速度。在各种基准测试中,Faster R-CNN与其他目标检测算法相比,都取得了优异的性能表现。总之,Faster R-CNN将目标检测引入了一个新的阶段,为实时目标检测提供了一个良好的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值