想象你是城市里最有名的一间“蛋白质拼图工作坊”坊主。你的工作台上躺着一盒神秘拼图——不是平面的风景画,而是一条由上千个氨基酸碎片折叠而成的立体蛋白质。这盒拼图的原始图纸(基因序列)只有一份,但幸运的是,大自然在亿万年的进化中,把这张图纸复印了几千份,只是每份都有不同程度的涂改:有的换了几个碎片颜色,有的缺了一角,还有的只在某一片上做了小标记。这些涂改过的副本,正是不同物种身上对应的同源蛋白质序列。你手里捏着这摞带着岁月痕迹的“进化草稿”,要怎么做才能拼出唯一正确的三维结构? 答案,就是开一场盛大的“拼图讨论会”——让几十位经验丰富的拼图师(每条进化草稿),先自己回忆碎片之间的关联,再相互对照彼此的推测,同时用一张不断更新的“碎片关系卡”记录每两枚碎片靠近的倾向,在讨论中反复修正。这场讨论会的全套流程设计,就是 AlphaFold 的核心引擎——Evoformer。它把进化信号炼成一张精准的“碎片关系网”,再用结构模块把关系网铺成三维空间中的蛋白质骨架。
AlphaFold2 凭借 Evoformer 在 CASP14 竞赛中预测精度达到实验水平,直接改变了结构生物学的研究范式。掌握它的双流架构与信息交换机制,是理解现代 AI for Science 模型设计的关键。
可视化演示
\u5c55\u793aA*\u7b97\u6cd5\u572812\u00d712\u7f51\u683c\u4e0a\u7684\u641c\u7d22\u8fc7\u7a0b\uff0c\u901a\u8fc7f(n)=g(n)+h(n)\u542f\u53d1\u5f0f\u8bc4\u4f30\u627e\u5230\u4ece\u8d77\u70b9\u5230\u7ec8\u70b9\u7684\u6700\u4f18\u8def\u5f84\u3002
本节配有交互动效(进入视口后自动加载,约 3KB)。
A*\u542f\u53d1\u5f0f\u641c\u7d22 \u7d2b\u8272\u4e3a\u5df2\u63a2\u7d22\uff08\u5173\u95ed\u8868\uff09\uff0c\u7c89\u8272\u4e3a\u5f85\u63a2\u7d22\uff08\u5f00\u653e\u8868\uff09 \u7ea2\u8272\u4e3a\u6700\u4f18\u8def\u5f84 f(n)=g(n)+h(n) g\u4e3a\u5b9e\u9645\u4ee3\u4ef7\uff0ch\u4e3a\u66fc\u54c8\u987f\u8ddd\u79bb\u542f\u53d1\u503c
起源密码
回到拼图工作坊。很久以前,坊主们只有一张原始图纸,只能靠物理化学规则一点一点试错,拼出粗略的轮廓。直到有人发现:大自然早就把答案偷偷写在了不同物种的“涂改版图纸”里——两个位置上若有氨基酸经常一起变动,说明它们在三维空间中多半是紧挨着的。这就是共进化信号。问题是,怎么从几十张涂改图纸里系统性地榨出这些信号?
第一代 AlphaFold(AlphaFold1)尝试用卷积神经网络从多序列比对(MSA)中提取成对距离图,但卷积的感受野有限,像拼图师只能看见手边几厘米的范围,全局信息要靠网络一层层传导,信息容易衰减。到了 AlphaFold2,DeepMind 做了一个关键决定:放弃“先预测距离图、再重建坐标”的老路,直接设计一个全新的深度架构,让进化信号端到端地流向三维坐标。这个架构的核心,就是 Evoformer。
Evoformer 维持两条并行的信息流:一条承载 MSA 信息(拼图师们的草稿),另一条承载残基对信息(碎片之间的关系卡)。每一层 Evoformer 块都让这两条流通过注意力机制各自精炼、然后互相交换情报。整个 AlphaFold2 有 48 个这样的块串联,相当于把讨论会重复开了 48 轮,每轮都让草稿和关系卡变得更可靠。
回扣一下:48 层 Evoformer 就是连续开 48 轮拼图讨论会。第一轮大家还很糊涂,关系卡上满是猜测;越到后面,草稿之间的共识越强,关系卡越像最终拼图的蓝图——这正是进化信息被“蒸馏”成结构的全过程。
- mMSA 表示:m 是三维张量,形状为(序列数 × 位点数 × 特征维度),存储每条进化草稿在每个位点的嵌入特征。它回答“每个拼图师觉得哪个碎片应该放在哪里”。
- zpair 表示:z 是残基对张量,形状为(位点数 × 位点数 × 特征维度),记录每对碎片之间的亲缘倾向——它们是该靠近、该远离,还是存在某种化学互补。它回答“这两块碎片的关系如何”。
- l层索引:l 表示当前在第几轮讨论。输入是第 l 轮的结果,输出进入第 l+1 轮。信息就在这层层传递中不断精炼。
- EvoformerBlock一个完整的讨论单元:包含行/列注意力、三角更新、外积均值、行投影等多个子模块。它不是单个操作,而是一整套流程包。
MSA表示
拼图讨论会的第一步,是把几十张涂改版图纸整理成统一格式。所谓多序列比对(MSA),就是把来自不同物种的同源蛋白质序列按列对齐:每一行是一条序列,每一列代表同一个位点(同一“拼图片”在不同物种中的选择)。因为进化中可能发生插入或缺失,比对算法会插入空位(gap),让真正对应的位点对齐在同一列。
打个比方:你让三十个拼图师各自描述“从左往右数第 17 号碎片是什么颜色”,他们可能说“红色”“浅红”“不确定”“此处缺失”。把这些回答排成一列,就是 MSA 的一列。列与列之间的统计模式,隐藏着碎片间的物理接触密码——比如第 17 号碎片变红时,第 42 号碎片几乎总是变蓝,那这两块多半是邻居。
在 Evoformer 中,每个氨基酸残基先被编码为独热向量(20 种标准氨基酸加未知类别),再通过查表得到可学习的嵌入向量。于是整个 MSA 变成了一个三维张量:序列数 S × 位点数 L × 特征维度 d。这个张量就是后续所有讨论的原材料。
这一节回到比喻:MSA 张量就像会议桌上那一摞整理好的草稿册,每一页是一位拼图师的记录,每一行是他在各个桌位(位点)上写下的碎片选择。接下来的所有注意力机制,都在这本册子上做文章。
- S序列数:代表参与讨论的进化草稿数量。S 越大,统计信号越强,但算力开销也越大,通常在几十到几千之间。
- L位点数:比对后序列的长度,也就是拼图的碎片总数。蛋白质链长通常 100~1000。
- d特征维度:每个残基用多少维向量来描述自己的身份和状态。AlphaFold 中常用 256 维。
- ℝ实数空间:经过嵌入层后,离散的氨基酸类别变成了连续的实数向量,方便后续计算梯度。
行列注意力
有了拼图师们的草稿册,Evoformer 要从中提炼两层面的信息:第一,某一位拼图师自己的记录中,位点之间有什么联系?这是“行”的维度——对同一条序列,让残基们互相注意。比如第 5 个位置是疏水氨基酸,它旁边第 6 个位置也倾向疏水,这种序列内模式是局部结构偏好的来源。第二,所有拼图师在同一个位点上选择了什么?这是“列”的维度——跨序列对比同一列,捕捉共进化信号。如果许多草稿在第 i 列和第 j 列同时发生相同变动,那么 i 和 j 大概率在空间上靠近。
行注意力和列注意力本质都是标准缩放点积注意力,只是作用方向不同。为什么不用一个大注意力同时覆盖两个方向?因为 MSA 是三维张量,同时处理 S×L 个 token 的注意力矩阵大小是 (S×L)²,内存爆炸。拆成行(在 L 方向做注意力,S 个独立头)和列(在 S 方向做注意力,L 个独立头),既保留了两种语义又控制了复杂度。
这里的画面感很直接:行注意力是每位拼图师低头看自己的笔记,回忆碎片间的局部关系;列注意力是所有人突然抬头,把同一桌位上的不同选择摊开对比——谁和谁悄悄联动,一目了然。两种注意力再配上多头机制,相当于每次讨论分成几个小组、各关注不同侧重点,然后再把小组意见合并。
- Q、K、V查询、键、值:把输入 X 分别乘以三组可学习矩阵得到。Q 问“我跟谁有关”,K 回答“我是什么”,V 提供“该传什么内容”。就像拼图师拿着自己的碎片特征,向全场发出询问。
- QK⊤相似度打分:计算每个 token 和所有其他 token 的相关性分数,得到注意力权重矩阵。谁与谁的草稿呼应,分数就高。
- 除以 √d_k缩放稳定:维度高时点积数值会很大,softmax 容易饱和到极端值。除以 sqrt(d_k) 把分数拉回合适区间。
- softmax → V 加权求和把分数归一化成权重,再对各处的 V 加权叠加。焦点处的信息被揉进当前 token 的新表示。
Pair表示
拼图师们的草稿虽然信息量大,但太嘈杂。Evoformer 还需要一个更直接的工具:碎片关系卡,即 pair representation。它是一张 L×L 的表格,每个格子 z_ij 记录第 i 块和第 j 块碎片之间的关系——它们应该离多远、朝向如何、是否有氢键或疏水接触。初始时,这张关系卡主要来自对 MSA 的粗略统计和序列位置编码,但真正的魔力在于它会在每一层被不断修正。
修正的核心约束来自几何常识,也就是“三角不等式”:如果已知 i 靠近 k、k 靠近 j,那 i 和 j 不可能无限远。换句话说,关系卡里的数值必须满足某种“三角形两边之和大于第三边”的自洽逻辑。神经网络的每一层更新 z_ij 时,如果只单独看这一对,很容易违背全局几何约束。于是 Evoformer 引入了三角乘法更新:更新 z_ij 时,把所有中间残基 k 的信息 z_ik 和 z_kj 组合进来,这样网络被迫学会尊重三元组关系。
这个“拉上第三人一起判断”的思路,正是几何直觉的神经网络化:人拼拼图时也会用三角形定位——找到两个已知锚点,再确立第三块的位置。三角更新让关系卡里的每一格都在全校师生的眼皮底下修正,任何与三维空间不相容的矛盾都会被逐步挤压掉。再加上旋转平移不变性的设计(特征描述的是相对关系而非绝对坐标),关系卡便成了完全“几何友好”的蓝图。
- z_ij目标关系对:要更新的那一格关系卡。比如第 17 号碎片与第 42 号碎片。
- k第三方残基:遍历所有位点的中间人。拼图时,如果你知道 17 号贴着 20 号、20 号又贴着 42 号,那 17 号和 42 号也不会太远。
- g(z_ik) 与 h(z_kj)两条边关系:分别对 i→k 和 k→j 的关系做线性变换(g 和 h),提取可用于推算 i↔j 的信息。
- 逐元素乘加(⊙ 和 Σ)把两条边的信息逐位相乘再求和,相当于对每个中间人 k 投一票,最后合计所有票数,作为 z_ij 的修正量。
信息交换
拼图工作坊最精彩的部分来了——草稿册和关系卡不是各说各话,而是每轮讨论都要互换情报。Evoformer 的每一层都包含两个方向的交流。第一个方向是 MSA → pair,叫作外积均值(outer product mean):从 MSA 中提取残基间的共进化信号,写入关系卡。具体做法是:把每条序列在位点 i 的特征和位点 j 的特征做外积,然后对所有序列求平均。如果许多草稿都显示 i 和 j 有联动,外积平均后的数值就会很强,这笔信息就被记入 z_ij。这相当于拼图师们在讨论中反复提到“17 号和 42 号总是一起变动”,主持人就把这条情报记进关系卡。
第二个方向是 Pair → MSA,叫作行投影:把关系卡中关于位点 i 与其他所有位点的关系压缩成一条向量,加回 MSA 的第 i 列特征上。这相当于主持人把关系卡的最新结论广播给所有拼图师:“注意,17 号的位置可能紧挨着 42 号,你们各自调整自己的方案。”经过双向交换,两条信息流越拧越紧——草稿引导关系卡的生成,关系卡反过来约束草稿的解读。
这样的循环要重复 48 次。每一层都是“草稿更新 → 关系卡更新 → 双向交换”的完整流程,其中穿插残差连接让梯度顺畅回流。如果把整个 Evoformer 比作一场持续整天的拼图马拉松,那么每层都是一轮小组讨论,最后的 pair representation 已经沉淀了整场讨论的所有共识。
这场双向广播的意义在于:MSA 保留了每条序列的完整信息,pair 浓缩了全局关系,两者各自精炼、又互相纠偏。48 层循环结束后,拼图师们的草稿高度一致,关系卡变得既稠密又自洽——一张几乎完美的拼图蓝图已经诞生在特征空间里。
- m_si 与 m_sj两张选票:第 s 位拼图师在位点 i 和位点 j 上的特征向量。先经过线性变换,提炼成可比的“选票”。
- 外积投票的强度:a_s 与 b_s 的外积形成一个 d×d 矩阵,捕捉这两个位点在所有特征维度上的联动模式。单一票可能很弱,但许多票一致时,模式就会凸显。
- 对 N_s 求平均共识提炼:把所有序列的投票取平均,过滤掉个别草稿的噪声,留下跨物种保守的共进化信号。
- 残差叠加写入关系卡:把提炼出的共识矩阵加到 z_ij 的当前值上,关系卡得到了 MSA 侧的更新输入。
结构模块
关系卡再完美,也只存在于抽象的“特征空间”里。最终,AlphaFold 需要一个结构模块(Structure Module),把关系卡翻译成实实在在的三维坐标。想象拼图讨论会进入尾声:主持人宣布“关系已定”,于是拼图师们开始把碎片真正摆到桌面上——但没人一次就能摆对。
结构模块采用了一个优雅的策略:让所有残基从“一团游离的气体”开始,通过 8 轮蒸馏器(Refinement)循环逐步凝聚成精确结构。每一轮中,每个残基都带着自己的局部坐标系(一个框架:原点到 Cα 原子,坐标轴由该残基的旋转矩阵确定),通过不变点注意力(Invariant Point Attention, IPA)互相传递位置信息,然后预测一个位移更新。整个过程是迭代的:第 t 轮的坐标加上一个预测的 delta,得到第 t+1 轮的坐标。就像蒙着眼睛的拼图师们,每轮根据关系卡的感觉挪动一点碎片,越挪越准。
不变点注意力的巧妙之处在于:注意力分数和输出更新都只依赖残基间的相对位置(距离和方向),并且对整体坐标旋转平移完全兼容。这意味着无论你把这个“气体团”整体翻转、挪动,蒸馏器给出的相对位移模式都不变——网络学到的知识是纯粹的几何关系,而不是某个绝对坐标系下的模板。
回到拼图工作坊的场景:蒸馏器就是主持人最后的“微调口令”——“第 17 号碎片,你往左手边挪 3 埃;第 42 号,你面向 17 号转 15 度。”每轮口令都参考当前全局布局与关系卡,8 轮之后,一千个碎片严丝合缝地拼成了立体蛋白质。更妙的是,整个过程端到端可微,从序列进来到坐标出去,梯度一路畅通。
- x(t)当前坐标集合:第 t 轮所有残基的 Cα 原子坐标。初始时随机撒在空间中,像一团无序的气体分子。
- R_i、T_i第 i 个残基的框架:每个残基拥有一个旋转矩阵 R_i 和一个平移向量 T_i,定义了自己的局部坐标系。这是“拼图师手中的碎片朝向”。
- IPA不变点注意力:一种特殊的注意力机制,在计算时把查询、键、值全部变换到局部坐标系中,保证输出对整体旋转平移等变。它回答“在我自己的坐标系里,我应该朝哪个方向挪动”。
- 迭代更新蒸馏器循环:每轮输出一个位移 Δx,坐标更新为 x + Δx。8 轮循环后,残基气体被“蒸馏”成清晰的三维骨架。
对比演进
站在 2020 年的时间点回望,Evoformer 与原始 AlphaFold 的差距堪称代际。AlphaFold1 的流程是先预测成对距离图(用 CNN 处理 MSA),再通过梯度下降把距离图“折叠”成坐标。这套两段式架构有一个天然的信息瓶颈:距离图是二维的,丢失了大量三维结构信息;且距离图预测错误时,后续重建阶段无法回头修正。
Evoformer 的突破是彻底的端到端设计:不再显式预测距离图,而是让 pair representation 动态演化,结构模块直接从演化后的关系卡生成坐标。这个“从二维投影到全三维”的转变,相当于把老工作坊里“先画交通图、再沿路开车”的流程,改成了“导航系统边开边更新路线”。老工作坊里,交通图画错了就满盘皆输;新工作坊里,关系卡和坐标互相校正,整个系统是柔性的。
CASP14 竞赛的成绩震惊了世界:AlphaFold2 在多数目标上达到了与实验解出的晶体结构相当的精度,GDT 中位数超过 90 分,而此前最好的方法通常在 70 分附近徘徊。这一跃升付出的代价同样惊人:训练需要 128 块 TPUv3 运行数周,单次预测也要消耗可观的计算资源,48 层 Evoformer 和多条注意力路径带来的显存压力很大。
回扣比喻:AlphaFold1 的老工作坊凭一张“粗估的距离图纸”拼图,而 Evoformer 工作坊中,拼图师(MSA)、关系卡(pair)与最终摆盘(结构模块)形成了连续反馈闭环。从 CASP14 之后,RNA 结构预测、蛋白质设计、突变效应预测等领域纷纷借鉴 Evoformer 的双流范式——它已经成了 AI for Science 中“从进化信息到空间结构”这套思维方法的代名词。
- P_d阈值匹配率:取四档严格程度不同的“及格线”——1Å、2Å、4Å、8Å。比如 P_2 表示有多少比例的 Cα 原子距离真实位置的误差小于 2 埃。
- 四个阈值平均把四种标准的得分取平均,兼顾超高精度(1Å 严苛)与整体折叠正确性(8Å 宽松)。
- 除以 4归一化:让 GDT 落在 0~100 区间,便于跨方法比较。AlphaFold2 中位数 > 90,意味着大多数残基预测误差在 1~2Å 以内。
AI 应用场景
药物靶点结构解析
阶段:模型推理与结构预测
解决的问题:许多疾病相关蛋白难以结晶或体积太大,传统 X 射线晶体学与冷冻电镜耗时数月甚至数年。AI 可以在几分钟内给出高置信度的结构模型,加速药物靶点的初步评估。
具体案例:某制药公司研究团队锁定了与肿瘤转移相关的膜蛋白靶点,但长达一年未能获得晶体结构。他们用 AlphaFold2 的 Evoformer 流程预测出该蛋白的胞外域结构,并据此开展虚拟筛选,找到了一批候选小分子,随后用突变实验验证了结合位点,整个靶点发现周期压缩了 80%。
突变致病效应的结构解释
阶段:特征提取与可解释分析
解决的问题:基因测序发现的大量错义突变,哪些致病、哪些无害?传统方法只看序列保守性,忽略结构上下文。Evoformer 的 MSA 与 pair 表示提供了“这个突变是否破坏了局部三维环境”的判断依据。
具体案例:临床遗传学团队拿到一位罕见病患儿的全外显子测序结果,在一个已知基因上发现从未报道过的错义突变。团队调用 Evoformer 预测突变前后蛋白结构,发现该残基原本与底物通道的关键残基形成氢键网络,突变后通道塌陷。据此确定该突变很可能致病,辅助了临床诊断。
蛋白质从头设计的结构约束
阶段:生成模型与结构校验
解决的问题:设计一个具有特定功能的天然蛋白,需要确保设计序列能折叠成目标结构。Evoformer 的结构预测能力可作为设计流程中的“质量关卡”,验证每个设计候选是否真的折叠。
具体案例:酶工程团队想设计一个能降解 PET 塑料的新酶。他们用逆向折叠方法生成候选序列,再用 Evoformer 预测每个候选的三维结构,与目标骨架比对,筛选出折叠吻合度最高的序列做实验验证,最终获得了活性比野生型提升 3 倍的工程酶。
Python 演示
# -*- coding: utf-8 -*-"""简化版 Evoformer 双流迭代演示"""import numpy as np S, L, D = 8, 10, 16 # 序列数、位点数、特征维度STEPS = 5 rng = np.random.default_rng(42)m = rng.normal(0, 0.1, (S, L, D)) # MSA 表示(拼图师草稿)z = rng.normal(0, 0.1, (L, L, D)) # pair 表示(碎片关系卡) def softmax(x, axis=-1): e = np.exp(x - x.max(axis=axis, keepdims=True)) return e / e.sum(axis=axis, keepdims=True) def linear(x, out_dim=D): w = rng.normal(0, 0.1, (x.shape[-1], out_dim)) b = rng.normal(0, 0.1, (out_dim,)) return x @ w + b def row_attention(m): # 行注意力:序列内部残基互相关注 q, k, v = linear(m), linear(m), linear(m) attn = softmax(q @ k.swapaxes(-1, -2) / np.sqrt(D)) return m + attn @ v def col_attention(m): # 列注意力:同一位点跨序列聚合并换回原形状 mt = m.swapaxes(0, 1) q, k, v = linear(mt), linear(mt), linear(mt) attn = softmax(q @ k.swapaxes(-1, -2) / np.sqrt(D)) return m + (attn @ v).swapaxes(0, 1) def outer_product_mean(m): # 外积均值:MSA -> pair 信息交换 a, b = linear(m), linear(m) return a.swapaxes(0, 1) @ b # (L, L, D) def triangle_update(z): # 简化三角乘法:z_ij += sum_k z_ik 与 z_kj 的逐点乘积 za, zb = linear(z), linear(z) return z + np.einsum('ikd,kjd->ijd', za, zb) for t in range(STEPS): m = row_attention(m) m = col_attention(m) z = z + outer_product_mean(m) * 0.1 # 外积均值写入关系卡 z = triangle_update(z) # 三角约束修正 z = z / (np.linalg.norm(z) + 1e-6) # 稳定缩放 print("step", t + 1, "| m norm:", round(float(np.linalg.norm(m)), 3), "| z norm:", round(float(np.linalg.norm(z)), 3)) print("final pair mean:", round(float(np.mean(z)), 4))
m = rng.normal(0, 0.1, (S, L, D))用随机数初始化 MSA 张量,模拟尚未精炼的进化草稿。def row_attention(m):行方向的自注意力,让每条序列内部的残基互相交流信息。attn = softmax(q @ k.swapaxes(-1, -2) / np.sqrt(D))缩放点积注意力核心,除以 sqrt(D) 稳定 softmax。def col_attention(m):把张量转置后做注意力,实现跨序列的同位点对比。def outer_product_mean(m):返回 (L, L, D) 的矩阵,正是 MSA 向 pair 写情报的通道。def triangle_update(z):用 einsum 实现“第三方残基”的几何约束更新,对应三角乘法。z = z + outer_product_mean(m) * 0.1乘 0.1 控更新步长,模拟 PyTorch 中的层缩放。np.linalg.norm(z)监控特征范数,确认每轮信息在正常流动而非发散。
常见误区
误区Evoformer 无非是把 Transformer 加大加深,用更多层数和注意力头数堆出来的模型,原理上没有新鲜事。
正解Evoformer 与标准 Transformer 有本质区别。它同时维护两条信息流(MSA 与 pair),并设计了标准 Transformer 没有的三角乘法更新、外积均值、行投影等专用模块。这些模块不是为了“更大”,而是为了编码蛋白质特有的几何约束(三角不等式)与进化信号。把 Evoformer 理解为“Transformer 的蛋白质专用变体”才准确。
为何常见:Evoformer 的代码确实大量复用注意力机制,看起来和 Transformer 一脉相承,于是容易忽略其独有的双流与三角模块的设计本质。
误区既然进化信息来自 MSA,那么序列数量越多越好,多多益善。
正解MSA 序列再多,如果都是从亲缘极近的物种来的,信息冗余度极高,几乎不增加新信号。AlphaFold 还专门设计了 MSA 聚类与采样策略,限制每个 cluster 的序列数,让模型看到更多样化的进化信息。序列数量超过一万后收益急剧递减,显存占用量却线性上升,因此实践中会做截断。
为何常见:直觉上“样本越多统计越准”,忽略了同源序列之间并非独立同分布采样,冗余才是常态。
误区pair 表示无非是给残基对加一个“相对位置”的编码,和 Transformer 里的 positional encoding 属于同类东西。
正解两者层次完全不同。位置编码是静态的、一开始就固定好的;pair representation 是动态演化的高级特征——它从 MSA 与序列特征中初始化,经过 48 层三角更新与信息交换精炼,逐步蕴含距离、朝向、氢键等丰富的几何语义。位置编码只是它初始输入中的一小部分先验。
为何常见:公式里 z 和 positional encoding 都是加到特征上的“额外项”,初学者容易把两者画等号,忽视了 z 的深度演化过程。
误区Evoformer 输出特征后,模型直接通过一个全连接层预测每个原子的最终坐标。
正解坐标是结构模块中 8 轮蒸馏器循环逐步迭代出来的,不是一步回归。每轮只预测一个残基位移量,还要配合局部坐标系(框架)和不变点注意力,且最终坐标由多个蒸馏器循环加权平均生成。这种迭代精炼让模型能够从“气体团”逐步收敛,而不是贸然一步跳到终点。
为何常见:对外介绍时“从序列直接预测结构”的说法广为流传,让听众误以为坐标是一步生成的,忽略了内部的迭代求解过程。
面试题
Q1. Evoformer 中维护的两条核心信息流分别是什么?
- A.训练流与推理流
- B.MSA 表示与 pair 表示← 正确答案
- C.行表示与列表示
- D.序列表示与结构表示
答案:B。Evoformer 的核心是双流架构:m 承担 MSA 信息(拼图师草稿),z 承担残基对信息(碎片关系卡)。行/列只是注意力方向,不是独立的信息流。
Q2. MSA 矩阵中的“列”对应什么生物学含义?
- A.一条完整的蛋白质序列
- B.一个物种的遗传信息
- C.同一个位点在不同同源序列中的残基← 正确答案
- D.一段基因启动子区域
答案:C。MSA 把同源序列按位点对齐,每行是一条序列,每列是所有序列在同一个位点上的氨基酸选择。列方向的统计模式正是共进化信号来源。
Q3. 行注意力与列注意力的主要区别是什么?
- A.前者用 softmax,后者用 sigmoid
- B.行注意力在序列内聚合残基,列注意力跨序列聚合同位点← 正确答案
- C.行注意力用于 pair,列注意力用于 MSA
- D.两者完全相同,只是名字不同
答案:B。行注意力在 L 维上操作,提取序列内部的残基关联;列注意力在 S 维上操作,提取跨序列的共进化信息。两者共用同一套注意力公式,但聚合维度不同。
Q4. 三角乘法更新在 Evoformer 中的作用是什么?
- A.加速 GPU 上的矩阵运算
- B.让关系对的更新尊重三角几何约束← 正确答案
- C.将注意力头数压缩到三个
- D.把 MSA 转置成 pair 表示
答案:B。更新 z_ij 时参考所有第三方 k 的 z_ik 与 z_kj,正是用“三角形两边推第三边”的几何观念约束关系演进。这样关系卡才不会产生三维空间里不可能的矛盾。
Q5. 外积均值(outer product mean)的输入与输出是什么?
- A.输入是 MSA 表示← 正确答案
- B.输出是更新的 pair 表示← 正确答案
- C.输入是残基的三维坐标
- D.输出是注意力权重矩阵
答案:AB。外积均值把 MSA 特征在位点 i、j 上的向量做外积再对序列求平均,得到共进化证据写入 z_ij。它的输入是 m,输出是对 z 的更新增量。
Q6. 结构模块中蒸馏器迭代的初始状态是什么?
- A.完全随机的三维坐标
- B.所有残基共用一个固定的中心框架
- C.全部残基位于零坐标的原点← 正确答案
- D.由 pair 表示直接解算的位置
答案:C。结构模块让所有残基从“一个点”出发——所有框架的坐标初始化为同一原点附近,类似一团无序气体,然后通过 8 轮蒸馏器逐步散开收敛到真实构象。
Q7. 关于不变点注意力(IPA)的说法,正确的是?
- A.对蛋白质整体旋转平移具有等变性← 正确答案
- B.直接回归每个残基的绝对世界坐标
- C.在局部坐标系中计算注意力分数← 正确答案
- D.与 Evoformer 的三角更新无关
答案:AC。IPA 在残基本地坐标系中做注意力与位移预测,整体旋转平移时输出模式不变,这才是“不变点”的由来。它独立于 Evoformer 的三角更新,属于结构模块的组件。
Q8. AlphaFold1 的主要局限是什么?
- A.模型参数量太小无法拟合
- B.距离图预测与坐标重建两阶段存在信息瓶颈← 正确答案
- C.输入序列长度必须小于一百
- D.只能预测小蛋白质
答案:B。AlphaFold1 先预测二维距离图再用梯度下降重建坐标,距离图丢失三维信息且错误无法在后续修正。Evoformer 的端到端双流设计从根本上绕开了这个瓶颈。
Q9. MSA 中的同源序列通常来源于哪里?
- A.随机数生成器
- B.数据库搜索到的天然同源蛋白序列← 正确答案
- C.人工设计的氨基酸序列
- D.蛋白质晶体结构直接翻译
答案:B。MSA 通过在序列数据库(如 UniProt)中搜索与目标序列同源的天然蛋白序列,再做多序列比对得到。本质是收集进化中自然发生的序列变异。
Q10. Evoformer 相比原始 AlphaFold 的进步体现在哪些方面?
- A.用注意力机制替代 CNN 的小感受野限制← 正确答案
- B.双流表示持续交换精炼信息← 正确答案
- C.完全不需要进化信息
- D.端到端预测三维坐标← 正确答案
答案:ABD。Evoformer 的 MSA 注意力解决了 CNN 感受野有限的问题,MSA 与 pair 双向交换让信息持续精炼,结构模块则直接输出坐标。但 MSA 进化信息仍是核心输入,“不需要进化信息”描述错误。