圖神經(jīng)網(wǎng)絡(luò):搞定金融詐騙與預(yù)測蛋白質(zhì)功能
照片由 Conny Schneider 拍摄并发布在 Unsplash 上
金融交易网络和蛋白质结构之间有什么共同之处?它们在欧几里得(x,y)空间中都无法很好地建模,需要对这样的复杂的、庞大的和异构的图进行编码才能真正把握。
左:欧几里得空间中的图像(图片)。右:非欧几里得空间中的图表。引自《图神经网络:方法与应用综述》
图是表示关系数据的自然方式。它们捕捉了实体之间的关系和互动,例如金融系统中账户之间的交易或蛋白质中氨基酸之间的键和空间接近性。然而,更为人熟知的深度学习架构,如RNNs/CNNs和Transformer,未能有效建模图。
你可能想问,为什么我们不能把这些图放到3D空间里?如果我们硬要把它们塞进一个3D网格的话,
- 我们会丢失边缘信息,比如分子图中的键类型或交易类型。
- 映射可能需要填充或调整大小,从而导致变形。
- 稀疏的3D数据会导致许多未被使用的网格单元,从而浪费内存和处理能力。
鉴于这些限制,图神经网络(GNNs) 成为了一种强大的替代方案。在我们关于生物应用的机器学习系列的系列文章的下一篇文章中,我们将探讨 GNNs 如何解决这些难题。
一如既往,我们将从更为熟悉的欺诈侦测领域开始谈起,然后了解这些概念在生物学中的应用。
欺诈检测为了说得一清二楚,让我们首先定义什么是图。我们记得在小学时曾在x, y轴上画过图,实际上我们在画的是一个函数图像,也就是画出了f(x)=y的点。当我们谈到GNN中的“图”时,这里指的是用来建模对象之间成对关系的结构,其中每个对象都是一个节点,关系则表现为边。
在一个金融网络里,节点是账户,边代表交易。这个网络可以通过关联方交易(RPT)构建,并且可以通过添加时间、金额和货币等属性来丰富。
左:函数的图像(我们不是要讨论的内容)(2024年3月15日)。右:有节点和边的图(我们讨论的内容)(2024年10月25日)。这两项内容均来自维基百科。https://en.wikipedia.org/wiki/Graph_of_a_function https://en.wikipedia.org/wiki/Graph_theory
传统的基于规则和机器学习的方法通常仅针对单一的交易或实体。这种局限性没有考虑到交易如何与更广泛的网络相连。由于欺诈者通常跨越多个交易或实体进行操作,欺诈行为因此可能被忽略。
通过分析图,我们可以捕捉直接邻居以及更远连接之间的依赖关系和模式。这种技术在洗钱检测中非常重要,因为在洗钱过程中,资金会通过多次交易来模糊其来源。GNNs 可以揭示洗钱过程中形成的密集子图。
相关方交易网络示例来自《用GNN检测相关方交易网络中的金融欺诈》(Using GNN to detect financial fraud based on the related party transactions network)
消息传递架构:像其他深度学习方法一样,目标是利用数据集创建表示或嵌入。在图神经网络(GNNs)中,这些节点嵌入是通过消息传递框架创建的。消息在节点之间来回传递,这种传递是迭代的,使模型能够学习图的局部结构以及整体结构。每个节点的嵌入是通过聚合邻居节点的特征来更新的。
框架的泛化如下:
- 初始化:嵌入向量 hv(0) 使用结点的特征嵌入、随机生成的嵌入或预训练嵌入(例如,账户名称的词嵌入)进行初始化。
- 消息传递:在每一层 t,结点与其邻居结点交换消息。消息被定义为发送方结点的特征、接收方结点的特征以及连接它们的边的特征通过一个函数组合而成。组合函数可以是一个简单的带有固定权重连接方式的连接(如GCNs(图卷积网络)所使用),也可以是加权注意力,其中权重根据发送方和接收方(可选地包括边的特征)的特征进行学习(如GATs(图注意力网络)所使用)。
- 聚合:在消息传递步骤之后,每个结点通过简单的操作(如平均值、最大值或求和)聚合接收到的消息。
- 更新:聚合的消息通过一个更新算法(可能使用多层感知机MLP如ReLU、门控循环单元GRU或注意力机制)更新结点的嵌入。
- 最终化:嵌入在表示稳定或达到最大迭代次数时完成,和其他深度学习模型一样。
在消息传递神经网络(MPNN)层中的节点表示更新。节点接收来自所有直接邻居的消息。这些消息通过消息函数进行计算,该函数考虑了发送者和接收者的特征。图神经网络。 (2024年11月14日). 在维基百科中。 https://en.wikipedia.org/wiki/Graph_neural_network
在学习节点嵌入之后,可以通过几种不同的方式计算欺诈分数:
- 分类: 最终嵌入被送入像多层感知器(MLP)这样的分类器中,这需要一个全面的历史带标签训练集。
- 异常检测: 嵌入根据其与其他嵌入的差异性被分类为异常。这里可以使用基于距离的评分或重构误差等无监督方法。
- 图级别评分: 嵌入被池化成子图,即,传递给分类器以便检测欺诈圈。(同样需要一个带标签的历史数据集)
- 标签传播: 一种半监督方法,标签信息根据边权重或图的连通性传播,以预测未标记节点。
现在我们对GNN在熟悉问题上的基础有了了解之后,我们可以来看看GNN的另一个应用场景:预测蛋白质的功能作用。
蛋白质功能的预测我们通过AlphaFold 2 和 3 在蛋白质折叠预测方面取得了巨大进展,同时也通过RFDiffusion 在蛋白质设计方面取得了进展。然而,蛋白质功能预测仍然具有挑战性。功能预测对于许多方面都至关重要,特别是在生物安全领域,预测DNA是否具有孤雌生殖能力尤为重要,这需要在测序之前进行预测。像BLAST这样的传统方法依赖于序列相似性搜索,并没有利用任何结构数据。
今天,GNNs 正开始在这个领域取得实质性的进展,通过利用蛋白质的图谱表示来建模残基之间的关系和相互作用。这被认为非常适合用于蛋白质功能预测、识别小分子或蛋白质的结合位点以及根据活性位点的几何形状来分类酶家族。
在许多情况下:
- 节点被建模为氨基酸
- 边表示它们之间的相互作用
这种方法背后的逻辑是图能够捕捉在序列上相距较远但在折叠结构中相互靠近的残基之间的长程相互作用。这与为什么变压器架构对AlphaFold 2如此有帮助类似,它允许在序列中所有成对之间进行并行计算。
为了让图形信息密集,每个节点可以包含诸如残基类型、化学性质或进化保守性分数等特征。边可以选择性地包含诸如化学键种类、在三维空间中的接近度、静电或疏水作用等属性。
DeepFRI 是一种图神经网络(GNN)方法来从结构预测蛋白质功能(具体来说,它是一种图卷积网络(GCN))。GCN 是 GNN 的一种特定类型,它将卷积(如在CNN中使用的)概念扩展到图数据上。
DeepFRI 图:LSTM语言模型在大约200万个Pfam蛋白质序列上进行了预训练,用于提取PDB序列的残基特征。(B)GCN,包含3个图卷积层,用于学习复杂结构-功能关系。出自《使用图卷积网络进行结构导向功能预测》
在 DeepFRI 中,每个氨基酸残基都作为节点,具有丰富的属性,如:
- 氨基酸类型
- 物理化学性质
- 来自MSA的进化信息
- 预训练LSTM的序列表示
- 比如溶剂可及性这样的结构信息
每条边都定义用于捕捉蛋白质结构中氨基酸残基之间的空间关系。如果两个节点(残基)之间的距离小于某个阈值,通常为10 Å(埃),则它们之间存在一条边。在此应用场景中,边没有额外属性,仅仅作为简单的连接存在。
该图通过由LSTM生成的序列嵌入、特定残基的特征以及从残基接触图生成的边信息进行初始化。
一旦图被定义,消息通过基于邻接矩阵的卷积在每一层传递。节点特征通过图的邻接矩阵从邻居聚集而来。通过堆叠多个GCN层,嵌入能够捕获来自越来越远的邻居的信息,从直接邻居扩展到间接邻居等。
最终的节点嵌入通过全局池化生成蛋白质级别的嵌入,该嵌入用于将蛋白质分类到功能类别(GO术语)中。分类是通过具有 sigmoid 激活函数的全连接层(密集层)进行,并使用二元交叉熵损失函数优化。分类模型是在来自蛋白质数据库(例如蛋白质数据中心(Protein Data Bank))的数据以及来自 UniProt 或基因本体论(Gene Ontology)等数据库的功能注释上进行训练的。
最后- 图对于建模许多非线性系统非常有用。
- GNNs通过结合局部和全局信息,能够捕捉到传统方法难以捕捉的关系和模式。
- 虽然GNNs有许多变体,但目前最重要的两种是图卷积网络和图注意力网络。
- 无论是监督学习还是无监督学习,GNNs都能高效且有效地识别洗钱方案中的多跳关系。
- GNNs可以通过引入结构数据来改进仅基于序列的蛋白质功能预测工具,例如BLAST。这使得研究人员能够预测与已知蛋白质序列相似度较低的新蛋白质的功能,这对于理解生物安全威胁及促进药物发现至关重要。
如果喜欢的话,看看我其他关于机器学习和生物学的文章。
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章