首页 > 其他分享 >利用大规模无监督学习提升药物分子表示

利用大规模无监督学习提升药物分子表示

时间:2024-09-26 20:52:36浏览次数:11  
标签:分子 训练 药物 模型 监督 GROVER 上下文 节点 预测

人工智能咨询培训老师叶梓 转载标明出处

在人工智能驱动的药物设计和发现领域,获取具有信息量的分子表示是一个至关重要的前提。近年来,研究者们将分子抽象为图,并利用图神经网络(GNNs)进行分子表示学习,展现出了巨大的潜力。然而,实际应用中GNNs面临着两个主要问题:一是用于监督训练的标记分子数据不足;二是模型对新合成分子的泛化能力较差。

为了解决这些问题,腾讯AI Lab的研究人员提出了一种名为GROVER(Graph Representation frOm self-superVised mEssage passing tRansformer)的新框架。该框架通过在节点、边和图级别上设计精心的无监督学习任务,能够从大量未标记的分子数据中学习丰富的结构和语义信息。

GROVER预训练框架

在大规模无标记数据上进行预训练,GROVER模型能够学习分子的丰富结构和语义信息。该模型基于Transformer构建,使用特制的图神经网络(GNNs)作为自注意力机制的构建块。这种设计使得模型不仅能够捕获图数据中的结构信息,还能在节点和边的消息传递路径上实现信息流动。

GROVER由两个模块组成:节点GNN转换器(node GNN transformer)和边GNN转换器。为了便于说明,本文只详细描述节点GNN转换器(简称node GTransformer),其结构如图1所示。

主要组件包括(图1):

  • 多头注意力机制(Multi-Head Attention):允许模型在处理查询(Q)、键(K)和值(V)时,能够从多个角度学习信息。
  • 层归一化(LayerNorm):有助于加快训练速度,提高模型的稳定性。
  • 前馈神经网络(Feed Forward):在每个注意力层之后使用,为模型提供额外的非线性能力。
  • 节点嵌入(Node Embed):将节点的原始特征转换为嵌入表示。
  • Aggregate2Node和Aggregate2Edge:分别用于将节点嵌入聚合到节点消息和边消息。
  • 串联(Concat):将来自不同层的信息连接起来,提供更丰富的表示。
  • 动态消息传递网络(DyMPN):一种新颖的消息传递机制,通过随机选择消息传递的跳数来增强模型的泛化能力。

GROVER设计的自监督任务如图2所示包括节点级的上下文属性预测任务和图级别的图式预测任务。

  • 节点/边级别的上下文属性预测:通过遮蔽节点或边的局部子图,模型需要预测目标节点或边的上下文属性。
  • 图级别的模式预测:利用领域知识,例如分子中的官能团,模型需要预测这些模式在分子中的出现。

动态消息传递网络(dyMPN)是GROVER的核心创新之一。传统的GNN消息传递过程需要预先指定每层的迭代次数和每次迭代中的跳数。GROVER引入了一种动态策略,即在每个训练周期中,根据某种随机分布选择每层的跳数。这种策略不仅提高了模型的泛化能力,还避免了过平滑问题。

自监督任务的设计对于预训练模型的成功至关重要。GROVER提出了两种自监督任务:节点/边级别的上下文属性预测和图级别的模式预测。

  • 上下文属性预测:通过定义局部子图中的节点/边的统计属性,模型能够预测目标节点/边的上下文属性。图3以一个节点的局部子图为例,展示了如何定义节点的上下文属性。

  • 图级别的模式预测:利用RDKit等专业软件检测分子中的官能团等模式,并将这些模式的出现作为预测目标。

预训练完成后,GROVER模型可以用于各种下游任务,如节点分类、链接预测和分子属性预测。通过微调,模型可以在特定任务上达到更好的性能。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

评论留言“参加”或扫描微信备注“参加”,即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory。关注享粉丝福利,限时免费录播讲解。

实验

实验包括预训练数据的收集、微调任务和数据集的准备、基线比较、以及下游任务的结果分析。

研究者们从ZINC15和Chembl数据集中收集了1100万个未标记的分子样本来预训练GROVER模型。为了模型选择,他们随机划分了10%的未标记分子作为验证集。

为了全面评估GROVER在下游任务上的性能,研究者们在MoleculeNet上的11个基准数据集上进行了实验,这些数据集涵盖了量子力学、物理化学、生物物理学和生理学等领域的各种目标。研究者们采用了更为现实的脚手架分割方法,以8:1:1的比例分配训练/验证/测试集,并进行了三次独立的随机种子脚手架分割实验,报告了平均值和标准差。

研究者们将GROVER与MoleculeNet中的10个流行基线模型和几个最新技术(STOA)方法进行了全面比较。表1中展示了所有模型在所有数据集上的性能比较。其中,标有绿色的方法是预训练方法。

在预训练阶段,研究者们为上下文属性预测任务设置了上下文半径k=1,以提取上下文属性字典,并分别获取了2518个和2686个不同的节点和边上下文属性作为节点和边的标签。每个分子图中随机遮蔽15%的节点和边标签进行预测。对于图级别模式预测任务,使用RDKit提取了85个功能团作为分子的模式,并将模式的标签表示为独热向量。为了评估模型大小的影响,研究者们预训练了两个不同隐藏层大小的GROVER模型:GROVERbase和GROVERlarge,同时保持所有其他超参数不变。

研究者们使用验证损失来选择最佳模型。对于每个训练过程,模型训练了100个周期。对于超参数,研究者们对每个数据集的验证集进行了随机搜索,并报告了最佳结果。

表1记录了所有模型在所有数据集上的整体结果。结果显示,GROVER模型在所有数据集上一致地实现了最佳性能,并且在大多数数据集上都有很大的提升。整体相对提升在所有数据集上是6.1%,在分类任务上是2.2%,在回归任务上是10.8%。这一显著的提升验证了GROVER预训练模型对分子属性预测任务的有效性。

为了研究自监督策略的贡献,研究者们比较了预训练的GROVER和未预训练的GROVER在分类数据集上的性能。结果显示,没有预训练的GROVER性能较差。自监督预训练平均AUC提高了3.8%,这证实了自监督预训练策略可以学习到隐含的领域知识,并增强下游任务的预测性能。

为了验证GTransformer的表达能力,研究者们实现了基于GIN和MPNN的不同骨干网络,并使用了一个包含600K未标记分子的玩具数据集进行了预训练。如图4所示,使用GTransformer骨干网络的GROVER在训练和验证中都优于GIN和MPNN,这再次证实了GTransformer的有效性。

为了证明GTransformer和dyMPN背后的理念,研究者们实现了两个变体:GROVER w/o dyMPN和GROVER w/o GTrans。如图5所示,GROVER w/o GTrans在训练和验证中表现最差,这意味着简单地结合GNN和Transformer并不能增强GNN的表达能力。dyMPN通过在训练过程中引入随机性,虽然稍微损害了训练损失,但验证损失变得更好。因此,dyMPN通过为每个消息传递步骤随机化接受域,为GROVER带来了更好的泛化能力。

https://arxiv.org/pdf/2007.02835v2

GitHub - tencent-ailab/grover: This is a Pytorch implementation of the paper: Self-Supervised Graph Transformer on Large-Scale Molecular Data 

标签:分子,训练,药物,模型,监督,GROVER,上下文,节点,预测
From: https://blog.csdn.net/weixin_44292902/article/details/142500241

相关文章

  • 【机器学习-无监督学习】聚类
    【作者主页】FrancekChen【专栏介绍】⌈⌈⌈Python机器学习⌋......
  • 利用未标记数据的半监督学习在模型训练中的效果评估
    数据科学家在实践中经常面临的一个关键挑战是缺乏足够的标记数据来训练可靠且准确的模型。标记数据对于监督学习任务(如分类或回归)至关重要。但是在许多领域,获取标记数据往往成本高昂、耗时或不切实际。相比之下,未标记数据通常较易获取,但无法直接用于模型训练。如何利用未标记数据来......
  • 2025秋招NLP算法面试真题(二十)-有监督微调基本概念
    1.基本概念1.微调方法是啥?如何微调?微调(Fine-tuning)是一种迁移学习的方法,用于在一个预训练模型的基础上,通过在特定任务的数据上进行有监督训练,来适应该任务的要求并提高模型性能。微调利用了预训练模型在大规模通用数据上学习到的语言知识和表示能力,将其迁移到特定任务上。......
  • 时间序列无监督异常点检测算法_孤立森林,局部离群因子检测和自编码器
    数据入口:压气机异常检测一维时间序列-Heywhale.com该数据为采样自工业压气机的一维时间序列数据。本文将通过无监督时间序列算法进行时间序列异常检测。针对时间序列数据,常用的无监督异常检测算法包括:孤立森林(IsolationForest)、基于密度的局部离群因子检测(LOF)、自编码器(Au......
  • 技术名称通解 --- 什么是监督学习?
     监督学习(SupervisedLearning)是一种机器学习方法,其中模型在带有已知标签(目标或输出)的训练数据上进行训练。通过学习数据输入和输出之间的关系,模型能够对新的、未见过的数据进行预测。监督学习的目标是让模型能够从训练数据中学习映射规则,然后对新数据进行准确的预测或分......
  • 药物分子生成算法综述:从生成对抗网络到变换器模型的多样化选择
    创作不易,您的打赏、关注、点赞、收藏和转发是我坚持下去的动力!基于已有的药物数据生成新的药物分子是一项复杂的任务,通常涉及到生成模型和机器学习算法。以下是一些常用的算法和方法:1.生成对抗网络(GANs)特点:由生成器和判别器两个神经网络组成,生成器生成新分子,判别......
  • 使用 KMeans 聚类算法 对鸢尾花数据集进行无监督学习的简单示例
    代码功能主要功能:加载数据集:代码使用load_iris()函数加载了鸢尾花数据集(Irisdataset)。这个数据集包含150条样本,每条样本有4个特征,对应于3种不同的鸢尾花。KMeans聚类:使用KMeans聚类算法将样本数据分为3个聚类(即3类),尝试发现数据中的自然分组,而不使用标签......
  • Java中的文本聚类算法:如何进行大规模无监督文本分类
    Java中的文本聚类算法:如何进行大规模无监督文本分类大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!文本聚类是自然语言处理中的一个重要任务,旨在将大量的文本数据分成几个有意义的类别。由于文本数据的高维性和稀疏性,处理大规模无监督文本分类通常......
  • 【机器学习】自监督学习:解锁数据的无限潜能
    【机器学习】自监督学习:解锁数据的无限潜能前言1.自监督学习:一种新的学习范式1.1自监督学习与监督学习的区别1.2常见的自监督学习任务2.自监督学习的常见方法2.1对比学习SimCLR的实现2.2预文本任务Jigsaw任务的实现3.自监督学习的应用场景4.结论结语前言......
  • GEE 案例:利用UCSB-CHG/CHIRPS/DAILY数据采用非监督分类实现某区域的降水区域的划分
    目录简介数据函数ee.Clusterer.wekaKMeans(nClusters, init, canopies, maxCandidates, periodicPruning, minDensity, t1, t2, distanceFunction, maxIterations, preserveOrder, fast, seed)Arguments:Returns: Clusterer代码结果简介利用UCSB-CHG......