AlphaFold2的胜利就像是一场接力赛,往往是跑到最后一棒的人会有更多的高光时刻。但是,我们依然要记住为这门学科贡献智慧的人。
尽管,距离Deepmind公司AlphaFold2的横空出世,已经过去了两周的时间,但是围绕AlphaFold2的讨论热度依然不减。
AlphaFold2是否是完美无缺,如果不是,它的“胜利”具体体现在哪些项目上?AlphaFold2对结构生物学的影响有哪些,哪些方向能受益而加速突破?哪些方向会受到影响而淡出?学术研究者与企业工程人员该如何分工,进一步实现“产学融合”的高效转化?
关于AlphaFold2,太多的问题需要解答。
近日,主题为“权威专家谈AlphaFold:DeepMind到底突破了什么?”的圆桌论坛正式举行。
本次主题论坛由图像计算与数字医学国际研讨会(ISICDM)主办,雷锋网、医健AI掘金志协办。
印第安纳大学医学院副院长、AIMBE Fellow黄昆教授担任主持,密苏里大学教授、AAAS/AIMBE Fellow许东教授、密歇根大学教授、DeLano奖得主和I-TASSER算法发明人张阳教授、芝加哥丰田计算技术研究所、斯隆奖得主许锦波教授共同参与讨论。
在上篇中,几位嘉宾共同回顾CASP竞赛的历史、AlphaFold2的技术细节、局限与意义;
在下篇中,将着重分析AlphaFold2的产业应用前景、学术研究风向、药物研发等“未来”话题。
图像计算与数字医学国际研讨会(ISICDM)自2017年创办以来,一直是医工交叉的前沿阵地,围绕图像计算和数字医学中的一些重要的理论、算法与应用问题进行学术讨论,旨在促进电子信息(包括计算机、自动化与生物医学工程)、数学和医学等领域学者的交流与合作,截止至今,ISICDM共邀请到400余位大会报告及专题报告嘉宾。
在今年的ISICDM 2020上, “计算解剖学”创始人的Michael I.Miller教授,新加坡国家科学院院士、发展中国家科学院院士沈佐伟教授、瑞士工程科学院院士Michael Unser教授、美国国家发明家科学院院士王革教授等数十位嘉宾分别进行了主题演讲。
黄昆:请大家先谈谈自己对CASP竞赛的了解,包括其目的、历史。
张阳:CASP全称是Critical Assessment of protein Structure Prediction,它是一个关于蛋白质结构预测的竞赛。在CASP举办之前,蛋白质结构预测一直是生命科学里的一个重要问题。每年都会有人发表大量的论文,有些论文甚至宣称解决了这个问题。
但是,蛋白质结构预测是一个基于计算机程序预测的问题,如果没有实验的介入,没法断定这些宣称是否真的正确。
所以,在1994年,马里兰大学的John Moult教授和同事就发起并组织了这么一个比赛。每年的夏天,由组织者收集大约一百个左右蛋白质的序列,没有任何人知道他们的三级结构。然后让做蛋白质结构预测的人来利用计算机程序来预测他们的结构。
同时让实验结构生物学家的人利用X-光衍射,核磁共振,或者冷冻电镜的方法,把这些蛋白质的结构解析出来。
最后,由独立的科学家团队把计算机预测的模型和实验的结构对照,分析不同计算机算法的预测结果。因为是双盲的预测,这些结果可以客观真实的反映结构预测的精度。
CASP组织者一直是在淡化竞赛的概念,他们一直把它称作CASP实验。其目的是评价目前最领先的技术,找出现存的问题,规范和指导领域的发展。
但是,每个参赛者都很认真对待。这个比赛一般是5月份开始,八月份结束,很多实验室在比赛期间,停下一切事务,全力参赛。
这应该是生物学领域第一次举办这样的比赛,也是最重要和名气最大的科学竞赛。后来很多学科和专业都模仿这种方式,举办各种科学竞赛。
黄昆:这次CASP中AlphaFold的胜利体现在哪些项目上?除了AlphaFold2之外,这次CASP竞赛还有哪些亮点?
张阳:过去二十多年来,蛋白质结构预测这个领域一直在不断进步。特别是最近五,六年,因为共同演化,接触图预测,以及深度机器学习技术的引进,很多实验室的算法精度都有很大的提升。
这些提升是学术界内部的提升,和谷歌的AlphaFold没有关系。
就拿我们实验室的I-TASSER自动服务器来讲,在两年前CASP13的时候,它预测非同源蛋白结构的数目比六年前CASP11的时候增长了五倍。在这次CASP14中,它的预测精度和CASP13相比,也有很大增加。
但是这次AlphaFold2比上次的AlphaFold增加的幅度更大。他们大约有一半的蛋白质,其单结构域结构的GDT-TS score都大于0.9,也就是说接近实验测量的精度。
我在另外一个场合引用谷歌的宣传材料称,他们有2/3的蛋白达到了这个精度,但是后来我自己做了结构比对和检查,发现除掉水分之后,这个数字应该是51%(如果考虑第一个模型);如果考虑五个模型中最好的模型,有58%的结构域达到这个精度。但是这个结果依然非常惊艳!
为什么如此惊艳?
蛋白质结构预测一般分成基于模板和从头预测两种算法。如果数据库中有同源的结构存在,大家利用基于模板的算法,都可以做的很好。
但是如果结构数据库中没有同源蛋白存在,纯粹基于序列从头预测,精度会大幅度下降。但是AlphaFold2,它就用一种算法——深度机器学习,对于从头预测的蛋白质做的几乎和基于模板的蛋白质一样好,这就是它让人震惊的地方。
和传统的结构预测方法相比,这个增加幅度简直难以置信。因为这是CASP双盲测试的检测结果,我们没有选择,只有相信它。
现在我讲一个小故事。这次CASP比赛,我们实验室也有幸被邀请在CASP会议上做报告(包括谷歌和Baker实验室,一共有三个团队被邀请做结构预测报告)。
所以,我们大概在CASP会议之前的三个星期,拿到了各团队参赛的数据。
当然为了新闻的要求,CASP要求在12月1号开会之前,不得向外界泄露。我当时看了结果之后,虽然有一些心理准备,但是仍然惊讶的目瞪口呆。我给Moult回信,表示对结果非常震惊。
他回信说,自从六月份他们开始看到并评估第一个目标蛋白以来,整个CASP组织团队就开始对结果完全无语了,他用的一个词是“speechless”。你可以想象整个领域对这个结果的惊讶程度。
黄昆:我想请教一下,蛋白质折叠从计算的角度来讲,具体的难点是什么?它的意义在哪里?另外AlphaFold2的算法,取得了哪些技术上的突破?到底都利用了哪些前人的工作?
许东:蛋白质折叠对于理解基因的功能、疾病的原理、制药都是非常重要的。
几十年前,大家就在探讨这个领域里被称作Levinthal的悖论。
第一,一般蛋白的平均长度大概在300个氨基酸,假设每个氨基酸的可能构象有10个,所有的可能性就是10的300次方,数据量非常巨大。即使是全球最好的计算资源价值,也不能处理这么多的可能性。
第二,蛋白质折叠靠的是能量,能量实际上非常复杂。从底层来讲,它是基于量子力学的过程,即使走到经典力学的过程,把它变成一个函数,这个函数非常复杂。要优化这个函数,没有什么可能。
第三,这几十年,我们确实积累了大量的实验结构。现在数据库里大概有17万个已知结构,听起来数量庞大,但实际上很多蛋白的序列与结构是类似的,没有那么多独特的结构、序列。
深度学习是属于“数据饥饿”的方法,喂它多少数据都不一定够。过去通过这个方法,也不能很系统地得出准确的结果。即使在某一个蛋白质预测上做得非常好,但是不能保证全都做得很好。
这次的AlphaFold2,我认为最主要的是实现了鲁棒性,能够得到很稳定、很好的结果。过去从来没有团队做到。
从技术上讲,我们有一个打分机制,基于多少个氨基酸预测到位来评分。一般蛋白质预测需要达到90%及以上的准确率,才能算预测得比较有用。
这次AlphaFold2已经达到了平均92.4,几乎和实验结果差不多。今后,AlphaFold预测出来的结果,就可以和实验,例如MR、冷冻电镜的方法相媲美。
这个现象与AI阅片一样,虽然不能完全代替医生的诊断方式,但是可以对人类医生的一些漏诊进行补充。
当然,AlphaFold2的成果不代表所有问题都得到解决,但是第一次基本上系统地解决了蛋白结构预测的问题。
我非常惊讶的就是它的精度,不光是蛋白质的主链,在被称作侧链的原子层面,预测也非常到位、准确,这是我们很多人想不到的。
还有哪些问题没解决?
其中有一些非常难的蛋白,或者数据库里没有这样的结构,或者结构跟现有数据库里其他结构很像,但是基本上没有任何相似的序列,被称之为孤儿基因。这种情况非常难预测,分数大概能达到87分左右。
另外一点,AlphaFold2今后能否全自动做蛋白质结构预测?
AlphaFold2的赢面不是在全自动的大类里,还需要手工进行。能否真正实现全自动,或者算得足够快,让很多人都能用上,还需要进一步探索。
第三,蛋白有很多种类(多聚体),例如同一种蛋白形成2-4个多聚体,或者是不一样的蛋白形成1个多聚体。这个问题还没有真正的得以解决。此外,蛋白经常被修饰,比如糖化、磷酸化。
现在设计的新冠疫苗,在重要的蛋白上经常有糖化的修饰,对疫苗设计都是很大的障碍。对于那些有修饰的蛋白能否预测得很准确,目前也不是很清楚。
实际上,蛋白在不同环境下的构象并不相同,比如酸碱度的高低,含盐的多少等因素,给蛋白质的在生物体内的精准预测制造了非常大的难度。
话说回来,很多重大科学问题宣布解决时,并不意味着所有问题得到解决,只是大的问题得到解决,其它小问题可以慢慢解决。
这次AlphaFold2的成果,很多人功不可没。我们也很兴奋,帮助这个领域增加了很多的曝光度。这就像是一场接力赛,往往是跑到最后一棒的人会有更多的高光时刻。然而,这个接力赛确实需要很多人共同参与才能完成。
在蛋白质结构研究的50年过程中,很多华人科学家做出了非常重要的贡献,徐鹰教授、周耀旗教授、李明教授、许锦波教授、张阳教授、卜东波教授和我们系里的程建林教授等在这个领域里都做了非常好的工作。
其中最值得介绍的就是我们的两位嘉宾。
首先就是张阳教授,从2006年开始,常年把持CASP自动预测类的第一名,包括今年自动类第一名仍然是他们团队,他们的服务器被151个国家和地区使用,有14万个以上的用户,预测了五十几万个蛋白。
张教授还有很多蛋白方面的服务器,并且他在15年前就指出,完全通过数据进行搜索以解决蛋白结构的理论上的可能,做了很多的数据模拟,我觉得这些工作都很具有前瞻性。
许锦波教授在氨基酸的距离预测上,真正将蛋白质预测的问题提升了一个台阶。
其实,AlphaFold2对蛋白结构预测中很重要的一点,是对蛋白质距离预测的过程。这个过程中,许锦波教授是第一个认识到氨基酸之间的距离预测,不能一对一对预测,要所有对一起预测。这就是所谓的end-to-end——端到端模型。
这次,AlphaFold2所使用的也是端到端模型,根据序列的特征直接输出了三维结构。许锦波教授是第一个真正成功利用深度学习把这件事(距离)搞定的。CASP13的时,AlphaFold1也是用许锦波教授的方法来进行研究。
张阳:我稍微补充一下。AlphaFold是不是解决了蛋白质结构预测的问题?我觉得还有待商榷。
首先,怎么定义蛋白质结构预测的问题?
蛋白质结构预测包含三级结构和四级结构预测。其中三级结构是指单链,四级结构是指多链蛋白质的结构预测。
这次AlphaFold参加的主要是三级结构预测。即使是在三级结构预测,CASP评估的也只是单结构域的预测结构。
自然界中一个功能蛋白质链往往也包含多个结构域,这些结构域之间有复杂的相互作用。这些结构域之间或者蛋白质链之间的相互作用都属于蛋白质结构预测的范畴,都具有重要的生物学意义。
但是,CASP对这种多结构域的复杂构型并没有做评估,主要是多年以来我们没有好的办法预测它们。
所以,严格意义上讲,AlphaFold2接近于解决了单结构域的蛋白质结构预测问题,预测精度很高。很多媒体中提到它的中位数值是0.92,即大致有一半的模型是超过0.9,接近或者达到实验的精度。
也就是说,还有接近一半的蛋白质预测没有达到这个精度。因此,要完全解决蛋白质结构预测的问题,仍然需要很多工作。
提到华人教授的贡献,许东教授是这个领域的前辈。在进入这个领域之前,我就已经知道许东老师和徐鹰老师他们在20年前开发的Prospect算法,我的实验室现在还在运用他们的程序。
另外,我们也常常用DomainParser做蛋白质结构域的分割,这个程序也是许东教授他们在20年前开发的。现在,许老师和徐老师的研究兴趣可能转向了其他方面,但他们在这个领域里的努力是非常可圈可点的。
黄昆:AlphaFold2算法的成功主要得益于机器学习,深度学习中的哪些重要技术和突破(例如注意力机制)?如果仅靠增加算力能否进一步突破?AlphaFold2算法当前的局限性在哪里?可能有哪些改进空间?
许锦波:进行蛋白质结构预测这方面的研究,我是跟徐鹰老师和许东老师学的。虽然他们不是我的导师,但是读博士时,我就在读他们的prospect代码,开始学习这个方向。
就如许东教授说,AlphaFold2的很多算法灵感都是基于以前的工作。我先简单回顾一下经典的算法。
最早是用蒙特卡洛采样(Monte Carlo Simulation),随机产生多种可能的形状,然后用一个能量函数去选择,觉得哪个形状更有可能,就选择能量最小的形状。这是早期的算法。
但这个算法的问题在于,稍微大点的蛋白就处理不了了,即使后来加上了片段组装 (fragment assembly),也还是处理不了特别大的蛋白,并且需要很多计算资源才能做这件事情。
2010年之后,这个领域里的共进化数据变得很有用,主要是因为测序变得非常容易,产生了大量的蛋白序列。虽然这些蛋白序列没有结构,但是没有关系。我们可以通过研究它们的进化关系,把它们跟结构的关系预测出来,这叫共进化分析方法。
这种方法取得了一定成功,但是对很多没有结构的蛋白质并没有很好的效果。
其中一个原因是,很多蛋白还没有那么多同源序列,需要有很多同源序列才能做得比较准确。通常来说,共进化分析方法需要跟蒙特卡洛采样结合使用,效果才会比较好。
2012年,深度学习开始慢慢进入这个领域,但那个时候并没有成功。有些研究者尝试了一些非常简单的深度学习方法,比如说DBN方法,但并没有表现出任何好的效果。
直到2016年我们引入卷积残差神经网络后,我们才真正发现,深度学习可以把这个问题做得很好。通过卷积残差神经网络,可以将共进化信息利用得很好,还是一样用同源信息。
现在所有成功的方法,都是依靠同源信息。那个时候我们就发现可以把氨基酸在空间中的关系(接触图或距离)预测得比较准。
2018年之后,很多成功的组都是要么间接、要么直接地使用这种卷积神经网络跟共进化信息结合起来的方法。
发展到这个地步,我们就发现完全可以抛弃蒙特卡洛采样。当然,用蒙特卡洛采样可能会稍微好一点,但差别不是很大,这样可以大大节省计算资源。只是在做训练的时候还是需要那么几块GPU,这样才能比较快地将模型训练好。
2018年,DeepMind也使用了卷积残差神经网络的方法。他们的团队,无论是人才资源还是计算资源都比其他组要多一些,那个时候的效果也挺好。
AlphaFold2做得比2018年要好很多。他们确实是发展了一些新的方法。例如最新的算法——注意力机制。
他们引入了一个像Transformer之类的神经网络。Transformer翻译为中文就是“变形金刚”,是自然语言处理里一个非常火热的神经网络模型。Transformer的主要作用还是用来预测蛋白质里氨基酸之间的相互关系。
另外,他们这次不直接使用氨基酸之间的距离,而是利用了另一个神经网络从Transformer的输出直接产生原子的三维坐标。
要产生三维坐标,就要去处理蛋白质空间的旋转问题。
由于蛋白质空间可以旋转,训练产生的结构跟正式结构比较,就需要处理旋转或者平移的问题。当然,可以将蛋白质中心都设为原点,平移的问题可以不用管,但是旋转的问题要处理。
他们应当是利用了一个网络同时预测旋转和三维坐标。这两个网络都是比较新的技术,这是他们的创新之处。
有几个研究组包括我们自己也在研究Transformer在这个问题上的应用,也有些小组在研究怎么直接产生三维坐标,然而DeepMind是第一个找到正确方法的。但是我不认为仅仅靠这两个算法就能够做到现在这种程度,还有很多工程问题。
现在,所有的算法都是依靠同源序列,能不能产生非常好的同源序列非常关键。AlphaFold2的团队大概有30个人,里面专门有专家负责搜索同源序列,这项工作非常重要。因为如果同源序列找不好,结果也不可能很好。
因此,AlphaFold2的团队的成功之处在于,可以把所有重要的工作结合得非常好。
当然,算力也很重要。虽然他们宣称训练一个模型只需要一两百个GPU,训练两个礼拜就可以了。事实上,在找到正确的方法之前,要做无数的实验、测试不同的策略。做实验需要非常多的机器, 这样可以同时测试几个不同的想法。
30人的团队肯定不止有一个想法,这些想法的测试需要非常多的计算资源,这是学术界比不了的。30多人可以在一起互相讨论,看谁的想法好,很快就可以知道哪一种策略是成功的。
学术界通常是一个教授带一个小组,大部分都是学生,最多有一两个博士后,不可能得到那么快的反馈。这是学术界的一个劣势。
今后有没有可能有更好的算法?我相信应该会有,只是说好的程度到底有多少。AlphaFold2的团队已经做得非常好,提升空间还有,但是不像以前那么大。
例如,学术界能不能训练出一个模型,不需要那么多计算资源,就能把结构预测出来?能不能找到一个模型简单、但效果差不多的模型?
因此,未来的工作还是有进步空间,但是这个进步空间是从1到10,还是从0到1?从0到1的可能性不太大,也就是说,非常重大的原创性的突破可能很难,但还是有很多完善性的工作。
顺带一提,虽然很多人认为蛋白质结构预测的问题几乎被解决了,但要看怎么定义蛋白质结构预测:现在所有的方法都是基于同源序列,没有同源序列,大部分情况下都不可能做得那么好。
在自然界中,蛋白质折叠是不需要看有没有同源序列的,它是单独地折叠起来的。
能不能设计出一种算法,不需要通过使用同源序列就能把蛋白质结构预测出来,这是一个非常重要的问题,也是一个非常难的问题,这个问题有很多尝试的空间。
许东:的确,AlphaFold有全明星团队,有无穷的计算资源,而且注意力机制和Transformer就是他们自己提出来的,这是他们的本领,当然会做得比别人更顺手。
但即使这样,我认为AlphaFold2是有实质性创新的,并不是简单地在工程上做得更好。
许锦波教授讲到的Transforme、end-to-end,这些不是小的创新。所谓端到端的预测,能够跨越这些中间过程。
AlphaFold1跟AlphaGo1差不多,基本上是用这个领域里的算法做,就像AlphaGo用经典的棋谱来训练。而AlphaFold2到不了AlphaGo2的水平,但已经到了AlphaGo1.5的水准。
什么意思?AlphaFold2跨过了预测氨基酸空间距离的过程,直接预测坐标。很多人都想到这个问题,但目前实现的只有他们一家。
此外,AlphaFold2不仅能预测结构,还能预测可靠性。做序列比对的一个重要工具叫BLAST(全称Basic Local Alignment Search Tool,即“基于局部比对算法的搜索工具”)。
其重要突破在于,准确地说明对比的结果在生物学上有多靠谱。现在的AlphaFold2也能做到。
另外一点,AlphaFold2对构架进行了精美的调整,使用了一些迭代的机制。
此前我们在做蛋白结构实验时使用一种叫Multidimensional Scaling的方法,但是很长时间都无法成功,在改用迭代以后很快成功,他们把迭代做的非常好,
但是为什么目前达不到AlphaGo2.0的程度呢?AlphaFold2除了输入蛋白质本身的序列,还需要到蛋白序列数据库里寻找同源序列进行比对,推出进化关系来作为输入,
而AlphaGo2.0则不需要这类额外信息作为输入。这是因为AlphaFold2和围棋不一样,围棋可以通过无数次下棋比试来总结规律。
蛋白质结构只有17万个,虽然看起来很大,但对机器学习来说非常有限。所以,AlphaFold2现在无法达到AlphaGo2.0的水平。
今后,在达到这一水平后,一方面可以预测复杂的结果,另一方面会对蛋白折叠的路径机理有更加深刻的了解。
PS.由于全文篇幅较长,医健AI掘金志将讲座内容分为上、下两篇。
下篇中,着重讨论了AlphaFold2的产业应用前景、学术研究风向等“未来话题”。
推荐阅读
PyTorch 源码解读之 torch.autograd
Transformer为何能闯入CV界秒杀CNN?
谷歌提出Meta Pseudo Labels,刷新ImageNet上的SOTA!
SWA:让你的目标检测模型无痛涨点1% AP
CondInst:性能和速度均超越Mask RCNN的实例分割模型
centerX: 用新的视角的方式打开CenterNet
mmdetection最小复刻版(十一):概率Anchor分配机制PAA深入分析
MMDetection新版本V2.7发布,支持DETR,还有YOLOV4在路上!
CNN:我不是你想的那样
TF Object Detection 终于支持TF2了!
无需tricks,知识蒸馏提升ResNet50在ImageNet上准确度至80%+
不妨试试MoCo,来替换ImageNet上pretrain模型!
重磅!一文深入深度学习模型压缩和加速
从源码学习Transformer!
mmdetection最小复刻版(七):anchor-base和anchor-free差异分析
mmdetection最小复刻版(四):独家yolo转化内幕
机器学习算法工程师
一个用心的公众号