2020年末,谷歌子公司DeepMind发布了蛋白质结构预测程序AlphaFold。利用机器学习技术预测蛋白质结构的AlphaFold引发了巨大的反响。此后,DeepMind公开了AlphaFold的源代码,使任何人都可以使用该蛋白质结构预测数据库。
随着AlphaFold2代码的开放,许多研究机构开始利用其打造更精确的蛋白质结构预测模型,或加快预测速度,从而以多种方式活用AlphaFold。正因为有了AlphaFold2及其数据库,蛋白质结构研究才能变得更加丰富且高质量,也有望在未来带来大量相关专利的申请。
在之前的文章中,PI专利事务所曾预测AlphaFold2可能带来的新变化。彼时,由于AlphaFold2的细节尚未完全公开,外界充满了各种猜测。但在论文公开之后我们了解到,AlphaFold2的内容并没有太偏离我们的预测。
AlphaFold的整体架构及待改进事项
AlphaFold2 系统大致可以分为三个阶段。
在第一个阶段的预处理过程中,AlphaFold2 会将输入序列及其序列信息、与模板信息相匹配的 MSA(多序列比对)信息嵌入为 MSA 表示(MSA representation)和对偶表示(pair representation)。
接着,在第二阶段中,系统使用由两个 Transformer 构成的深度学习网络 Evoformer 对 MSA 表示和对偶表示进行更新。
在最后的结构模块阶段,AlphaFold2 将 Evoformer 所生成的表示结果转换为三维结构。
AlphaFold2 会从头反复执行上述过程,从而不断改进 MSA 信息及氨基酸对信息,最终实现更加精准的蛋白质结构预测。
那么,相较于 AlphaFold1,AlphaFold2 在哪些方面进行了显著的改进?又有哪些独特之处呢?以下将作进一步探讨。
- MSA 与模板嵌入(Embedding)
在输入序列阶段,AlphaFold 会使用 MSA 来查找相似的蛋白质结构,并分析蛋白质与氨基酸之间的相互关系。与 AlphaFold1 最大的不同之处在于,AlphaFold1 仅使用 MSA 的统计信息,而 AlphaFold2 则直接将从 MSA 中获得的原始序列(raw sequence)进行嵌入(embedding)。
通过这种嵌入处理,AlphaFold2 能够更深入地理解氨基酸之间的关联性。即使无法完全掌握所有序列的结构,也可以通过与 MSA 相关的变异信息获得有价值的结构预测依据。
在嵌入(embedding)过程中,为了减少加载的 MSA 信息量,AlphaFold2 会将相似的序列归类为一个聚类(cluster),并在每个聚类中选择一个用于构建 MSA 的代表性序列(msa_feat)。由于所选代表序列以该聚类的特征形式被嵌入,所有序列都能对最终判断产生贡献,从而提升预测的准确性。
此外,AlphaFold2 还对表示残基(residue)之间距离的 pair representation 进行嵌入。这可以与 AlphaFold1 中的距离图(distogram)进行类比;AlphaFold2 中的 pair representation 会基于非聚类的 MSA 信息所对应的额外 MSA 表示嵌入(extra_msa_feat)以及输入序列信息进行更新。
2. 图结构与注意力机制的重要性:
AlphaFold1 可被定义为一种利用从 MSA 衍生出的蛋白质结构与特征进行训练、用于预测氨基酸对之间距离的卷积神经网络(CNN)。但 AlphaFold1 的 CNN 并未充分利用序列中所有信息,例如忽略了远距离残基之间的重要信息。然而,这些遗漏的信息往往对蛋白质结构的准确预测至关重要。
与此不同,AlphaFold2 采用了注意力机制(attention mechanism),能够全面考虑关键因素。其中的核心模块 Evoformer 就是一种基于注意力机制的算法,它能够识别输入数据之间的相关性。通过注意力机制,网络变得更加灵活,能够捕捉非邻近节点之间的相关关系。借此,系统能够学习在推断每个残基的结构时,应如何筛选并利用最相关的信息。
Evoformer 由基于注意力机制的 48 个模块(block)构成。这 48 层用于优化 MSA 表示(MSA representation)与 pair 表示(pair representation),并在两者之间传递信息、不断更新。pair representation 信息被构建为图结构,并以三角更新(triangle update)的形式进行反复优化。
在执行 MSA representation 的阶段,网络首先会在横向(即序列的行方向)上计算注意力,以识别哪些氨基酸对之间存在更强的相关性。在更新氨基酸之间关系的过程中,网络还会加入从当前 pair representation 中直接计算得到的一个名为 pair bias 的信息。通过引入这一值,网络能够加强注意力机制的作用,更加准确地理解氨基酸对之间的关系。
接下来是列方向(纵向)的注意力机制,用于识别哪些序列具有更高的重要性。通过在 alignment column 中各序列之间的信息交换,网络将来自首个序列(通常作为参考)的三维结构信息传递给其他序列(即下一阶段中将被预测结构的目标序列)。
在 Evoformer 阶段中,我们可以发现两个用于进一步优化已更新信息的通信节点(communication points)。其一是前文提到的辅助 MSA 更新的 pair representation 中的 pair bias;另一种是 outer product mean,它为 MSA representation 向 pair representation 提供了更新信息的通道。
正如之前所述,在优化 pair representation 时,AlphaFold2 使用注意力机制,通过图结构(graph representation)来理解残基对之间的关系。这种图结构由三个氨基酸(节点)以及与之对应的边(edges)组成。
在这一阶段,AlphaFold2 通过三角不等式来构建氨基酸对之间的三维距离。Pair representation 会通过一个名为“三角乘性更新(triangle multiplicative update)”的过程进行更新,该过程基于与两个其他节点之间的边来调整残基之间的距离。
这三个节点随后会通过三角自注意力机制(triangular self-attention)进行更新。注意力机制使得算法能够学习到更多几何和化学上的限制条件(constraint),并且通过三角乘性更新,避免特定的残基子序列考虑不必要的信息。通过三角注意力机制,即使在序列中距离较远的残基,在三维结构中也可能处于近距离状态。
- 自适应计算时间(Adaptive Computation Time,ACT):
ACT 是一种机制,使循环神经网络(RNN)能够学习对输入内容应重复处理多少次。在深度网络中虽然可以较为容易地实现 ACT,但如果能够以更高的计算效率进行处理,则更为理想。AlphaFold2 是通过 IPA(不变点注意力,Invariant Point Attention)来实现自适应计算时间的。
IPA 模块通过针对每个独立氨基酸的平移和旋转不变性来实现最终的三维结构构建。
IPA 是为三维结构生成而特别设计的一种新型注意力机制。通过将等变性属性(equivariance property)嵌入模型中,网络能够学习到:对全局坐标系进行旋转并不是进行精确预测所必须的操作。由于在 IPA 中网络无需主动学习等变性,因此可以在每一次训练循环中专注于提取最大信息。最终,这一机制帮助网络减少了为寻找合适折叠结构而需要进行的模型计算次数。
- 端到端预测(end-to-end prediction):
AlphaFold 论文的第一作者约翰·朱珀(John Jumper)博士及其研究团队曾强调,他们通过端到端训练(end-to-end training)方式不断优化 AlphaFold2 中的蛋白质模型。AlphaFold2 系统会将来自 Evoformer 的所有结果以及结构模型(如 MSA、多序列比对表示、pair representations、预测结构)持续不断地送回第一阶段,直到模型不再产生改进为止。通过这种在整个网络中持续进行的改进过程(又称为“recycling”循环使用),可以防止氨基酸对之间的联系中断,或对 AlphaFold1 模型中构建的三维结构进行优化。
得益于 AlphaFold 数据库的公开,包括制药领域在内的多个领域如今都能够实现更快速、更准确的蛋白质结构预测。本篇文章中,我们介绍了 AlphaFold2 的主要特点,并探讨了其与其他蛋白质结构预测程序以及前代 AlphaFold 的区别。最令人惊讶的是,促成 AlphaFold2 成功的众多核心要素如今也被引入到其他神经网络中,并被用于解决各种不同的问题。希望在不久的将来,应用上述理念的更为先进的人工智能工具能够问世,带来更令人惊叹的研究成果。