4.3 从序列到分子图:表征学习


文档摘要

4.3 从序列到分子图:表征学习 本节摘要:模型不认识基因和分子,只认识数字。表征学习的任务是把领域对象翻译成向量:蛋白质语言模型从未标注的海量序列里学到结构与功能语义,图神经网络把分子当成图做消息传递。本节讲两条路线的直觉、预训练为什么有效、以及表征向量在循环里的三种用法。 翻译问题 第 2、3 章的方法各自定义了输入格式:GS 吃 SNP 编码矩阵,QSAR 吃描述符向量。这些都是"人工特征"——人先决定哪些信息重要,再手工抽取。深度学习的提议更激进:把原始对象(氨基酸序列、原子的连接表)直接交给模型,让模型自己学出有用的表示。这条路线近年的突破集中在两端:蛋白质序列端的语言模型,小分子端的图神经网络。

4.3 从序列到分子图:表征学习

本节摘要:模型不认识基因和分子,只认识数字。表征学习的任务是把领域对象翻译成向量:蛋白质语言模型从未标注的海量序列里学到结构与功能语义,图神经网络把分子当成图做消息传递。本节讲两条路线的直觉、预训练为什么有效、以及表征向量在循环里的三种用法。

翻译问题

第 2、3 章的方法各自定义了输入格式:GS 吃 SNP 编码矩阵,QSAR 吃描述符向量。这些都是"人工特征"——人先决定哪些信息重要,再手工抽取。深度学习的提议更激进:把原始对象(氨基酸序列、原子的连接表)直接交给模型,让模型自己学出有用的表示。这条路线近年的突破集中在两端:蛋白质序列端的语言模型,小分子端的图神经网络。妙处在于,两条设计线(品种与分子)在此汇合——因为它们处理的是同一个问题形态:离散符号序列或图结构 → 连续向量 → 下游预测

蛋白质语言模型:没标签也能学

自然语言处理的核心发现——"一个词的意思由它的上下文决定"——搬到蛋白质上出奇地好用:一个氨基酸位点的"意思"(它在维持结构、催化、结合中的角色)也由序列上下文决定。蛋白质语言模型(以自监督方式训练的 Transformer 类模型)的做法:拿数以亿计的、没人测过功能的蛋白质序列,反复玩"遮住某个位点、预测被遮住的氨基酸"的游戏。要玩好这个游戏,模型不得不学会哪些位置倾向于形成螺旋、哪些残基之间在三维上靠近、哪些位点家族保守——结构与功能的语法,就这样从纯序列里被压榨出来。

工程含义立刻兑现:预训练模型的输出向量(每个位点或整条序列一个向量)可以零样本或微调地用于二级结构预测、结合位点预测、突变效应预测。对第 3 章的分子线,这意味着靶点结构未知时,仍能用序列嵌入估计"哪段可能是结合口袋";对品种线,嵌入向量可以直接当 GS 模型的输入特征(与 SNP 矩阵互补),用于候选拟南芥之外的物种功能迁移——第 8 章会再遇到跨物种话题。

图神经网络:分子本来就是图

分子不是序列,是图:原子是节点,化学键是边,每个原子带着元素、电荷、芳香性等属性。图神经网络(GNN)的处理逻辑是"消息传递":每一层,每个原子收集邻居发来的消息、更新自己的状态;叠若干层后,每个原子的表示就"看见"了它的化学邻域,再聚合成整分子表示。直觉上这像化学家读结构的方式——看一个官能团,先看它连着什么、隔壁是什么电子环境。

一个最小消息传递示意(文字版): 原子级初始化:C 原子 h = [元素=碳, 芳香=否, 电荷=0, ...] 第1层后:h 包含直接邻居信息(连了两个 C 一个 N) 第2层后:h 包含两跳邻域(N 上还连着什么) 第3层后:包含官能团级模式(胺基、稠环片段的"味道") 分子级读出:所有原子向量求和或注意力池化 → 整分子向量 z 下游:z → 性质预测头(溶解度、透膜性、活性) z → 生成模型的隐空间(下一节的舞台) 对照 3.3 节 QSAR:描述符是人工挑选的摘要,GNN 学的是 任务相关的摘要——数据足够时后者更强,数据稀缺时前者更稳。

图:两条表征路线的对称结构

图:两条表征路线的对称结构

预训练为什么有效:数据量的杠杆

表征学习最大的启示是"未标注数据的杠杆"。监督数据(测过活性的分子、测过表型的株系)昂贵且稀少;未标注数据(海量序列、化学结构库)近乎免费。预训练把免费数据的统计规律先榨出来,再让昂贵数据只负责"最后一公里"的微调。这解释了为什么小团队也该关注预训练模型:它们把入场券从"你有多少数据"改成了"你会不会用别人的预训练"。

表征向量的三种循环用法

把表征放回第 1.1 节的循环,它出现在三个位置:

  • 设计拍的先验:用嵌入相似度预筛候选(与已知活性分子嵌入相近的优先合成/杂交),相当于 3.3 节相似性检索的升级版。
  • 筛选拍的预测器:嵌入加简单回归头,预测未测个体的性质——GS 的特征工程版与 QSAR 的 GNN 版都属此类。
  • 晋级拍的知识沉淀:每轮的实测结果微调表征模型,让向量空间逐渐对齐本组织的任务——这是 4.2 节"数据平台"与本章衔接的枢纽。

⚠️ 常见坑:拿预训练向量当万灵药直接用。嵌入反映的是预训练分布的偏见——训练集里 overwhelmingly 是可溶性细菌酶的序列,你的膜蛋白靶点可能落在表示空间 poorly covered 的角落;使用前先做 sanity 检查(近邻是否合理)。

💡 关键直觉:表征学习的本质是压缩——把对象压进几百维向量时保留"与任务相关"的结构、丢弃无关细节。压缩得好不好,最终由下游任务的成绩单说话。

常见追问

零样本预测是什么意思,可靠吗? 指预训练模型不做任何任务特定训练、直接输出预测(比如突变效应的打分)。可靠性分层看:模型预训练分布内的家族相当可靠(同源序列多的蛋白);分布外的(孤儿家族、极端环境蛋白)要打问号。使用纪律仍是 8.1 节那条迁移衰减律——把零样本输出当"便宜的先验",重要决策补实验或微调,不要当"免费的真理"。

微调一个蛋白语言模型需要多少数据? 令人惊喜地少:因为预训练已学到通用语法,下游任务常几百到几千条标注就能微调出可用性能(对比从头训练的百万级需求)。但小数据微调的坑在过拟合——学习率要小、早停要严、评估必须用完全 held-out 的测试集(3.3 节的切分纪律在深度学习语境同样适用)。数据极少的场景(几十条),考虑不做全参数微调,只训轻量的适配层。

GNN 会被 Transformer 取代吗? 两者在合流而非替代:纯 Transformer 把分子写成序列(类似 SMILES 的 token 化)也能学,且与语言模型共享架构红利;GNN 的图先验(显式表达连接性)在数据少时仍是优势。工程选型的现实判断:数据充足比架构选择更重要——先确保任务数据质量与数量,再在两者间做小规模对比实验定夺,避免架构信仰之争浪费迭代预算。

本节要点回顾

  • 同一个问题形态:序列或图 → 向量 → 预测,蛋白质语言模型与分子 GNN 是同一思想在两个领域的实例化。
  • 自监督杠杆:遮蔽预测从亿级无标注序列里学到结构功能语法,昂贵标注只做最后一公里。
  • 消息传递直觉:GNN 让每个原子逐层"看见"化学邻域,与化学家读结构的方式同构。
  • 嵌入不是终点:三种用法(先验、预测器、知识沉淀)都嵌在循环的相应拍上。
  • 分布偏见检查:预训练表示对分布外对象可能失真,近邻 sanity 检查是必修动作。

向量空间就绪,下一步不只是预测,而是在空间里主动搜索、创造。下一节:生成模型与它的护栏。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U