跳转到内容

嵌入与语言模型

快速概览

生物语言模型的核心思想是「自监督预训练」:通过在海量无标注序列上运行填空或预测任务,模型能够自发地学习到蛋白质折叠、碱基规律和进化保守性。这些学到的特征(Embeddings)可以极大地提升下游低样本任务的精度。

  • 理解自监督学习的本质:利用序列自身的结构作为监督信号
  • 掌握预训练-微调(Pre-train & Fine-tune)的两阶段范式
  • 了解代表性模型:ESM(蛋白)、DNABERT(DNA)的设计初衷
  • 认识 Embedding 空间中的相似性与生物学功能的深层联系
所属板块 分析方向与案例

把基础对象与算法方法重新放回真实分析任务与工作流。

阅读目标 帮助建立阅读上下文

先判断这页与你当前问题的关系,再决定是否深入展开。

建议前置 先建立相关基础对象与方法直觉

建议先建立相关基础对象与方法直觉,再进入本页。

生物语言模型(Biological Language Model) 是一种将自然语言处理中的预训练语言模型范式应用于生物序列的深度学习方法。其核心思想是:生物序列(蛋白质、DNA、RNA)可以像自然语言一样被”阅读”和理解——蛋白质的氨基酸序列就是由 20 个”字母”组成的”句子”,DNA 的核苷酸序列就是由 4 个”字母”组成的”文本”。

通过在海量无标注的序列数据上进行自监督学习,模型能够自动捕获到序列中蕴含的生物学规律,包括:

  • 蛋白质的二级和三级结构偏好。
  • 进化保守性(某些位点的变异受到强烈选择约束)。
  • 功能位点的序列模式(如酶的活性位点、DNA 的转录因子结合位点)。

这些通过预训练获得的知识被编码为高维向量表示——即嵌入(Embedding)

  • 已知序列:UniProt 等数据库中有数亿条蛋白质序列;GenBank 中有数十亿条 DNA 序列。
  • 实验标注:真正通过生化实验确定结构或功能的序列仅占万分之一。例如,在超过 2 亿条 UniProt 序列中,只有约 20 万条有实验解析的 3D 结构(占比不到 0.1%)。

这种标注数据的极度稀缺是生物信息学中所有监督学习方法面临的根本挑战。

语言模型的方案是利用未标注数据来弥补标注数据的不足。就像人类通过阅读大量文本学会语法一样,模型通过”阅读”大量生命序列,学习残基之间的共现规律。这种规律本质上反映了蛋白质的物理化学约束和进化压力。

  • 蛋白质结构预测:Meta AI Research 的 ESM-2 模型仅通过序列预训练,就能在没有 MSA 输入的情况下预测蛋白质接触图,进而推断 3D 结构。这证明了语言模型确实从序列中学到了关于蛋白质折叠的深层知识。
  • 蛋白质功能预测:ESM 和 ProtBert 的 Embedding 在酶分类(EC number)、基因本体(GO) 注释等任务上超越了传统的基于序列比对的方法。
  • 变异效应预测:语言模型可以预测单个氨基酸替换对蛋白质功能的影响,为遗传病研究提供参考。

为了让模型在没有标签的情况下学习,我们设计了以下”游戏”:

掩码建模(Masked Language Model, MLM)
随机遮住序列中 15% 的碱基或残基,让模型根据上下文猜出它们是什么。这迫使模型理解局部的生化环境和长程的相互作用。这是 BERT 类模型的核心预训练任务。
因果预测(Autoregressive / CLM)
给定前 N 个残基,预测第 N+1 个。这是生成式模型(如 ProtGPT)的基础。因果预测学习的是序列的概率分布 $P(x_1, ldots, x_L) = prod_{t=1}^{L} P(x_t | x_{<t})$。
对比学习(Contrastive Learning)
让模型识别同一序列的不同变体(如通过随机掩码或 crop 生成的增强视图),并在高维空间中将相似的序列"拉近",不相似的"推远"。

模型预训练完成后,我们可以从中提取不同深度的信息:

  • 残基层(Token-level Embedding):每个位置的向量。例如,ESM-2 为每个氨基酸生成一个 1280 维的向量。常用于预测二级结构、结合位点或修饰位点。
  • 序列层(Global-level Embedding / Pooling):整条序列的摘要向量。通常通过对所有残基向量取平均或使用特殊标记(如 [CLS])的输出获得。常用于蛋白质分类、家族聚类或相似性搜索。
  • 注意力图(Attention Maps):反映位置间的关联。可以直接揭示蛋白质内部的接触图(Contact Map)——如果两个残基位置之间的注意力权重很高,它们在 3D 空间中往往距离很近。

传统的序列表示方法是 One-hot 编码:每个氨基酸用一个 20 维的向量表示,只有一个维度为 1,其余为 0。这种表示的缺陷是它假设所有氨基酸之间的”距离”相等,无法捕获氨基酸之间的相似性(如亮氨酸和异亮氨酸在物理化学性质上非常接近)。

Embedding 将每个残基映射到一个低维连续空间(如 1280 维),使得语义相似的残基在空间中彼此接近。这种分布式表示(Distributed Representation) 是语言模型能够泛化到未见过的序列组合的关键。

语言模型在蛋白质科学中最成功的应用之一是接触预测(Contact Prediction)。通过分析预训练模型的注意力权重或使用残基 Embedding 计算两两相似性,可以推断出哪些残基在 3D 空间中相互接触,从而指导蛋白质结构建模。

将蛋白质序列输入预训练模型,获得全局 Embedding,然后用简单的分类器(如 k-NN 或线性探针)进行酶分类。ESM-1b 的 Embedding 在 GO 功能预测上达到了超越 BLAST 序列比对的精度,尤其是在处理远程同源序列时。

变异效应预测(Variant Effect Prediction)

Section titled “变异效应预测(Variant Effect Prediction)”

给定一个蛋白质序列和一个氨基酸替换(如 A100V),语言模型可以评估该替换对序列”合理性”的影响。具体做法是:比较替换前后模型对变异位置的预测概率(即 Perplexity 的变化)。如果替换导致概率显著下降,说明该变异可能对蛋白质功能有害。

预训练模型可以作为特征提取器,为各种下游任务提供高质量的输入表示:

下游任务使用方法代表工具
二级结构预测残基 Embedding + 分类器NetSurfP-3.0
亚细胞定位预测全局 Embedding + 分类器DeepLoc
蛋白质-蛋白质相互作用两条序列的 Embedding 拼接ESM-Interaction
启动子预测DNA Embedding + 分类器DNABERT
增强子-启动子交互DNA Embedding + 回归器Enformer
ESM (Evolutionary Scale Modeling)
Meta AI Research 开发的蛋白质语言模型系列。ESM-1b 有 6.5 亿参数,ESM-2 最大有 150 亿参数。在蛋白质结构预测和功能预测上表现卓越。
ProtBert / ProtT5
基于 BERT 和 T5 架构的蛋白质语言模型。ProtBert 使用 MLM 预训练,ProtT5 使用编码器-解码器架构。在蛋白质功能预测任务上与 ESM 系列互补。
DNABERT
针对 DNA 序列的 BERT 模型。DNABERT 将 DNA 序列拆分为 6-mer(即连续 6 个核苷酸)作为"词",在基因组调控元件(如启动子、增强子)的识别任务上表现优异。
ProtGPT2
基于 GPT-2 架构的蛋白质生成模型。给定一个起始标记,ProtGPT2 可以自回归地生成全新的蛋白质序列。生成的序列具有类似天然蛋白质的统计特性。

语言模型在生物信息学中的典型使用流程遵循预训练-微调(Pre-train & Fine-tune) 范式:

  1. 大规模预训练:在数十亿参数的模型上投入巨大算力,学习通用的”生命语言”。这一步通常由大型研究机构完成,预训练好的模型以开源形式发布。
  2. 特征提取(Feature Extraction):将目标序列输入预训练模型,提取各层的 Embedding 作为下游任务的输入特征。
  3. 下游微调:在你的特定课题(如某个罕见病的突变预测)上,利用少量的实验数据对模型进行轻微调整。

迁移学习有效的原因在于:预训练阶段学到的是通用的序列规律(如氨基酸的共现模式、二级结构偏好),这些规律在不同物种和不同蛋白质家族之间是共享的。微调阶段只需要在少量标注数据上调整模型对这些通用规律的”侧重”。

  • 优势:即使你只有几百个实验样本,也能获得极高的预测性能。这在小样本生物信息学任务中具有巨大的实用价值。