为什么说 AlphaFold 2 足以改变全人类?( 六 )


为什么说 AlphaFold 2 足以改变全人类?

我们看到具体的结构 , 之前MSATransformer猜测的大体不差 , 有横向attention去往自己当前氨基酸序列的所有位置打attention , 有纵向的attention去看其他氨基酸序列的相同位置稳定性和突变有多少 , 只是在横向attention时 , 加了使用pairwisefeatures作为后attention上的一个bias:
为什么说 AlphaFold 2 足以改变全人类?

MSA经过横向和纵向的attention , 最后还有一个transition层 , 其实就是两层的MLP , 中间塞一个relu 。 transition层的输出结果 , 通过计算外积 , 然后求平均 , 去计算出pairwisefeatures:
为什么说 AlphaFold 2 足以改变全人类?

之后是pairwisefeatures的更新 , 称为三角乘法更新(Triangularmultiplicativeupdate) 。 其motivation是说 , 这个矩阵描述的是任意两个残基之间的距离等关系 , 距离关系不是自由的 , 应该满足比如三角不等式 , 相邻的三个边应该满足两边之和大于第三边 , 所以这里的pairwisefeature的更新使用了所谓三角乘法更新 , 对于每个边 , 都会接收到和他组成三角形的任意两个其他边带来的更新:
为什么说 AlphaFold 2 足以改变全人类?

之后是两层三角自注意力层(Triangularself-attention):
为什么说 AlphaFold 2 足以改变全人类?

结构模块(Structuremodule)结构模块使用MSA中的第一条而丢弃剩余部分(即只保留目标的这个氨基酸序列 , 丢掉检索到的其他MSA , 称作singlerepr) , 以及计算得到的pairfeatures , 以及把所有残基都从坐标原点初始化然后再去计算更新的backboneframes , 最终预测出具体的3D原子坐标 。 在计算中 , 每一层都去更新singlerepr和backboneframes(每个残基一个backboneframe , 每个backboneframe记录了从局部坐标系到全局坐标系的欧几里得变换) , 而计算得到的pairfeatures只在更新singlerepr的attention层中计算成一个bias 。 (之前的猜想都以为要从pairfeatures上计算得到每对儿残基之间的距离 , 没想到只是个小小的配角)
为什么说 AlphaFold 2 足以改变全人类?

然后我们逐层看结构模块在算什么 。 首先 , 这个backboneframes使用“黑洞初始化” , 这个黑洞初始化把所有的残基都放在全局坐标的坐标原点 , 然后在后面的每一层计算推走多远 。 pairfeatures只用来在第一个attention子层中计算bias辅助更新singlerepr , 他们永远不变 。 在InvariantPointAttentionModule子层中 , 更新singlerepr , 在PredictRelativeRotationandTranslation子层中 , singlerepr被映射为具体的updateframes去更新backboneframes 。 对于每个残基 , 我们预测它和相邻残基之间肽键的角度和距离 , 这个角度和距离是自由的;而为了确定每个原子的坐标 , 残基内部也有若干扭转角度的参数 , 残基内部确定原子位置仅由这些扭转自由度确定 。
效果展示
为什么说 AlphaFold 2 足以改变全人类?

为什么说 AlphaFold 2 足以改变全人类?

为什么说 AlphaFold 2 足以改变全人类?

4总结和展望
本文主要介绍了蛋白质三维结构预测的背景知识和相关概念 , 让大家感性和部分理性上理解一下AlphaFold2很厉害 。 如果后续有比较多的人对AlphaFold2的具体细节和技术感兴趣 , 那么可以继续更一个详细的讲解;不过我们应该大部分读者都是做NLP的 , 了解了隔壁领域的大概意思学习其思想就可以了 , 不是那么着急的可以等专门搞生物的人的详解文章 。 未来不出意料的话 , 会有更多的研究员和计算资源被投入到生物大分子领域 , 人工智能发展和生物、医疗、制药 , 都会在未来的几年迎来一波技术的小爆发 。