论文题目:OntoProtein: Protein Pretraining With Gene Ontology Embedding
本文作者:张宁豫(浙江大学)、毕祯(浙江大学)、梁孝转(浙江大学)、程思源(浙江大学)、洪浩森(浙江大学)、邓淑敏(浙江大学)、连佳长(浙江大学)、张强(浙江大学)、陈华钧(浙江大学)
发表会议:ICLR 2022
论文链接:https://arxiv.org/pdf/2201.11147.pdf
代码链接:https://github.com/zjunlp/OntoProtein
一、引言
二、蛋白质预训练
蛋白质是控制生物和生命本身的基本大分子,对蛋白质的研究有助于理解人类健康和发展疾病疗法。蛋白质包含一级结构,二级结构和三级结构,其中一级结构与语言具有相似的序列特性。受到自然语言处理预训练模型的启发,诸多蛋白质预训练模型和工具被提出,包括MSA Transformer[1]、ProtTrans[2]、悟道 · 文溯[3]、百度的PaddleHelix等。大规模无监督蛋白质预训练甚至可以从训练语料中习得一定程度的蛋白质结构和功能。然而,蛋白质本质上不同于自然语言文本,其包含了诸多生物学特有的知识,较难直接通过预训练目标习得,且会受到数据分布影响低频长尾的蛋白质表示。为了解决这些问题,我们利用人类科学家积累的关于蛋白质结构功能的海量生物知识,提出融合知识图谱的蛋白质预训练方法。下面首先介绍知识图谱构建的方法。
三、基因知识图谱
我们通过访问公开的基因本体知识图谱“Gene Ontology(简称Go)”,并将其和来自Swiss-Prot数据库的蛋白质序列对齐,来构建用于预训练的知识图谱ProteinKG25,该知识图谱包含4,990,097个三元组, 其中4,879,951个蛋白质-Go的三元组,110,146 个Go-Go三元组,并已全部开放供社区使用。如下图所示,基于“结构决定功能”的思想,如果在蛋白质预训练过程中显式地告诉模型什么样的结构具备什么样的功能,显然能够促进如蛋白质功能预测、蛋白质交互预测等任务的效果。
四、融入基因知识图谱的蛋白质预训练:OntoProtein
基于构建好的知识图谱,我们设计了一个特殊的蛋白质预训练模型OntoProtein。注意到在预训练输入中包含两种不同的序列:蛋白质序列和描述蛋白质功能、生物过程等的文本描述信息。因此,我们采取两路不同的编码器。对蛋白质序列我们采用已有的蛋白质预训练模型ProtBert进行编码,对文本序列我们采用BERT进行编码。为了更好地进行预训练和融合三元组知识信息,我们采用了两个优化目标。首先是传统的掩码语言模型目标,我们通过随机Mask序列中的一个Token并预测该Token。其次是三元组知识增强目标,我们通过类似知识图谱嵌入学习的方式来植入生物学三元组知识,如下公式所示:
五、实验分析
六、小结与展望
当下蓬勃兴起的 AI for Science 正在促使以数据驱动的开普勒范式和以第一性原理驱动的牛顿范式的深度融合。基于“数据与知识双轮驱动”的学术思想,我们在本文中提出了融合知识图谱的蛋白质预训练方法OntoProtein,并在多个下游任务中验证了模型的效果。在未来,我们将维护好OntoProtein以供更多学者使用,并计划探索融合同源序列比对的知识图谱增强预训练方法以实现更优性能。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击阅读原文,进入 OpenKG 网站。