当前位置: 首页 > article >正文

FSFP——专为蛋白质工程设计的少样本学习策略

论文地址:通过小样本学习,以最少的湿实验室数据提高蛋白质语言模型的效率

参考文献:AI蛋白质设计“新引擎”:FSFP驱动大模型超低采样学习,少量数据显著提升蛋白质语言模型的性能

前言介绍:上海交通大学自然科学研究院洪亮教授课题组联合上海人工智能实验室青年研究员谈攀,在蛋白质突变-性质预测上取得重要突破。该工作介绍了一种训练策略FSFP(Few-Shot Learning for Protein Fitness Prediction),通过结合元迁移学习,排序学习和参数高效微调,在使用极少实验数据的情况下,极大地提高了传统蛋白质预训练模型在突变-性质预测的效果。此外,作者通过实验成功地将FSFP应用于Phi29 DNA聚合酶的工程改造,在热稳定性提升的突变中,在只使用20个湿实验数据训练模型的情况下,阳性率提高了25%,并且能找到将近10个全新的阳性单点突变。表明了该方法在蛋白质工程方面的潜力。

概述

FSFP(Few-Shot Learning for Protein Fitness Prediction)是一种专为蛋白质工程设计的少样本学习策略。它通过结合元迁移学习(MTL)、排序学习(LTR)和低秩适应(LoRA)技术,有效提升了蛋白质语言模型极少量标记数据下的性能。FSFP通过在相关蛋白质的辅助任务上进行元训练,获取能够快速适应新任务的初始模型参数,然后在目标蛋白质的少量数据上进行微调,最终实现对突变体适应性的精确排序和预测。

核心思想

FSFP方法巧妙地结合了元迁移学习(meta-transfer learning)、学习排序(learning to rank)和参数高效微调(parameter-efficient fine-tuning)三种技术:

  1. 元迁移学习: 通过在多个辅助任务上积累经验,使模型能够快速适应新的目标蛋白质。

  2. 学习排序: 将蛋白质适应度预测问题转化为排序问题,更符合定向进化的实际需求。

  3. 参数高效微调: 采用低秩适应(LoRA)技术,仅微调少量参数,有效防止模型在小数据集上过拟合。

通过这种巧妙的组合,FSFP方法可以仅使用目标蛋白质的数十个随机单点突变体的标记数据,就能显著提高训练后模型的预测准确性。

文章结构

这篇论文提出的FSFP方法部分主要分为以下几部分

1、预训练蛋白质语言模型的选择与准备(Selection and Preparation of Pre-trained Protein Language Models

技术:蛋白质语言模型(Protein Language Models, PLMs)。

解释:使用了预训练的蛋白质语言模型如ESM-1v、ESM-2和SaProt。这些模型基于大型蛋白质序列数据进行训练,能够捕捉蛋白质序列中的统计特性,提供预测蛋白质适应性(fitness)景观的初步能力。ESM-1v 和 ESM-2 是基于Transformer架构的模型,专注于序列信息,而SaProt则结合了结构信息。

2、少样本学习策略FSFP的设计(Design of FSFP for Few-Shot Learning

技术:元迁移学习(Meta-Transfer Learning, MTL)、排序学习(Learning to Rank, LTR)、低秩适应(Low-Rank Adaptation, LoRA)。

解释

元迁移学习(MTL:一种元学习方法,旨在通过学习多个任务来快速适应新任务,尤其是在标签稀缺的情况下。在这里,FSFP使用MTL来获取能够快速适应目标蛋白质任务的初始模型参数。

排序学习(LTR:LTR将蛋白质适应性预测问题转化为排序问题,重点关注不同突变的相对有效性,而非绝对值,从而更适合指导蛋白质工程中的定向进化。

低秩适应(LoRA:LoRA通过引入可训练的低秩矩阵来更新PLMs中的部分参数,保持原模型参数冻结,从而防止在小数据集上的过拟合。

3、数据集构建与辅助任务(Data Set Construction and Auxiliary Tasks)

技术:多序列比对(Multiple Sequence Alignment, MSA)和相似蛋白质数据集检索。

解释:通过蛋白质语言模型生成的嵌入向量,从ProteinGym数据库中检索与目标蛋白质相似的两个蛋白质,形成两个辅助任务的数据集。利用MSA技术计算候选突变体的伪标签,生成第三个辅助任务的数据集。

4、模型训练与评估(Model Training and Evaluation

技术:模型无关元学习(Model-Agnostic Meta-Learning, MAML)和差分进化(Differential Evolution)。

解释:采用MAML方法进行模型的元训练,目的是找到能够快速适应新任务的模型初始参数。差分进化用于优化LoRA参数,使得模型在目标任务上能够更快地学习。(模型无关元学习 (MAML) 在构建的任务上进行元训练 PLMs。MAML 能够找到最优初始模型参数,即使对它们进行小幅更改也会在目标任务上产生显著改善。在每个迭代周期中,元训练过程包含两个级别的优化,并最终将 PLMs 转换为初始化的元学习器

FSFP的具体实现流程

FSFP方法的实现包括以下几个关键步骤:

1. 构建辅助任务

为了进行元学习,FSFP首先需要构建多个相关的辅助任务。具体做法如下:

  • 利用预训练的蛋白质语言模型将目标蛋白质和数据库中的蛋白质编码为嵌入向量。

  • 计算目标蛋白质与数据库中其他蛋白质的余弦相似度。

  • 选择相似度最高的两个蛋白质及其对应的深度突变扫描(DMS)数据集作为前两个辅助任务。

  • 使用多序列比对(MSA)方法GEMME为目标蛋白质的候选突变体生成伪标签,构建第三个辅助任务。

这种方法既利用了相似蛋白质的实验数据,又融入了目标蛋白质的进化信息,为元学习提供了丰富的知识来源。

2. 元训练

FSFP采用模型无关元学习(MAML)算法进行元训练。MAML的目标是找到一组初始参数,使得模型能够在少量梯度更新后快速适应新任务。元训练过程包括两个层次的优化:

  • 内层优化:对每个采样的辅助任务,使用其训练数据更新模型参数。

  • 外层优化:使用辅助任务的测试数据评估更新后的模型,并优化元学习器。

为了防止过拟合,FSFP使用LoRA技术,仅更新一小部分低秩分解矩阵,而保持预训练模型的原始参数不变。

3. 迁移到目标任务

元训练完成后,FSFP将得到的模型迁移到目标蛋白质的少样本学习任务上。与传统方法不同,FSFP将这个问题视为排序问题,使用ListMLE损失函数进行训练。这种方法更加关注突变体之间的相对顺序,而不是精确的适应度分数,更符合蛋白质工程的实际需求。

核心架构介绍

FSFP包含三个阶段:(a)首先,构建用于元学习的辅助任务,包括检索两个相似蛋白的标记突变体数据集和使用MSA方法估计变异效应的伪标签。(b)然后,使用MAML算法在这些任务上对PLM进行元训练,并通过LoRA技术限制模型参数的更新,以防止过拟合。(c)最后,将元训练模型应用于目标小样本任务,并利用LTR技术将适应度预测问题转化为排序问题,通过计算预测与真实排列之间的排名损失来优化模型。

输入(编码)

  • 蛋白质序列输入:通过蛋白质语言模型(如ESM-2)编码,生成高维的嵌入向量。PLMs使用Transformer架构处理序列信息,并输出蛋白质的嵌入向量,这些向量用于下游任务。
  • MSA生成的伪标签:通过GEMME算法计算出的进化保守性分数,用于辅助任务的训练。(GEMME(Global Epistatic Model for Mutational Effects)是一种用于预测蛋白质突变效果的算法。它利用多序列比对(MSA)生成的进化信息来建模蛋白质序列中不同位置之间的相互依赖性。通过构建联合进化树,GEMME计算每个位置的保守性,并通过这些保守性分数估计突变的进化适应性,从而预测特定突变对蛋白质功能的影响。该方法简单且快速,能够有效捕捉突变之间的全局互作效应,适用于大规模蛋白质突变效果的预测。)

模型结构

  • 元迁移学习(MTL:模型结构基于Transformer,使用LoRA调整模型的部分参数。模型首先在辅助任务上进行训练,生成初始参数,然后在目标蛋白质的少样本数据上进行微调。
  • 排序学习(LTR:在微调阶段,FSFP将预测问题转化为排序问题,使用ListMLE损失函数训练模型,使其更关注突变之间的相对排序。

训练

  • 元训练:使用MAML方法,在多个辅助任务上进行训练,以获得适合目标任务的模型初始参数。每个辅助任务的数据集包括从相似蛋白质中提取的突变数据以及通过MSA生成的伪标签数据。
  • 微调:在目标蛋白质的少量训练数据上微调模型。训练过程中,模型仅更新LoRA参数,以防止过拟合。(FSFP 使用低秩自适应 (LoRA) 将可训练的秩分解矩阵注入到 PLMs 中, 其中它们的原始预训练参数被冻结,所有模型更新都被限制为小数量的可训练参数。)

模型输出

  • 预测输出:模型输出为蛋白质突变体的适应性分数,经过排序学习后,输出为突变体的排名顺序。这种排名方式更加符合蛋白质工程中的实际需求,重点关注突变体在适应性提升中的相对效果。

总结 

FSFP方法通过结合元迁移学习、排序学习和低秩适应技术,在极少量实验数据的条件下,显著提升了蛋白质语言模型的性能。FSFP方法在蛋白质适应性预测上展示了良好的泛化能力,特别是在处理多个突变体和稀少的训练数据时效果显著。 


http://www.kler.cn/a/313324.html

相关文章:

  • LLMs 如何处理相互矛盾的指令?指令遵循优先级实验
  • 软件工程概论项目(二),node.js的配置,npm的使用与vue的安装
  • 俏美韵从心出发,与女性一道为健康生活贡献力量
  • FatLab:我的编程课程系列
  • R语言机器学习与临床预测模型77--机器学习预测常用R语言包
  • const限定符-C语言中指针的“可变与不可变”法则
  • SpringMVC1~~~
  • 回归预测 | Matlab实现SSA-HKELM麻雀算法优化混合核极限学习机多变量回归预测
  • 动手学深度学习(五)循环神经网络RNN
  • 吃透这本大语言模型入门指南,LLM就拿下了
  • 【Kubernetes】常见面试题汇总(二十八)
  • RedisTemplate操作ZSet的API
  • 《让手机秒变超级电脑!ToDesk云电脑、易腾云、青椒云移动端评测》
  • 数据结构和算法之树形结构(1)
  • (2)leetcode 234.回文链表 141.环形链表
  • 机器翻译之创建Seq2Seq的编码器、解码器
  • 使用SonarQube扫描ESP32项目,如何生成build-wrapper-dump.json
  • PyTorch 图像分割模型教程
  • SpringBoot 项目如何使用 pageHelper 做分页处理 (含两种依赖方式)
  • 【Redis入门到精通二】Redis核心数据类型(String,Hash)详解
  • Kafka 命令详解及使用示例
  • 半导体器件制造5G智能工厂数字孪生物联平台,推进制造业数字化转型
  • java--章面向对象编程(高级部分)
  • 在 Debian 12 上安装 Java 21
  • 【VUE3.0】动手做一套像素风的前端UI组件库---Button
  • iftop流量监控工具