本文来源于生物计算领域的学者Mohammed AlQuraishi的博客。在这篇文章中,Mohammed AlQuraishi主要讲了「是什么使AlphaFold2(AF2)如此令人惊讶」、「AlphaFold2意味着什么」、「可以用AlphaFold2做些什么」。旁白:虽然作者有点啰嗦,但文章逻辑还是很清晰的,预计读完需要10-15分钟,请耐心读下去。就在一个多星期前(指2021年7 月 15 日),期待已久的AlphaFold2方法的配套论文和相关代码终于公布于世。该成果的发布,使我不得不面对许多人提出的各种「关于公开披露AlphaFold2的问题」。相关链接:https://www.nature.com/articles/s41586-021-03819-2
https://github.com/deepmind/alphafold
如今,代码已经以各种方式推广开来。「AlphaFold2被应用于人类蛋白质和其他20个模型生物体」,几天前(指2021年7月22日),该研究相关成果的配套论文和数据库被发布。总之,我对DeepMind公司做的件事表示非常赞赏。相关链接:https://www.nature.com/articles/s41586-021-03828-1
https://alphafold.ebi.ac.uk/
在过去的几个月里,我查看了相关论文,并有机会仔细考虑AlphaFold2模型架构。(插句题外话:有些人认为DeepMind公开AlphaFold2源代码是对RoseTTAFold的回应——但实际上公开代码是DeepMind的计划,远在《RoseTTAFold》被预印之前。)文章作者Mohammed AlQuraishi 旁白:请注意!正文开始之前,Mohammed AlQuraishi有话要嘱咐。本篇文章不是AlphaFold2的高层总结——我建议你在阅读这篇文章之前阅读论文,包括补充信息(SI)。在本文中,我将假设你熟悉该模型。我在这里的重点是结构预测的技术方面,主要着眼于AlphaFold2如何应用于其他更确切的实际问题。对于「大家可以用AlphaFold2来做些什么」的问题, DeepMind 给出的明确答案是「……?是的」。自我监督?是的。自蒸馏?是的。新的损失函数?是的。3D细化?是的。精炼后回收?是的。回收后精制?是的。模板?是的。完整的 MSA?是的。捆绑重量?是的。非绑定权重?是的。关注节点?是的。注意边?是的。注意坐标?是的。对于所有问题,答案都是肯定的!我有些轻率的描述可能会给人一种印象,仿佛AlphaFold2只是好想法的大杂烩——其实事实并非如此。AlphaFold2除了我们可以想到的功能,还具有非常统一集成功能。这就好像团队中的不同想法,通过一个反复推敲的过程,最终实现思想的统一输出(他们的信息回收方法,也应用于 AlphaFold2 设计过程本身)。这一成果既是技术创新的杰作,又是精美设计的学习机器。论文中的「一句话」特别能说明问题,这句话中的每个短语基本都与整篇论文相对应。Facebook Research 的一个团队之前报道过这一句话。相关链接:https://www.biorxiv.org/content/10.1101/2021.02.12.430858v1.abstract
「...我们展示了一种联合嵌入多序列比对(MSA)和成对特征的新体系结构,一种新的输出表示和相关损失,能够实现精确的端到端结构预测;一种新的等变注意体系结构,使用中间损失实现预测的迭代细化,掩蔽MSA损失,与结构联合训练;使用自蒸馏对未标记的蛋白质序列进行学习,并自我估计准确度。」
只想说,看完这篇论文后,我对AlphaFold2的印象比以前更深刻。这是一件艺术作品,其中有许多概念创新,这些概念与「计算能力」或「工程」无关;这是一幅比最初细节发布时我所预期的更为复杂的画卷。在CASP14之后不久,我与一位朋友进行过一次讨论,讨论的主题是「学术界在多大程度上落后于DeepMind」。当时我说可能需要十年的学术研究才能完成DeepMind的目标,而朋友认为这大概落后两年。在他这么说之后,我回过头来想,也许是我太苛刻了。现在我已经读了这篇论文,我认为学术界可能至少需要努力5-6年才能达到预期的水平(在这一点上,要测量的正确增量不是 RoseTTAFold 与 trRosetta,而是 CASP14 的 trRosetta 与 CASP13 的 Rosetta;即便如此,差距在很大程度上是由于第一个 AlphaFold太过优秀。)在这里,我要做的是通过一系列的观察,然后从个人角度总结AlphaFold2最有趣和令人惊讶的方面。它们(在某种程度上)是按照我所认为的重要性顺序列出的。作者的免责声明:这是一个复杂的系统,有许多运动部件,而我的评论依据仅仅是《自然》论文中所提供的内容。因此,下面所说的一切都基于我对 AlphaFold2 及其工作原理的理解,这可能并不完全正确。条条道路通 {s i}
信息流是关键
作物是你需要的一切
永远要精炼
SE(3)-等变推理的原因
SE(3)-等变推理的方法
MSA Transformer
DeepMind 的魔力不在于蛮力
整篇论文中最重要的一行,IMO,也就是SI中「算法20」的第10行;在下图中,它与的不变点注意(IPA)的消融结合时,它充当了结构模块的核心组件。如果对我来说有一个卖点,那就是这条线;因为我认为这是 AlphaFold2 的「魔力」症结所在。我这样说不是因为这条线本身,而是因为它所暗指的部分。两个目标集的消融结果:CASP14 域集(N=87 个蛋白质域)和 PDB 链的测试集,模板覆盖率 ≤ 30%,同一性为 30%(N=2,261 个蛋白质链)。(来源:论文)在 3D 空间中折叠的「长 1D 聚合物」,是构建用于蛋白质推理的 ML 系统的挑战之一。这里的关键是「1D」、「3D」和「长」。一方面,鉴于蛋白质的序列性质,使用基于序列的架构对它们进行编码是很自然的。在我开发 RGN 模型时,使用了当时领先的序列问题架构 (LSTM)。然而,这种结构难以推理长程相互作用,这也是蛋白质中的常见现象。尽管如此,一维表示仍然很方便,因为它们很容易映射到物理对象,允许参数化(例如,内部坐标)以直接自洽的方式预测蛋白质结构。大多数领域,直到第一个 AlphaFold,都采用了一种不同的方法;该方法依赖于 2D 矩阵使用残基间距离对结构进行编码。这更好地捕获了远程交互(相对于顺序模型),但引入了「将 2D 表示映射到基本上是 3D 空间中的 1D 曲线的对象」的尴尬。通常,这种映射是在后处理步骤中使用基于物理的松弛或 SGD(第一个 AlphaFold)完成的,但仍有很多需要改进之处。当 DeepMind 在 CASP14 上首次展示 AlphaFold2 时,他们描述了一种看似混合的 2D/3D 方法;其中结构最初以 2D 表示进行编码,然后转换为 3D 表示。关于这是如何完成的,有很多猜测(稍后会详细介绍)。但请记住,关于「1D-2D 不匹配」的尴尬,是一个微妙的点。 这里的问题不是关于如何将 2D 距离矩阵映射到 3D 坐标集(存在许多方法);相反,它是关于对象之间的结构不匹配;(在数据/张量类型方面,而不是蛋白质结构方面) 基本上是一维(蛋白质本身)以及其在二维矩阵中的分布式表示。人们可以在平均行和列方面提出各种技巧,以将 2D 表示转换为 1D 表示,但它们的技巧总是让我感到震惊。出乎意料的是,我发现AF2架构非常优雅的是MSA表示的中心作用,特别是该表示的第一行;它最初对原始输入序列进行编码,但最终投影到它们所表示的对象上{s i}在「AF2交响乐」中扮演着重要角色。从某种基本意义上说,AF2中蛋白质的中心编码完全是一维的——正是这个一维对象{s i},最终捕获了预测三维结构所需的内容。这就是算法20的第10行。从这个简陋的{s i}开始,整个结构被投影到3D空间上,没有任何明确的3D推理。诚然,在完整的AF2模型中,IPA模块确实在3D中运行,并从2D表示的单向(传入)通信中获益;但值得注意的是,当该模块被烧蚀时,AF2的性能与完整版本相比几乎保持不变(只要以后在这方面启用更多循环)。这是这篇论文最让我兴奋的方面,也是最“神奇”的部分。他们构建它的方式非常聪明。确实,使用一维表示进行学习是很困难的,尤其是对于远程交互。所以 AF2 所做的就是使用一个一维对象来表示蛋白质,但是将它耦合到一个二维对象(成对的 {z ij})来克服一维表示的缺点。我怀疑 {z ij} 隐含地充当 {s i} 的内存,帮助它存储可以在训练和预测期间参考和迭代的信息(我的意思不是{s i} ,因为这是最后一个投影表示,但我在这里重载符号 - 我实际上是指 {m 1i},evoformer 中 MSA 表示的第一行。)更广泛地说,{z ij} 可能通过为模型提供更丰富的表示来促进学习过程。在过程的每一步,{s i} 都保持更新,与 {z ij} 来回通信,以便 {z ij} 中建立的任何内容都可以访问 {s i}。因此,{s i} 在所有主要模块中处于最前沿和中心位置。最后,在结构模块中,最终是 {s i},而不是 {z ij} 对结构进行编码(提取四元数以生成结构)。这避免了必须将 2D 表示投影到 3D 空间的尴尬。最初阅读手稿并进入算法 20 时,我对「最终将如何提取结构」的预期感到非常兴奋。当发现真正重要的是 {s i} 而不是 {z ij} 时,我感到一种眩晕感。在某种程度上,DeepMind团队所做的工作(如果允许我在这里进行一点推测的话)是开发一种方法;其中「用于学习和推理的表示」与「用于保持系统状态和预测结构的表示」分离,从而产生两个方面的最佳结果。在大多数ML体系结构中,使用一个表示来完成这两个任务;而在AF2中,它被拆分。当DeepMind第一次宣布他们的混合配对/MSA表示时,我并没有真正理解其中的「要点」;但现在我已经详细了解了论文内容,我认为上述是他们的主要动机之一。旁注:当他们合并结构模板时,他们将「扭转角」作为行添加到 {s i}(实际上也是 {m 1i}),因此结构信息在早期就明确嵌入到 {s i} 中。当然,不能保证在推理期间模板可用,但它们在训练期间偶尔可用;这意味着 evoformer 必须从一开始就学习如何使用 {s i} 中的此类几何信息进行推理。如果论文有一个统一的主题,一个广泛的原则,即AlphaFold2的设计是为了最大限度地提高其组件之间的信息流。此外,它在某种程度上反映了我们对蛋白质的理解。我将用几个具体的例子来说明这一点。首先是对表示 {z ij} 和 MSA 表示 {m si} 之间的通信。在每次迭代中,两者相互更新,确保持续同步。然而,更新是不对称的。MSA→pair 方向比较繁重,使用「OuterProductMean」的每一个组件。这也许再次反映了 {s i} 最终扮演的核心角色。然而,MSA 表示并非不受配对表示的影响。后者也更新了前者;但通过轻触,偏向了 MSA 表示的不同列如何相互关注。事实上,它是一种轻触,而不是我预期的重型交叉注意机制。然而, {z ij} 影响 {m si} 的逐列注意力这一事实具有完美的生物学意义;因为配对表示应该编码残基位置之间的耦合强度。这也避免了我之前提到的「hack」,必须平均行或平均列来提取一维信息——它永远不会完成,因为 {z ij} 的各个元素直接偏置 {m si}(算法 7 的第 3 行和第 5 行)。另一个例子是对表示内的通信。它利用了在残基对之间执行的两种形式的新型「三角」注意力——这是一种非常昂贵的计算操作。这里也通过使用仅偏向注意力的轻触方法来实现效率;更重要的是通过将注意力限制在具有一个共同残基的成对上,直觉是三角不等式应该限制这些数量(因为三个余数形成一个三角形)。这个很有趣,因为它说明了一个重要的原则:「几何约束不需要从字面上实现」。因为许多人,包括我的团队,一直试图这样做。例如,通过数学强制三角不等式,而是信息上,即在注意力机制的信息流模式中。实际上,AF2 所做的是将几何直觉转化为允许这些距离对(或者编码它们的表示)轻松交流的架构特征。对我来说,这是 ML 架构工程的一般原则。它说明了如何将先验信息整合到可学习模型中:不是通过硬约束甚至软约束,而是作为学习过程本身的一个方面。(相对于概率编程或贝叶斯建模,我认为深度学习大致如此。知识很少直接注入 DL;而是通过设计注入架构中,使其更易于学习。在这方面从某种意义上说,硬 SE(3) 等方差实际上是一个例外,但稍后会详细介绍。)最后一个例子是在 IPA 结构模块中。当启用它时,可以从算法 22 的第 7 行中的对表示中获得轻触,其中 {z ij} 偏向于 3D 空间中残基之间的注意力,以及重 touch 在第 8 行和第 11 行,其中 {z ij} 可直接用于 3D 推理引擎。轻触再次具有完美意义,因为配对表示应该编码哪些残基在空间上接近,这是空间推理时的宝贵信息。AF2(以及它之前的第一个 AF,虽然以一种看似奇怪的方式进行训练:不是在整个蛋白质上,而是在蛋白质片段上,或者 AF2 团队所说的「多肽作物」。他们不短, 通常有几百个残基。但对于更长的蛋白质,这些作物只捕获整个序列的一小部分。此外,通常制作两种不连续的作物(相同的蛋白质),然后缝合在一起。值得注意的是,虽然 AF2 主要针对多达 256 个残基的多肽进行训练(后来对 384 个残基进行了微调),但它可以预测超过 2000 个残基的蛋白质结构,这是一项惊人的壮举。不仅因为它绝对是一个非常困难的问题,而且因为 AF2 是针对更短的多肽进行训练的。全局背景对蛋白质很重要。在两种不同的蛋白质中,相同的氨基酸序列通常具有不同的结构;否则蛋白质结构预测早就解决了!(当然,随着序列长度的增加,这种情况逐渐变得不那么真实。)将有数百个残基分开的无实体「作物」,并要求模型预测它们的相对方向,且它们的分离长度是未知的(如果它们相距超过 32 个残基),这似乎是一项不可能完成的任务。但这里至少有两个改善因素在起作用。首先,AF2 正在使用 MSA/协同进化模式,这些模式对这些信息进行编码,而不考虑线性链分离。其次,这仅在训练时完成,而不是在推理时完成。在推理期间,AF2 确实可以访问整个序列,因此上下文敏感性问题没有实际意义。在训练期间,AF2 可能会从一种蛋白质中的一对作物中得到一个信号;而从不同蛋白质中的一对相似作物中得到一个相互矛盾的信号,这完全没问题。这种情况可能会告诉模型,当它以某种未知的间隔看到这两种作物时,存在固有的不确定性。回想一下,在训练期间,不需要模型能够准确预测结构。重要的是通过梯度更新将有用的信息传递给模型。这是解耦的另一个实例,通常是耦合的(前一个是学习和保持状态的合适表示)。在大多数ML模型中,训练和推理任务保持非常相似,其思想是训练任务与推理任务越相似越好。但这并不是真的必要,因为训练是为了从数据中获取有用的信号,而推理是为了做出准确的预测。这个想法肯定不是AF2独有的;生成模型在生成和训练过程中通常涉及完全不同的任务,当然,训练过程中使用的可微损失函数通常与真实目标函数不同。尽管如此,AF2在有监督的学习环境中展示了这一思想的相当强大的应用;几乎支持故意解耦任务,然而通常人们倾向于将这种解耦视为建模的失败。我不知道上述是否是AF2团队的意图,因为使用目前的TPU几乎不可能在全长蛋白质上训练像AF2这样大的东西,所以记忆效率可能在他们的思维中起到很大的作用。尽管如此,从生物物理学的角度来说,最初可能是一种计算技巧,但最终却成为了一个好主意。顺便说一下,这解决了 CASP14 期间关于 AF2 的一大谜团——推理和训练时间之间的差距。由于三次缩放,以及推理是对全长蛋白质进行的,而训练是对作物进行的,因此两者之间(可能)存在非常大的计算时间差距。AF2 的另一个显着特点是其始终开启的优化模式。即,它总是能够在距原生状态一定距离处获取初步结构,并将其改进为更接近该原生状态。在多个模块和多个粒度级别中都是如此,这使得系统在利用不同类型的数据时非常强大和通用它在结构模块中最为明显和自然,其中迭代 IPA 过程的权重被绑定,因此重复应用相同的操作。这是有道理的,因为 IPA 的预期功能是改进来自 evoformer 的结构。但是,evoformer 本身也始终处于细化模式。这并没有在架构本身中明确编码(evoformer 的 48 层的权重是解开的),但在它的训练方式中很明显,鼓励它以这种方式行事。例如,原始输入可以包括同源结构的模板,其中一些可能与所寻求的结构相似,从而为 evoformer 的第一层提供一个结构(编码成对表示);该结构基本上是完整的,并且不应该被搞砸了。这是关键并概括了这一点的难点,因为 AF2 也可能获得一个没有结构同源物的序列,从而为 evoformer 的第一层提供几乎没有结构数据——在这两种情况下,evoformer 必须学会正确行为。MSA 的重复子采样加强了这一点,因为每个样本提供不同程度的序列覆盖。同样的现象也发生在回收利用上。首先,回收本身是一种细化形式,因为整个网络具有绑定的权重,最多可以再重新应用 3 次。但是回收的行为也使 evoformer 成为一个「精炼者」,因为在稍后的回收迭代中相同的 evoformer 可以呈现出比第一次(预回收)迭代中的 evoformer 更远的结构。另一个鼓励改进的机制是在结构模块和回收中使用中间损失。即,在训练期间,模型被优化以最小化最终预测结构的损失以及预测通过系统的某些部分的中间结构的损失。这鼓励 AF2 不仅正确预测结构,而且在系统的早期迭代中快速预测。在结构模块中,这是非常明确地完成的;它的损失函数实际上是所有迭代的平均值。在回收中,它有点微妙。仅用一次迭代的损失用于反向传播,但是因为迭代次数是随机采样的,所以效果是一样的;鼓励模型在早期的回收迭代中获得正确的结构。AF2 在不同阶段对不同任务的鲁棒性在随论文提供的动画中显而易见。LmrP (T1024) 的视频显示了在 evoformer 的第一层之后基本完整的结构,而 Orf8 (T1064) 的视频一直持续到最后,几乎类似于分子动力学折叠模拟(它不是一个,很明显。)顺便说一句,这些动画也暗示了 AF2 在不同 MSA 深度序列方面的行为。对于深度 MSA,它的作用可能类似于严重依赖协同进化信号的 pre-AF2 方法,或多或少完全基于该信号推断结构,仅使用单个 evoformer 层。对于具有非常浅的 MSA 的序列,它属于 evoformer 和结构模块的后期阶段才能真正折叠蛋白质,我怀疑该模型正在学习和应用有关蛋白质结构的一般物理知识。下图的「无 IPA 和无回收」面板显示当回收和 IPA 关闭时,浅层 MSA 的 AF2 性能显着下降,支持这一假设。此外,尽管 Sergey Ovchinnikov 有一个引人注目的替代理论,但 AF2 在预测来自未配对 MSA 的蛋白质复合物方面的明显成功可能是由于这种一般的物理学知识。外部产品的平均值。尺寸:s:序列,r:残基,c:通道。(来源:论文)总的来说,我发现不断改进的想法强大且广泛有用,尤其是当它可以应用时,而不必在整个模型中回溯。我不确定这是否是新颖的迭代监督学习语境中(它可能在生成计算机视觉方面有相似之处)。它非常类似于 RL,这显然是 DeepMind 的强项。可能我读这篇论文最大的惊喜是「消融研究,尤其是 IPA 的消融」,AF2 大肆宣传的 SE(3) 等变变压器。虽然我没有像其他人在发布前那样认为这个模块有那么多的价值,但删除它似乎做的很少的事实仍然令人震惊。如果贡献如此之少,所有这些工作和机器的意义何在?这里其实有两个惊喜。首先是没有 IPA,AF2 只是简单地吐出 3D 坐标,没有任何明确的 SE(3)-invariant 转换对表示中的「距离」到 3D 空间。事实上,正如我之前提到的,AF2 的无 IPA 版本完全依赖于 1D {si} 进行结构生成。这意味着它选择了一个特定的全局参考框架,在其中生成结构,我认为对于包括我自己在内的许多人来说,这似乎太粗糙而无法工作。但显然它做得很好。第二个惊喜是,3D 中的推理,即在结构的初始版本在全局参考系中具体化之后的推理,似乎并不是非常重要,除非回收并删除。这与我们的直觉背道而驰,即某些空间模式,尤其是分布在蛋白质的多个不连续元素上的空间模式,在 3D 空间中更明显,因此应该受益于 3D 推理。从实际的角度来看,它似乎也排除了进入等变网络的所有方法论研究,至少就它应用于蛋白质而言(下一节将详细介绍)。这当然是一种解释,但我不认为它是完全准确的。关键在于,只要保留回收,去除 IPA 就可以了。当两者都被消融时,性能显着下降。此外,如果去除回收但保留 IPA,则 AF2 的性能几乎不会受到干扰。这对于 IPA 来说是一个相当令人印象深刻的展示,因为回收基本上是 48 层 evoformer 的四倍(由于各种技巧,计算成本方面并非如此),而 IPA 只有 8 个权重绑定层。从这个角度来看,IPA 层比 evoformer 层更有效,至少对后期细化方面而言。随着现在重点从单链预测转移到复合物和高阶组装,空间推理的重要性只会增加,我预计 IPA 及其未来的衍生物将继续发挥重要作用。撇开 SE(3)-等方差的效用不谈,它在 AF2 中如何执行的问题可能是论文发表之前最受期待的问题。退一步思考这个子领域在过去几年中的发展方向会有所帮助。最近在等变神经网络(equivariant neural networks)中的一系列活动可以说是从 Thomas 等人的一篇论文开始的,尽管有一些先行工作。该论文依赖于群论机制,采用(卷积)滤波器,将球谐函数用作其基组。该公式在数学上很简单,并且已经在许多论文中进行了阐述,特别是 Fuchs 等人的 SE(3)-equivariant Transformer,它不仅概括了从卷积到自注意力的方法,而且还共享了一个相同的 DeepMind 团队在 CASP14 期间使用的名称来描述他们现在所说的 IPA。这自然会让人们猜测 AF2 使用了与这种方法非常相似的东西,包括我之前关于 AF2 的帖子。回想起来,这没什么好处,特别是因为这些方法大约是在同一时间开发的,所以没有理由相信它们会相互影响。相关链接:https://arxiv.org/abs/1802.08219
https://arxiv.org/abs/2006.10503
https://moalquraishi.wordpress.com/2020/12/08/alphafold2-casp14-it-feels-like-ones-child-has-left-home/
在发展群论方法的同时,也出现了一系列图论方法来解决分子等变推理的问题。基于图的方法不依赖于球谐函数,而是将分子嵌入为图,空间信息编码在连接节点的边缘中,这些节点依次对原子进行编码。这一系列研究已应用于小分子和蛋白质,但可以说,后者最有用。与所有聚合物一样,蛋白质本质上允许在每个原子上构建明确的参考系,并且这一事实已被基于图的方法所利用,产生了巨大的影响。Ingraham 等人的 Structured Transformer 是在机器学习和蛋白质的背景下使用这种结构的第一个(也许是第一个)方法,似乎这项工作是 IPA 的灵感来源。对于蛋白质,使用基于图的结构比基于组的结构有很多优势,但这是一个较长的讨论,不会影响 IPA 的工作原理。可以说 IPA 完全属于基于图形的阵营,对于蛋白质而言,IMO 最有意义。相关链接:https://papers.nips.cc/paper/2019/file/f3a4ff4839c56a5f460c88cce3666a2b-Paper.pdf
IPA 的工作原理非常有趣,因为它可以说是整个 AF2 中最新颖的神经原语,结合了多种空间推理机制,可能会为未来的分子建模提供信息。我将重点介绍几个。我要强调的是,我的大部分想法都是高度投机的,尤其是在元推理上。首先是 IPA 注意力机制,它有点像野兽(算法 22 中的第 7 行)。一般来说,IPA 做了很多这种「喷射」,其中残基会生成许多 3D 向量,以控制注意力并相互发送值。这些向量在每个残基的局部参考系中生成,然后转换为全局参考系,因此它们都是等变的并且能够在 3D 空间中关注整个蛋白质。因为几何匹配项是负数,它会减弱而不是增加注意力。这使得它相当保守——导致大多数残基对彼此忽略——因为它要求查询/键恰好匹配以避免衰减,这不太可能偶然发生。衰减程度是一个可学习的人均参数 (γh),IPA 有可能学会将其关闭,但几何匹配永远不会对注意力产生积极的贡献。综上所述,这些方面可能会导致空间局部性偏差——每个残基更容易为查询/键喷射通用局部向量,当转换为全局参考系时,将关注附近的对象,而不是远处的精确定位向量从残基的中心开始,当转换到全局参考框架时,它恰好落在蛋白质的正确部分。其次是值,特别是 3D 向量形式的几何值,如何在残基之间进行传递(算法 22 的第 3 行和第 10 行)。每个残基再次喷射多个向量,所有向量都转换为全局参考系,其中对于任何接收残基,在将所有其他残基的向量转换回接收残基的局部参考系之前,所有其他残基的向量在整个蛋白质的欧几里德空间中进行平均。我想这可以实现复杂的几何推理能力,这些能力可以反映蛋白质生物物理学的一般方面,并且与 MSA 中包含的遗传/共同进化信息的联系较少。例如,考虑一个「催化三联体」,其中一个残基必须检测其他两个残基相对于自身的定位和取向。它以适当的位置和方向喷射查询向量,并且由于它们是在其本地参考系中指定的,因此它们形成了 IPA 可以反复学习和应用的通用空间模式。如果查询向量指向正确的方向,我们可以想象关键向量简单地说明每个残基的位置和方向,本质上返回 T j。当转换到全局参考系时,键将匹配查询,避免衰减。大多数其他注意力对会减弱;过滤噪音。现在相关的残基相互关联,每个残基都返回一个再次编码 T j 的值。该信息随后在第 10 行和下游层进行处理,以推动残基更好地符合 IPA 对活性催化位点的预期。以上是否是对 IPA 工作原理的准确描述当然是未知的,除非仔细检查学习的权重和模型的行为,否则可能无法知道。第三,也是迄今为止最具推测性的,是 IPA 可能会结合其组件来执行元推理。我的意思是推理不是关于蛋白质结构,而是关于 AF2 本身,即它关于当前推理任务的知识状态以及它在后续 IPA 迭代中可能如何改进(我指的是在推理过程中实时学习,而不是通过梯度下降。)想象一下,AF2 期望一个蛋白质片段与另一个相互作用,但不确定它的位置。在第一次迭代期间,它喷射多个间隔很宽的查询向量,分布在它认为可能包含所寻找片段的蛋白质区域的大部分区域。几乎所有查询都找不到匹配项,但其中一个,如果 AF2 的假设是正确的,则可能。一旦找到并基于获得的信息,AF2 可以在随后的 IPA 迭代中发送更多定向查询,以更好地定位片段的确切位置和方向,然后根据其学习的蛋白质知识改进结构。这里的关键是使用 IPA 的迭代来控制其推理和发现过程。与传统采样方法(随机考虑不同蛋白质构象)相比,IPA(和 evoformer)可能会积极推理如何提高其对当前试图折叠的蛋白质的了解。可以肯定的是,不能保证这种元推理正在发生,我怀疑即使 DeepMind 对此进行评估也不是微不足道的。如果发生元推理,它可以解释 Orf8 和其他具有浅 MSA 的结构的折叠时间长(在到达天然状态的意义上)。如果 AF2 用向量喷射空间来寻找和定向蛋白质片段,那将是进行一种搜索形式,可以进行多次迭代才能得出结论。这将解释为什么重复应用相同的计算最终可以折叠蛋白质,以及在消融研究中 IPA 和回收到具有浅 MSA 的蛋白质的特殊重要性。最后一点:在算法 22 的第 10 行,所有这些几何信息都被编码回 {s i} 中,这是一个没有明确几何但都是“潜在”的对象,这对我来说很了不起。在它被输送到 {s i}和所有被遗忘之前,许多等变架构都专注于在整个网络中维护其表示的显式几何方面,但在 IPA 中,显式几何仅被简要使用,以执行我上面描述的操作。它展示了在 {s i} 中编码几何信息的能力和依赖隐式表示的优势,避免了在整个网络中形式上保持等变的复杂性(一般来说,等变层很难很好地处理神经网络非线性,特别是群论公式,如果不是数学上的,那么至少从优化的角度来看。)这在方法论上是细微的,但在性能方面却是非常重要的。MSA Transformer作为AlphaFold2 的辅助损耗之一,下图显示了它对于具有浅 MSA 的序列至关重要,如果没有它,性能会大大降低。在最近的 PDB 链组上,MSA 深度的不同值相对于基线的消融精度,通过模板覆盖率在 30% 同一性≤ 30% 时(N = 2261 条蛋白质链)进行过滤。(来源:论文)对我来说,AlphaFold2 令人印象深刻的是它对浅层 MSA 的鲁棒性。长期以来,对序列(或本例中的 MSA)进行自我监督学习似乎是解决问题的一种自然方式,它在这里成功了。有趣的是,当 MSA 非常浅时(例如,只有一个序列),这种增益就会消失;但这也是有道理的,因为那时 MSA 转换器是无信息的。我将以我从论文中得出的最违反直觉的结论作为结束。进入这个领域,我曾预料到,至少在一些组件中(最显著的是唤起式注意机制),如果不进行「轴向注意」这样的简化,这种机制的规模会非常可怕。DeepMind已经运用了他们巨大的计算资源,以暴力手段解决了「其他群体必须通过智能才能解决的问题」。具有讽刺意味的是,事实似乎几乎完全相反。AlphaFold2 给人留下深刻印象的不是一流的硬件,而是一流的软件和 ML 工程,这使得蛮力扩展变得没有必要。我认为这部分,对于学术界来说将是最难复制的;因为它不是仅仅增加国家对计算资源的投资就能提升的(这无疑会有所帮助);这将是对内部专业软件工程能力的一个更高要求。这一点在许多方面都很明显:在IPA和回收利用方面,谨慎使用梯度停止,节省了大量的计算;在裁剪方面,它从根本上改变了系统的诱导偏差;在经过深思熟虑选择的初始化方案方面……当然,DeepMind可以鱼和熊掌兼得。他们在CASP14中使用的8个集成就证明了这一点;他们将计算需求增加了一个数量级,虽然这似乎是非常边际的收益(我怀疑他们是在CASP14之后才发现这一点的),但总的来说,他们的传统似乎是计算节俭。从最好的意义上说,这是我对AlphaFold2团队最大的赞美,因为他们在许多方面都取得了卓越的成就。原文链接:https://moalquraishi.wordpress.com/2021/07/25/the-alphafold2-method-paper-a-fount-of-good-ideas/