Relational Graph Transformers:关系型数据 AI 的新前沿
Federico Lopez
在企业数据领域,最有价值的洞察通常不在于单个表格,而在于它们之间复杂的关联关系。客户互动、产品层级、交易历史——这些相互连接的数据点讲述了丰富的故事,而传统的机器学习方法难以完全捕捉。 Relational Graph Transformers 应运而生:这是一种突破性的架构,正在改变我们从关系型数据库中提取智能的方式。
Relational Graph Transformers 代表了 Relational Deep Learning 的下一个进化方向,允许 AI 系统无缝地浏览并学习分布在多个表中的数据。通过将关系型数据库视为其固有的丰富、互连的图结构,这些模型消除了对大量特征工程和复杂数据管道的需求,这些传统上减缓了 AI 的采用。
这不仅仅是一个渐进式的改进,而是对 AI 与业务数据交互方式的根本性反思,带来了显著的成果:
- 相比传统方法,价值实现时间缩短 20 倍
- 通过更深入地理解关系上下文,准确率提高 30-50%
- 数据准备工作量减少 95%
在这篇文章中,我们将探讨 Relational Graph Transformers 的工作原理,为什么它们特别适合企业数据挑战,以及它们如何已经在客户分析、推荐系统、欺诈检测和需求预测等应用中掀起革命。
无论您是希望突破可能性的数据科学家,还是希望释放组织数据资产全部潜力的业务领导者,Relational Graph Transformers 都是您 AI 工具包中一个强大的新工具。
本文是关于 Graph Transformers 系列的一部分。如果您想了解更多关于实际应用中的 Graph Transformers,请参阅我们之前的文章 “An Introduction to Scalable Graph Transformers”。
从关系型数据库到图
关系型数据库是世界上最常见的数据格式之一,尤其是在商业环境中。它们以结构化的格式跨多个表存储信息,外键关系定义了一个表中的实体如何与另一个表中的实体相关联。虽然传统的 ML 模型通常难以从这种多表设置中提取有意义的模式,但 Relational Deep Learning 重新定义了问题:我们不是将表扁平化为特征向量,而是将整个数据库转换为图——一种更具表现力,可以学习复杂关系的形式。
让我们逐步分解这种转换。
步骤 1:理解关系型数据库
我们从由一组表和一组链接定义的数据库开始,这些链接描述了表之间的外键关系。每个链接表示一个表中的外键指向另一个表中的主键。
表中的每一行都被视为一个实体,包含四个组成部分:
- 唯一标识它的主键。
- 将其链接到其他表中行的外键集合。
- 包含其描述性内容的属性集合(例如,名称、价格、图像)。
- 如果该行记录随时间发生的事件,则可以选择包含时间戳。
步骤 2:创建 Schema Graph
在跳转到实体级别图之前,我们首先构建一个 schema graph ——数据库的高级蓝图。在这个图中,节点是表,边表示外键关系(及其逆关系),确保每个表都是可达的。此 schema graph 有助于定义将在下一步中出现的节点和边的类型:实体图。
步骤 3:构建关系型实体图
现在,我们构建关系型实体图,其中:
- 每个节点对应于数据库中的一行(实体)。
- 每条边根据外键链接连接实体。
这个图是异构的:每个节点和边的类型都基于 schema graph,允许模型区分,例如,Customer 节点和 Product 节点,或者 purchased 边和 viewed 边。
通过将关系型数据库转换为结构丰富的图,我们使深度学习模型能够直接对底层关系进行推理——无需扁平化、连接或特征工程。这种转换保留了原始数据的语义,尊重其结构,并支持异构和时间建模。
这是 Relational Graph Transformers 运行的基础:一种图原生、schema 感知且模式灵活的输入空间,释放了深度学习对关系型数据的全部表达能力。
(a) Schema graph:表作为节点,边来自外键链接。(b) 实体图:各个行作为节点,通过 schema 定义的边连接,带有时间戳以用于时间上下文。
Relational Graph Transformers
Graph Transformers 在研究中获得了关注,尤其是在分子建模等应用中,其中图相对较小且结构化。然而,它们在大型、现实世界的工业环境中的应用仍然有限。大规模部署标准 Graph Neural Networks 已经是一个巨大的挑战,而 Relational Graph Transformers 在计算成本和可扩展性方面都引入了额外的复杂性。在 Kumo,我们已经设计了 Relational Graph Transformers,使其能够在海量的关系型数据集上无缝工作——其中图包含数百万个节点和数十亿条边——释放了它们在小型分子图之外的潜力,进入企业级 AI 应用。
在 Kumo 提供的众多 AI 模型 中,Relational Graph Transformers 以其捕获关系型数据中复杂关系的能力而脱颖而出。与传统模型在多表结构上苦苦挣扎不同,Relational Graph Transformers 擅长理解实体之间错综复杂的联系,即使它们没有直接链接。通过利用注意力机制,它们可以有效地建模长距离依赖关系,使得它们对于需要来自多个互连源的信息的预测特别强大。
左:带有训练表的关系型表。右:关系型实体图。
例如,想象一个包含三个表的电子商务数据库:Products、Customers 和 Transactions。在传统的关联设置中,客户的互动主要限于他们的直接交易,形成了一个结构化但有些受限的关系视图。如果我们使用标准的 message-passing GNN,交易总是两跳之遥,仅通过共享客户连接。这意味着交易到交易的交互是间接的,需要多层消息传递来传播信息。此外,产品永远不会在两层 GNN 中直接交互,因为它们的消息必须通过交易和客户传递,从而难以捕获长距离依赖关系。这种结构性限制可能会阻碍模型识别超出直接连接的复杂关系的能力。
另一方面,Relational Graph Transformer 将数据视为完全连接的图,允许每个节点直接与任何其他节点交互。这意味着交易现在可以在不需要通过共享客户的情况下交换信息,从而克服了标准消息传递的两跳限制。同样,产品不再彼此孤立,因为它们可以直接关注其他产品、交易或客户,从而捕获更复杂的关系。通过利用注意力机制,该模型动态地权衡这些遥远连接的重要性,从而发现使用顺序消息传递方法难以捕获的见解。这种整体视角可以实现更丰富、更准确的预测,使 Graph Transformers 对于关系型数据特别强大。
左:GNN 如何处理子图,仅在直接连接的实体之间执行顺序消息传递。来自 N 跳之外节点的信息需要 N 层才能到达目标实体。右:Relational Graph Transformer 如何处理子图,从而实现任何节点之间的直接交互,而不管距离如何。每个实体都可以在每一层关注任何其他实体。
为关系型数据调整 Graph Transformers
关系型数据库为深度学习模型提出了一个独特的挑战:它们包含丰富、互连的信息,这些信息跨越多个表,具有复杂的关系,这些关系不能轻易地简化为简单的特征向量。虽然通用的 Graph Transformers 在处理图结构化数据方面表现出了非凡的能力,但专门为关系型数据库调整它们需要周到的架构修改,以保留和利用关系型数据固有的结构。
在本节中,我们将探讨如何专门为关系型数据调整 Graph Transformers,检查创建有效的 Relational Graph Transformers 所需的关键架构考虑因素和修改。我们将沿着几个关键维度比较传统和关系型 graph transformer 方法。通过理解这些调整,我们可以更好地理解 Relational Graph Transformers 如何提供一个强大的框架,用于直接从关系型数据中学习,而无需大量的特征工程或数据重构。
关系型图连接性
标准 Graph Transformer 和 Relational Graph Transformer 之间的关键区别在于它们如何处理关系型表的图连接性。传统的 Graph Transformer 将其输入视为完全连接的图,其中每个 token(或节点)可以直接关注所有其他 token。虽然这种全局注意力机制非常强大,但它没有利用真实世界图中存在的任何固有结构信息。此外,当处理包含数百万或数十亿个节点的大型数据集时,保持完全连接很快就会在计算上变得不可行。
另一方面,Relational Graph Transformer 通过将关系型图的拓扑结构纳入注意力机制来引入归纳偏置。节点不是允许每个节点关注所有其他节点,而是主要关注它们的本地邻居,类似于 Graph Neural Networks (GNNs)。这种本地化的注意力降低了计算成本,同时确保模型尊重图结构。通过平衡全局注意力和本地连接,Relational Graph Transformers 有效地捕获了长距离依赖关系和细粒度的关系模式,使其非常适合大规模图数据集。
处理多模态关系型节点属性
在传统的 Text Transformer 中,输入是从固定词汇表中提取的 token 序列,这是一个明确定义的封闭集(例如,单词或子词)。每个 token 都有一个对应的嵌入,模型使用自注意力层处理序列。在 Graph Transformers 中,设置通常更灵活。不是 token,每个节点通常都使用特征向量或预先计算的嵌入进行初始化,例如,基于元数据、空间坐标或来自先前任务的学习表示。但是当处理关系型表时,这个想法完全崩溃了。表中的一行不是 token 的清晰序列,而是异构特征的集合,可能包括数值、分类标签、时间戳、自由格式文本,甚至图像。没有固定的“词汇表”可以从中提取,并且每一列都可能位于不同的模态空间中。
要将此类数据转换为适用于基于图的学习的密集节点嵌入,需要遵循多模态编码管道:
- 模态特定嵌入:首先根据数据类型嵌入每一列:
- 数值特征 可以被规范化并通过 MLP 传递。
- 分类变量 通常使用可学习的嵌入表进行嵌入。
- 文本字段 使用预训练的语言模型(如 Sentence-BERT)或任何其他基础模型进行编码。
- 图像数据 可以使用预训练的 CNN 或视觉 transformer 进行处理。
- 时间戳 可以根据粒度被视为分类、连续或循环特征。
- 融合属性嵌入:一旦编码了每个属性,深度表格模型(例如,基于注意力或 MLP)将所有嵌入融合到每个行的单个向量中。这个嵌入捕获了整个行的身份——很像 NLP 中的句子嵌入,但来自多种模态。
- 通过图进行关系型集成:然后,这些融合的嵌入充当从关系结构构建的图中的节点特征。现在,Relational Graph Transformer 可以处理此图,通过与其邻居交换消息来更新每个节点的嵌入,从而实现实体之间的关系型推理。
- 端到端学习:至关重要的是,整个管道——从列级别编码到行融合和图消息传递——可以联合训练。这允许模型学习如何表示异构属性以及如何合并关系结构以用于下游任务。
与文本 transformers 相比,此设置必须处理更多多样化的输入空间,这使得模块化和灵活性至关重要。为了支持这种复杂的管道,一种选择是采用 PyTorch Frame,这是一个基于 PyTorch 的框架,专为基于多模态表格数据的深度学习而设计。通过使用 PyTorch Frame,可以简化整个过程——从原始关系型数据到基于图的表示学习——同时保持模块化、可扩展性以及与更广泛的 PyTorch 生态系统的兼容性。
PyTorch Frame 架构概述。
关系型边缘感知
在标准 Transformers 中,注意力机制同等地对待所有连接,没有显式的边缘特征。这适用于诸如文本之类的序列数据,但在边缘带有关键语义含义的关系型数据库方面却有所欠缺。在这些数据库中,边缘可能表示客户和产品之间的“已购买”关系、分层的“报告给”连接,或由 schema 定义的各种其他类型的关系。
Relational Graph Transformers 通过将边缘信息直接纳入其架构来解决此限制。他们采用关系感知的注意力机制,对不同的边缘类型使用专门的权重,有时会根据外键约束限制注意力流。通过将数据库 schema 视为领域知识的结构化蓝图,Relational Graph Transformers 将通用方法中丢失的信息转化为有价值的学习信号。这种对边缘语义的意识在客户分析、欺诈检测和供应链优化等应用中特别强大,在这些应用中,不同的关系类型具有不同的业务含义。
凭借利用关系型边缘感知和处理多模态关系型节点属性的能力,关系型 graph transformers 展示了有效处理复杂异构图(例如关系型实体图)的强大能力。这种对节点特征和边缘关系的细致理解使它们能够捕获存在于此类复杂结构中的丰富多样的信息。
时间编码
Relational Deep Learning 的许多现实世界应用都涉及随时间展开的时间事件——客户交易、传感器读数或用户互动。为了保留这种自然的演变,可以使用时间嵌入。这些嵌入充当 Relational Graph Transformer 的位置编码,使其能够了解每个节点何时出现在图中,并将时间维度纳入其预测中。
缩放注意事项
在我们之前关于 通用 Graph Transformers 的缩放挑战 的讨论基础上,Relational Graph Transformers 在企业级关系型数据库上运行时面临着额外的注意事项。虽然基本的二次复杂度挑战仍然存在,但关系型上下文引入了值得强调的独特复杂性。
生产环境中的关系型数据库通常包含数百万行的高基数表——客户交易、日志条目或传感器读数——从而导致包含数百万个节点和可能数十亿条边的图。为了使 Relational Graph Transformers 对于如此大的关系型图可行,可以利用专门为关系型数据的结构量身定制的采样或批处理策略。Relational Graph Transformers 没有在整个图上应用通用的自注意力机制,因为对于关系型数据来说,这在计算上将是令人望而却步的,而是根据 schema 将图分解为子组件。通过一次专注于更小、更易于管理的子图,它们可以显着减少与大型关系型数据集相关的计算负担,从而提高可扩展性并减少计算开销。
此外,与通常在更简单的学术数据集(如引用网络或社交图)上进行基准测试的通用 Graph Transformers 不同,Relational Graph Transformers 是专门为处理真实关系型数据库的复杂性而构建的。这些系统针对客户流失预测、欺诈检测和推荐等任务进行了优化,这些任务在企业环境中很常见。因此,它们还必须优先考虑预测速度、冷启动泛化和对数据稀疏性的弹性,这使得它们非常适合关系型数据库应用程序的实际约束和挑战。
实验
为了评估 Relational Graph Transformers 的有效性,我们进行了实验,将其性能与 GNN 进行了比较。通过在关系型数据集上测试这两个模型,我们的目标是了解 Relational Graph Transformers 如何充分利用位置信息,以及它们是否在捕获复杂关系以进行预测任务方面提供了优势。
数据: 对于我们的实验,我们选择了 RelBench,这是一个公共基准,旨在利用基于图的模型对关系型数据库执行预测任务。RelBench 提供了跨多个领域的各种数据库和任务,使其成为评估 Graph Transformers 有效性的理想测试平台。通过利用其结构化的关系型数据和明确定义的预测挑战,我们确保我们对 Relational Graph Transformers 和 GNN 之间的比较既严格又代表了真实世界的应用程序。
设置: 为了确保 Relational Graph Transformers 和 GNN 之间的公平比较,我们使用带有两跳 15 个邻居的邻居采样,并将所有模型的节点维度设置为 128。对于 GNN 基线,我们评估四种不同的超参数配置并报告最佳性能。对于 transformers,我们尝试了三个不同的超参数集,并报告了两次运行中的最佳平均值。在所有 transformer 设置中,我们都使用四层、八个注意力头,并将前馈网络 (FFN) 维度设置为 512(节点维度的四倍)。此外,我们还评估了原始实体表特征上的 LightGBM 分类器基线,以建立与经典机器学习方法的比较。请注意,这里只使用了来自单个实体表的信息。
位置编码
在 Kumo,我们处理包含数百万个节点和数十亿条边的图,这使得全局位置编码(例如基于 Laplacian 或 Random Walk 的方法)的预计算成本非常高。相反,我们专注于可以有效地在训练期间导出的本地位置编码,从而确保可扩展性,同时又不会牺牲准确性,并适应真实世界图数据的动态特性。因此,我们采用:
- Hop 编码: 它们编码子图中每个节点与目标实体之间的距离,帮助 transformer 了解邻近关系。
- Tree 编码: 按照 Shiv 和 Quirk (2019) & Peng 等人 (2022) 的方法,我们采用基于树的位置编码,该编码保留了固有的分层父子关系和整体图拓扑。
- 消息传递编码: 在许多研究设置中,全局节点嵌入通常使用诸如 node2vec 之类的方法计算。然而,正如我们已经讨论过的,在 Kumo 的规模上,预计算此类嵌入是不切实际的。相反,我们通过为每个节点分配一个随机嵌入并通过在原始图结构上执行消息传递的图神经网络 (GNN) 来细化它来近似这个想法。这使得节点能够开发受其邻居影响的位置表示,从而有效地捕获本地拓扑结构而无需昂贵的预计算。
- 时间编码: 我们主要处理随时间演变的时间图,从而使静态全局编码迅速过时且可能具有误导性。为了保留这种自然的演变,Kumo 的模型确保节点仅接收来自具有较早时间戳的实体的信息,防止数据泄漏和“时间旅行”问题,同时提高不同时间段的泛化能力。为了加强这种时间结构,我们采用时间嵌入,该嵌入充当 Graph Transformer 的位置编码。
所有这些位置编码都旨在无缝地集成、组合和相互组成。通过合并这些编码,我们为 transformer 提供了一种“位置”感,即每个节点在子图中的位置,从而实现更结构化和有意义的预测。
除了多模态输入节点特征外,我们还计算各种位置编码,以捕获每个节点在其子图中的不同特征。
RelBench 数据集上的结果
该任务涉及在特定种子时间预测给定实体的二进制标签。按照 RelBench,我们使用 ROC-AUC 指标进行评估,其中较高的值表示更好的性能。
RelBench 中实体分类任务的结果。越高越好。
结果表明,Relational Graph Transformers 在几个任务上往往优于两个基线,尤其是在捕获长距离依赖关系有益的情况下。我们的实验表明,Relational Graph Transformer 提供了显着的准确性改进,优于 GNN 基线约 10% 和 LightGBM 基线超过 40%,证明了其在建模复杂关系结构方面的有效性。尽管某些数据集(例如 rel-amazon 和 rel-avito)的性能差异很小,但这些结果表明 Graph Transformers 在许多情况下都具有竞争优势。
为了确保公平的比较,我们对两个模型都使用 2 跳邻居采样,采用相同的本地邻域。即使在这种受限的设置中,Graph Transformers 已经在大多数数据集和任务中匹配或超过了 GNN 的性能。与 GNN 需要图中连接才能进行消息传递不同,Relational Graph Transformers 可以自然地聚合来自遥远甚至未连接节点的信息。这种利用连接实体之外的信息的能力表明,将 Relational Graph Transformers 与各种图采样技术相结合可以进一步提高其性能,这为未来的研究提供了一个有希望的方向。
结论
我们的实验表明,Relational Graph Transformers 始终优于 GNN——平均高出约 10%,最高可达 15%——并且与诸如 LightGBM 之类的经典机器学习基线相比,甚至提供了超过 40% 的更大的增益,同时可以通过超越本地邻域的长距离信息聚合来实现对复杂关系结构的更丰富的建模。
Kumo 实现的 Relational Graph Transformers 的一个主要优势是灵活且可组合的位置编码,它可以无缝集成到模型中。通过合并时间嵌入、跳嵌入、树嵌入等,我们确保 transformers 可以有效地捕获关系结构,同时保留来自 GNN 的关键归纳偏置。各种任务中的强大结果进一步验证了这种方法。
展望未来,有令人兴奋的机会可以进一步提高性能。更智能的邻域采样策略、通过交叉注意力增强的全局上下文以及更具表现力的位置编码都代表着有希望的研究方向。通过这些创新,Kumo 不仅仅是追随关系型深度学习的前沿——我们正在定义它,使您能够从您的数据中提取前所未有的见解!
立即免费体验 Relational Graph Transformers 的强大功能!
准备好看看有什么不同了吗?使用 Kumo 可以轻松地免费开始使用 Relational Graph Transformers。只需 注册免费试用版,连接您的数据,然后观看您的第一个 Graph Transformer 模型变为现实。
只需单击一下即可转换您的图分析!通过从 Kumo 的模型架构选项中选择它,将 Graph Transformers 集成到您的工作流程中。微调每个参数以获得自定义性能,或让我们的 AutoML 自动发现适合您特定数据的最佳配置。
不确定哪种架构适合您的需求?让我们的 AutoML 通过自动为您的数据集和预测查询选择最佳模型来完成繁重的工作。立即开始转换您的图数据见解!