当前位置: 模型材料 >> 模型材料介绍 >> 用训练BERT的方法解码蛋白质,我们能读
大数据文摘出品
来源:CSAIL
编译:王转转、赵吉克、钱天培
毫无疑问,BERT在自然语言处理(NLP)领域取得了巨大的成功。
使用未经标记的数据集进行训练,可以得到能学会复杂的语言表示形式的大规模模型。
那么,我们是否可以将类似的研究方法应用于生物学序列中,尤其是蛋白质序列?
如果可以,在这些生物学家感兴趣的的问题上,比如对蛋白质进行建模预测,新的研究方法能够在多大程度上提高预测模型的表现呢?
最近,伯克利人工智能研究室的NeilThomas等人顺着这一思路,将BERT引进到了生物领域。
NLP领域的这一成果对蛋白质研究有何重要意义呢?我们一起来看。
万能的蛋白质
首先,让我们先来认识一下蛋白质。
蛋白质几乎是万能的。在你阅读本文时,你血液中的血红蛋白正在将氧气移动到肌肉中,转运蛋白正在泵送钠以产生神经元激发所需的动作电位,而眼睛中的感光蛋白正在区分这句话中字母的边界。
了解什么因素会破坏蛋白质的自然功能,可以帮助我们了解疾病的分子基础,并帮助我们找到更好的治疗方法。
自然进化的蛋白质网络发挥必要的功能以维持生命,而人工开发的蛋白质可以被拼接到细菌基因组中以产生胰岛素,降解塑料废品并生产出洗衣粉。
了解如何修改蛋白质以适应用户定义的功能,可以帮助提高生产效率,并开发具有全新功能的蛋白质。
蛋白质导论:如果你把高中学的都忘了
蛋白质是由共价键连接的氨基酸的线性链。一共有20个标准氨基酸,这些标准氨基酸字母使我们可以把蛋白质标记为一串序列,就像我们对英语句子进行编码一样。这种离散序列表示称为蛋白质的主要结构。
用氨基酸“字母”序列表示的蛋白质片段
然而,在细胞中,蛋白质是一种三维分子对象。由于蛋白质的功能是通过和蛋白质结构进行物理和化学作用而完成的,因此摸清蛋白质的3D结构是了解其生物作用的关键。蛋白质的局部几何体为二级结构,在蛋白质不同部分的行为中起着作用。蛋白质的全局几何结构为三级结构,它决定了蛋白质的整体行为。
不同尺度的蛋白质结构:初级结构(序列)、二级结构(局部拓扑)和三级结构(全局拓扑)。
蛋白质究竟发挥什么作用?
假如我们给了你下面这个序列。
你的目标是为序列中的每个位置给出对应于其生理构象的3D坐标。对于上述序列其结构如下所示。
从水母Aequoreavictoria中分离出的绿色荧光蛋白(GFP)的3D结构,其中颜色渐变表示序列中从头到尾的索引。
这是生物化学所面对的一个最根本性的挑战,也许是我们所面临的最困难的预测任务之一。因而DeepMind也加入了对这个问题的研究中。
对此问题进行监督学习,我们需要标记。
在这种情况下,标记的蛋白质是分子中每个原子的三维坐标。标记单个蛋白质是劳动密集型、资源密集型和耗时过程的结果,只能由专家执行。每年,我们会弄清越来越多的蛋白质的结构,但与蛋白质结构的数量相比,蛋白质序列的数量呈指数级增长。
序列数据库呈指数级增长,目前UniParc中约有,,个序列,蛋白质数据库(PDB)中约有,个结构。
这个时候,显然我们需要引入一些外部信息。
爱上未标记数据
好消息是,根据您使用的数据库不同,有大量未标记的蛋白质序列可供参考,从数千万到数亿不等。如果我们能从这些大型数据库中提取有用的信息,它们就能为我们提供强大的信号源。
目前使用这些数据库的主要范例是序列对齐。我们获取查询序列并针对整个数据库进行扫描,查找与进化相关的其他表亲序列(即共同遗传祖先的后代)。在最简单的情况下,如果我们找到具有已求得的结构的表亲序列,我们可以将该表亲的结构映射到查询序列的对齐位置。
GFP蛋白系列的部分序列对齐。水母Aequoreavictoria并不是唯一产生绿色荧光蛋白的有机体。上图给出了其他物种的荧光解决方案,如海面、柳叶草和马铃薯真菌。
最左侧的那列给出了序列的ID,之后是对齐表示的序列位置。颜色对应于基于生物物理特性的氨基酸分组:紫色表示疏水性(C,A,V,L,I,M,F,W),红色表示带电(D,E,R,K),绿色表示极性以及未充电uncharged(S,T,N,Q)等。颜色一致的列表示进化保留的位置。点(.)和破折号(-)对应于间隙,即观察到插入或删除的位置。
进化关系为我们带来了什么?
进化是受约束的;如果对蛋白质的修饰导致其结构被打乱,生物体将失去这种功能并受损。因此,我们希望从数据库中提取的表亲集告诉我们,进化在哪里有自由统治,哪里有回旋的空间,哪里被完全制约。这些蛋白质系列的表示,被恰如其分地称为多序列对齐,是蛋白质结构预测管道的关键输入。直观地讲,在3D空间中接近的位置将共同演化,即一个位置的突变通常与另一个位置的容纳性突变同时发生。
这个主题有很多变体,但都归结为使用进化模型来查询相关序列或直接从模型中提取要素。和往常一样,进化为思考生物问题提供了一个强大的范例!
通过自我监督学习蛋白质语言
大型语料库...难以获得标签...序列标签...听起来很熟悉吗?
没错,生物序列的所有这些特性都表明与NLP有直接的类比。NLP最近的一大突破是使用自我监督的预训练,这是一种从未标记的数据中获得标签的方法。
来看个例子,我们可以随机屏蔽了一个部分。被屏蔽的序列是我们神经网络模型的输入。
使用变压器进行屏蔽语言建模。我们在一个巨大的语料库上重复这个屏蔽过程,为每个单词学习丰富的,参考上下文的特征。(JayAlammar的IllustratedBERT)
我们的模型输出了一个关于词汇的概率分布,对应于屏蔽下的单词出现的概率,并使用交叉熵损失来惩罚我们的模型预测错误的单词。通过观察大量这样的序列,如谷歌的BERT和OpenAI的GPT-2一类的模型通过序列学习。这些序列可以很好地转移到各种涉及语法和语义的下游任务。
对于蛋白质,我们可以在氨基酸水平上做类似的事情。我们抽取一种已知的蛋白质,如荧光GFP:
MSKGEELFTGVVPILVELDGDVNGHKFSVS...
随机屏蔽住一部分,
MSKGE?LFT?VVP?ILVELDGDV?GHKFSVS...
并让模型填充剩余部分。
一旦我们有了预先训练的模型(例如BERT),我们就将任务特定的模型放在顶部。在这里,我们训练了一个蛋白质结构预测器,它获取了我们预先训练的模型所学的特征。
为什么这种语法是可学习的?套用MohammedAlQuraishi的一个想法,通过检查原始序列来预测蛋白质特性的能力是基于语言假说的:
自然产生的蛋白质的空间占据着一个可学习的流形。这种流形产生于进化压力,这些压力在很大程度上鼓励在许多尺度上重用组件:从二级结构的短图案到整个球状域。
由于我们谈论的是复制遗传物质,这个假说可以更简单地被概括为莱勒-洛巴切夫斯基原则:
复制、复制、复制
通过观察许多序列,我们的模型可以隐性了解蛋白质的构造方式:比如序列中重复使用的部分、位置对之间的相互作用以及进化保护区域。原则上,这可能带来巨大益处。自监督为我们提供了一种在距离较远的蛋白质组之间传输信息的方法。如果对齐不能描述数据库中代表性不足的蛋白质家族,自监管模型可以使用从其他蛋白质家族中学到的部分信息来提供信息性特征。
许多课题组同时产生了这一想法,产出了一系列应用语言建模预训练蛋白质的工作成果。每个实验都使用不同的预训练语料库,使用不同的计算预算,并评估不同的下游任务。为了评估蛋白质转移学习的自监督状态,我们控制了每个变量并发展了TAPE:对蛋白质嵌入的评估任务,我们的灵感来自于粘性NLP基准GLUE。在TAPE中,我们针对各种困难的下游任务对从蛋白质和NLP文献中提取的各种自监管模型进行基准测试。我们的训练和测试数据经过仔细选择,以测试有意义的生物泛化。
自我监督学习真的有用吗?
作为一个案例,我们将设计一种更亮的荧光蛋白。绿色荧光蛋白(GFP)由于其独特的化学组分而在可见光谱中显现出荧光。这使得绿色荧光蛋白(GFP)乃至其他荧光蛋白在作为体外传感器时特别有效。生物学家可以用绿色荧光蛋白标记其他感兴趣的蛋白质,然后观察它们如何在细胞中分布,或者量化它们在不同条件下的数量。
改变其氨基酸组成(即,改变氨基酸序列中的一个字母)(注:即替换蛋白质中的一个氨基酸)会改变蛋白质的荧光性质。大多数的修饰都会破坏荧光,而且和原序列差距越大,就越不可能维持原蛋白功能。确定对蛋白质进行何种修改以优化特定的功能被称为蛋白质工程。蛋白质工程有诸多应用,如增强流感抗体的效力,或是增加材料合成的生化催化剂的产量。
一个蛋白质工程预设的泛化设置——首先观察小的扰动(左侧),再扩展到较大的序列扰动(右侧)。当移除原绿色荧光蛋白(GFP)序列中的一个氨基酸后,观测到荧光蛋白质的概率急剧下降,在训练集和测试集上呈现剧烈的分布变化。
当允许更多的修改时,蛋白质变体的可能性组合数量会出现爆炸性增长。单一位点的修改有20种可能。即使只允许绿色荧光蛋白(GFP)序列的个氨基酸中有5个位点改变,我们就能得到万个新的蛋白质,这远远超过了在实验室中合成或制造的数量。理想情况下,我们希望能够在(在序列空间中)相近的蛋白质变体上训练一个模型,然后筛选更不相近的变体,以此来优化我们想要的功能,在本例中即为“荧光”。为了能有效配置有限的实验资源,我们希望对变体按照成功的可能性降序排列。
预训练必须有用!
我们的模型对每个氨基酸在蛋白质序列中的嵌入位置进行学习。对序列中每个氨基酸的嵌入位置向量进行平均化操作允许我们为每个绿色荧光蛋白(GFP)变体生成一个全局表征。
绿色荧光蛋白变体的转换器学习到的用于序列嵌入的t-分布领域嵌入算法(t-distributedstochasticneighborembedding,t-SNE),基于荧光亮度的对数染色。
我们所研究的嵌入体在荧光变体和非荧光变体之间有明显的区别。定量地说,针对序列嵌入的预训练监督模型在测试集中荧光预测的斯皮尔曼相关系数为0.68,远远超过我们的基准特征化——氨基酸的独热编码(one-hotencoding)),基准斯皮尔曼相关系数为0.14。如果我们采用之前的序列比对,我们可以通过计算每个位点的熵来得出每个位点的“重要性”。一般来说,一个低熵位点的改变更有可能破坏蛋白质的功能,在本例中意味着降低荧光效果。
Sarkisyan等人报道了斯皮尔曼(Spearman)的rho值为0.4,报告了位点的熵与该位点的突变体的平均荧光的等级存在相关性(斯皮尔曼相关系数=0.4),这支持了我们的直觉。这也表明,我们的模型可能已经学习了除了每个位点的熵以外的指征,例如位点之间稳定性的相互作用。
但这也留下了很多问题
让我们再来看另一个接触预测的案例。
左图为杆状蛋白结构,右图为接触图的可视化。氨基酸间距离小于8被认为是在接触。
接触预测即对每一对氨基酸贴上一个0/1的标签,其中1表示这对氨基酸在蛋白质的3D结构中是接近的(8)。精确的接触图提供了强大的全局信息,并有助于改进整个蛋白质的3D结构建模。
铁蛋白1A链的真实接触和预测接触。左图是真实接触图,中间是来自未经训练的LSTM的预测接触图,右图是来自经过训练的LSTM的预测接触图。蓝色像素代表TruePositive,红色像素代表FalsePositive,颜色的深浅代表模型预测的置信度。
定性地说,接触预测在有预训练时变得更敏锐,即该模型对正确预测接触位置的置信度更高并且减少了低泛接触预测错误的可能性。当然,它也会犯错,尤其是真实接触位置附近的区域。预训练带来的帮助贯穿于所有基准测试任务和所有模型中:与只访问监督下游任务的无预训练模型相比,在一个大型蛋白质序列库中进行预训练会对结果起到实质性帮助。
如果移除预先训练好的模型,并使用基于多重序列对齐的特征(例如对齐每一列氨基酸的边缘频率)替换输入序列,我们就可以评估下游算法的准确性。这些序列的特征是不需要学习的,相反地,序列是使用以学习“什么组成了有进化学意义的关系”为目的的硬编码启发式算法来构建的。
使用基于路线特征时的预测模型示意图。我们的预训练模型已被未学习的功能所取代。
左图是某一蛋白质的真实接触图,中间是基于对齐特征的模型预测的同一蛋白质的接触,右图是经过预训练的LSTM的预测结果。
基准测试的一个有趣的结果是,(非神经)经过对齐的特征大大优于通过结构性任务的自监督预训练获得的特征。我们可以定性地看到,基于对齐特征的预测接触图更清晰,并且预测了被有预训练的LSTM完全遗漏的接触。为什么基于对齐特征的训练结果优于自监督的特征尚未有答案,但这表明改进预训练任务和架构以充分利用蛋白质序列数据很有潜力。
蛋白质研究将迎来“无监督”革命
我们认为这是机器学习蛋白质过程中一个激动人心的时刻。更好的蛋白质建模不仅可能对现实世界产生巨大影响,它也是一个有趣的机器学习挑战。
蛋白质是由可变长度的长序列折叠成紧凑结构形成的,这可能导致数十上百个单位的分离氨基酸之间的相互作用。我们的大部分知识都集中在特征明确的蛋白质上,因此填补序列之间采样不密集的空穴(被称为“暗蛋白质组”)是模型推广的一个独特挑战。作为自监督学习的试验场,蛋白质因为序列数据的收集速度远远超过实验表征的速度而卓有成效。
综上所述,我们认为机器学习从业者用蛋白质数据做实验的时机已经成熟了。
最后,本研究的所有代码都可以GitHub上找到。
参见以下链接: