大家上午好,我是张强,来自浙江大学,非常荣幸有机会在外滩大会分享我们团队在图谱驱动科学发现方面的一些工作和想法。分享内容主要会围绕图计算、大模型相关的AI方法以及赋能生物和化学跨学科研究的进展。
一、图在AI for Science中大有可为
1、AI For Science发展背景
在自然科学研究的历史上,研究范式呈现出多样化的演变。范式:指的是基本的思维范式,为研究者提供问题解决的框架。
不同历史阶段的研究范式各具特点。在中世纪,研究多采用“试验与错误”的方法,通过不断尝试与分析获得结果;几百年前,像牛顿和爱因斯坦等科学家则更倾向于采用理论建模,解释物理世界的运转模式;随着计算机技术的快速发展,科学研究进入了以计算为核心的新范式;近十年来,深度学习和大数据的兴起,促进了AI赋能科学研究的发展模式。
2、AI For Science的重要性
AI在科学研究中的应用(AI For Science)正受到越来越多的关注。近年来,我国对这一领域的重视程度不断提升。2022年3月,科学基金委与科技部联合启动了AI For Science专项工作,旨在将人工智能与数学、物理、化学等基础学科深度结合,重点支持药物研发、基因研究、生物育种、新材料等领域的科学研究。
在国际上,AI在生物、气象和物理等领域也取得了一系列显著成果,许多研究成果发表在《Nature》和《Science》等知名期刊上。此外,产业界如达摩院也将AI For Science列为2022年重要的科技发展趋势。
这表明,无论是国际、国家还是产业层面,AI For Science的重要性均得到了广泛认可和重视。
3、AI 研究现状
我们回顾一下AI从业人员所面临的问题及其处理方式。AI本质上是统计机器学习或数据统计的应用,我们可以从数据类型、网络架构、学习任务、学习范式四个层面来总结现状。
1. 数据类型:
AI处理的数据主要包括一维序列、二维矩阵和三维结构。一维序列的典型应用有语言、语音以及生物学中的氨基酸序列;二维类型数据最常见的像是图像(image);而三维数据最常见的像视域领域的视频(video)。
2. 网络架构:
不同的数据类型对应不同的神经网络架构。常见的架构有多层感知机(MLP)、卷积神经网络(CNN)、循环神经网络(RNN),以及最近兴起的图神经网络(GNN)、Transformer和S4等。每种架构都针对特定的数据类型和任务设计了相应的归纳偏差(inductive bias)。
3. 学习任务:
有了网络架构后,我们需要利用数据进行模型训练。学习任务通常分为判别和生成两大类。判别任务包括分类和回归,而生成任务则涉及内容生成,如最近很火的AIGC。常见的模型包括自编码器(Auto-encoder)、生成对抗网络(GAN)、Seq2Seq、归一化流(Normalizing Flow)和分割模型(Diffusion Model)。
4. 学习范式:
在学习阶段,我们可以采用监督、半监督、无监督、弱监督以及强化学习等不同的学习范式。
从数据类型、网络架构、学习任务到学习范式,我们可以对当前AI研究的现状进行的归纳。
4、图在AI for Science的应用
在AI for Science领域,“图”的应用潜力深远,具体可从数据类型、模型架构和学习范式三个角度展开。
数据类型:一维序列、二维图和三维结构都可以看到图的影子。以二维为例,节点可以通连边的方式转化为二维形式。而在三维空间中,诸如点云和蛋白质原子坐标等数据同样可以转换为图结构,以便使用图学习(graph learning)或几何深度学习(geometric deep learning)进行处理。
模型架构:当前主流的模型架构包括基于序列的Transformer和图神经网络(GNN)。
学习范式:结合GNN可以实现多种学习策略,包括大规模图数据的预训练、社交学习、元学习和基于Transformer的学习。此外,还可以通过知识增强方法,以知识图谱对形式对人类专家的经验进行总结,并与现有的神经网络架构进行整合。
在“AI For Science”领域,图的应用可以从三个不同的层面进行整理:
1. 图是科学数据的有效表示手段:我们可以将输入数据表示为图。例如,化学结合的图(如分子结构图)、蛋白质相互作用图、以及细胞/晶体材料的三维结构等。
2. 图(谱)是专家知识(k)的结构化沉淀:我们可以整合额外的领域知识,以知识图谱的形式提供辅助输入,帮助我们更好地实现目标学习任务。例如,在蛋白质功能的知识图谱;在医疗领域,可以构建有关疾病、药物及其副作用的知识图谱。
3. 建立不同模态数据、学习任务之间的关联:图还可以用来架起不同模态数据或学习任务之间的桥梁,在参数空间影响模型对网络参数进行优化。在这一领域,我们团队在多模态科学大模型和基于图的药物分子属性预测等方面也有一定的积累。
二、图在AI for Science中的应用实践
1、科学数据的图表示工作
首先,我们关注的是科学数据的图表示工作。
1.1、分子图表示学习的域外泛化
在化学领域,一些化学分子可以通过图的形式表示,其中每个节点代表一个原子,节点间的边则代表化学键(如单键或双键等)。利用这种图表示形式,可以通过图神经网络对化学分子进行编码,从而进行如毒性预测或亲和力预测等任务。
目前,在分子图表示学习中,泛化能力较弱是一个瓶颈问题。一方面,训练集和测试集中分子的骨架和分布可能存在差异;另一方面,分子大小的变化,比如训练集中的分子量与测试集中分子量的不一致。都会降低模型的泛化能力。此外,在不同环境下训练好的模型放在另一个环境也会有性能的损失。
为了解决分子图表示学习泛化能力问题,我们提出了“先编码、后区分”的策略。例如,在判断某个分子是否有毒时,首先识别出可能导致毒性的官能团,并将其划分为不变子图(invariant subgraph)和伪子图(spurious subgraph )分别进行编码。尽管这一方法已有进展,但依然有待优化。因此,我们考虑另一种方式,“先编码、再区分”,即在隐空间中先对分子的毒性进行区分,然后再进行学习。
1.2、细胞通讯图谱
下一个例子是在生物领域运用图模型构建细胞间知识图谱(Cell-Cell KG)。以人体为例,不同细胞之间会互相影响。例如,一个细胞内某个基因的表达可能会导致另一个细胞内基因表达的增加或减少,体现出促进或抑制的作用。因此,细胞之间可以通过图的形式进行建模,涉及配体、受体、靶点等相关图谱元素。
我们于2018年、2019年开始这项工作,当时尚无太多人将图神经网络(Graph Neural Networks)应用于细胞或生物学的研究。因此,我们采用了相对简单的图网络在一些人体和小鼠的表达数据上进行实验,结果显示出相当不错的效果。
2、专家知识沉淀
第二类工作是从领域专家的知识积累与表达的角度出发。
2.1、化学元素知识图谱赋能分子属性预测
第一个例子是使用知识图谱表示化学元素及官能团的信息。在初中时,我们第一次接触化学是通过化学元素周期表。这个周期表在19世纪末由化学家们整理出来,按照元素的电子排布和金属性、非金属性等特性对地球上的化学元素进行了规律性表达。
然而,让神经网络理解存在一定困难。意识到这一点后,我们将其建模为图的形式,也称为知识图谱。在知识图谱中,我们构建了元素的本体和实体。本体包含基本的抽象概念,例如对于元素(Element),就包含一些金属元素和非金属元素等。此外,还包括化学官能团的信息表示。官能团可以看作是一个固定出现带有特定信息的子图,官能团对分子属性影响显著,例如羟基和羧基,会显著影响分子的酸碱性。构建完知识图谱后,我们将其引入到分子图的对比学习中,以提升分子属性预测的准确性。
2.2、基因本体知识赋能蛋白质功能预测
第二个例子展示了如何利用基因本体知识推动蛋白质相关研究。全球已发现的所有蛋白质的功能大致可以归纳为几百个类别,例如它们在细胞中的位置、可以催化哪些反应等。在生物学领域,科学家们已经对蛋白质功能进行了系统整理,这也被称为基因本体库(Gene Ontology),代表了领域专家的知识。
我们可以利用领域专家的知识来赋能蛋白质功能的预测。具体来说,当给定一条蛋白质序列时,我们希望预测该蛋白质的功能,我的标签就是蛋白质的催化能力或与其他目标蛋白的结合能力等等。有了知识图谱,我们可以在输入层面进行赋能。在输入序列的获得嵌入表示(Embadding)后,嵌入表示能够同时在基因本体库空间的语义空间进行对齐,也就是实现蛋白质序列空间与基因本体库空间语义信息与标签信息对齐。
2.3、氨基酸知识图谱赋能蛋白质设计
第三个例子是我们构建了一个氨基酸知识图谱,赋能蛋白质的优化和设计。一条蛋白质一定程度上可能满足我们日常需求,但其仍有提升空间,如何将蛋白质变的更好?
一种常见的方法是通过对其中某些氨基酸进行突变,将某种氨基酸替换为另一种。为了找到有效的突变方式,我们可以建立模型,利用氨基酸之间的属性信息,例如氨基酸的大小、亲水性和疏水性等。基于以上的信息,我们构建了名为AAKG的氨基酸知识图谱,涵盖了20种天然氨基酸的586个属性实体。通过将氨基酸知识实体去赋能强化学习,在对某一氨基酸进行突变后,可能需要进一步对另一个氨基酸进行下一步突变,这个过程涉及马尔可夫决策过程的问题,利用知识图谱可以在一定程度上规范该动作空间,从而更有效地训练强化学习模型。
3、跨模态、多任务学习
第三个应用场景是利用图技术进行多任务和多模态数据建模。
3.1、少样本多标签的元学习
第一个例子是我们对化学分子及其属性信息构建了一个多标签图。在观察化学分子的属性时,我们发现某种分子可以同时具备多种属性,而某一属性也可能被多种分子所拥有。因此,这里形成了一个二部图,其中每个圆代表一个分子,每个三角形代表一个属性。通过这样的二部图,我们能够有效建模分子与其属性之间的关系。
在传统的少样本学习中,每个训练回合(episode)是相互独立的。然而,有了这样一个图,这种独立性就被打破了。这意味着我们无法像以前那样,依靠记忆等常见的原学习方法来解决少样本问题。因此,我们设计了一种调度采样(schedule sampling)的方法。我们将对整个大图中的某一部分子图进行采样,并在采样第一个子图后,判断接下来应该采用哪个子图,以提高模型训练过程的效率。
3.2、人类语言-蛋白质语言大模型
第二个例子是我们希望利用图谱实现不同模态的科学语言对齐。当前的一些大型语言模型在处理人类语言方面已经表现得相当出色,尽管仍然存在一些问题,但总体来讲是相当不错的。然而,让大语言模型理解蛋白质序列和基因序列则比较困难,主要是因为它们没有接受相关领域的语料做训练。因此,我们希望能够扩展通用大型语言模型在处理科学语言方面的能力和边界。
例如,我有一个问题:在智人(Homo sapiens)身上发现了一条蛋白质序列,名为MOTS-c,其基因为MT-RNR1,并且可以得到其氨基酸序列。现在,如果我问大型模型:“这个蛋白质的溶解性是什么样?”可能GPT-4会感到困惑。尽管它可能知道“智人”用英语表示的意思,并对“MOTS-c”有一定理解,但它未必能理解氨基酸序列(如MRWOE...)背后代表的生物语义信息。甚至在基因层面,它也难以理解与脱氧核糖核苷酸/核糖核苷酸相关的序列信息所代表的差异。我们的目标是让大型模型在理解自然语言的基础上,同时理解蛋白质和基因语言。
为此,我们构建了一个语料库,涵盖人类语言、蛋白质序列等多种相关语言,以知识图谱的形式呈现。例如,在图谱中,包含了氨基酸序列及其家族信息,并通过连边展示蛋白质序列与其标签之间的关系。通过知识图谱,我们可以判断某个蛋白质具备的功能或所属家族,这实际上是一个知识图谱补全的问题。有了这一知识图谱后,我们能够采样出许多三元组,将这些三元组转化为多种指令,并用这些指令来训练我们的模型。我们基于Llama2进行的训练,已经在实现人类语言与蛋白质语言之间的相互转换上取得了良好效果。
3.3、智能科学助手
我们在智能科学助手方面也进行了一些探索,当前的助手(copilot)在代码完成、通用生活助手等领域表现都不错。然而,在科学研究领域,科学家们在日常科研工作中会频繁调用各种计算工具,例如生物学、化学和材料科学领域的专用工具,这些工具包括序列检索、结构预测和动力学模拟的工具等,实际上它们并不是孤立的,而是通常需要相互配合以解决复杂的科学研究问题。
在我们的早期尝试中,使用了一些现有的工具调用框架和模型,发现在科学研究领域结果并不理想。于是,我们决定建立一个工具之间的图(graph),以阐明它们之间的依赖关系。每一个工具会有自己的输入和输出,会有自己的功能,也会有自己的描述。这些工具之间会通过一些边连接起来,比如说某一个工具的输出是下一个工具的输入等等。
有了这样的图之后,我们开始尝试利用它来实现一些助手的功能。当科学家提出工具调用请求时,我们需要在工具库中进行检索并构建一个思维图或思维树。基于这一探索,我们提出了一个概念,称为“工具链”(Chain-of-Tools)。这个概念是说对工具之间的一个依赖关系,通过链或者图的形式去做依赖性的建模,从而更好的实现工具调用,去完成复杂的科学任务。
三、总结
最后做一个总结,我本身是做组织图谱跟大语言模型的AI方面研究的,同时在浙江大学去做一些AI跟生物化学材料等学科的跨学科研究工作。从AI从业人员的角度来看,图对于处理科学数据、处理科学任务有非常广泛的应用,我们可以用图去建模数据,去表示数据跟数据之间的一些交互的关系。同时,图也是领域科学知识结构化的积累。并且图模型跟大语言模型可以相互补充,去促进科学研究中比如物质的预测、物质的生成等。甚至是作为更广泛的助手角色去赋能科学发现。
👇完整视频回放
欢迎关注TuGraph代码仓库✨
https://github.com/tugraph-family/tugraph-db
https://github.com/tugraph-family/tugraph-analytics