当前位置: 首页 > news >正文

Structure-Aware Transformer for Graph Representation Learning

Structure-Aware Transformer for Graph Representation Learning(ICML22)

在这里插入图片描述

摘要

Transformer 架构最近在图表示学习中受到越来越多的关注,因为它通过避免严格的结构归纳偏差而仅通过位置编码对图结构进行编码,自然地克服了图神经网络(GNN)的一些限制。 在这里,我们表明由 Transformer 使用位置编码生成的节点表示不一定捕获它们之间的结构相似性。 为了解决这个问题,我们提出了 Structure-Aware Transformer,这是一类基于新的自注意力机制的简单而灵活的图形 Transformer。 这种新的自注意力通过在计算注意力之前提取以每个节点为根的子图表示,将结构信息合并到原始自注意力中。 我们提出了几种自动生成子图表示的方法,并从理论上证明所得到的表示至少与子图表示一样具有表现力。

介绍

Transformers (Vaswani et al., 2017),已被证明在自然语言理解 (Vaswani et al., 2017)、计算机视觉 (Dosovitskiy et al., 2020) 和生物序列建模 (Rives et al., 2020) 方面取得了成功。 2021),提供了解决这些问题的潜力。
Transformer 架构不仅仅在消息传递机制中聚合本地邻域信息,而是能够通过单个自注意力层捕获任何节点对之间的交互信息。 此外,与 GNN 相比,Transformer 避免在中间层引入任何结构归纳偏差,从而解决了 GNN 的表达能力限制。 相反,它将有关节点的结构或位置信息仅编码为输入节点特征,尽管限制了它可以从图结构中学习的信息量。 因此,将有关图结构的信息集成到 Transformer 架构中在图表示学习领域获得了越来越多的关注。 然而,大多数现有方法仅对节点之间的位置关系进行编码,而不是对结构关系进行显式编码。 因此,它们可能无法识别节点之间的结构相似性,并且可能无法对节点之间的结构交互进行建模。
在这里插入图片描述
上图中节点u,v的位置编码是相同的,因为这两个节点到相邻节点的最近距离都相同,可是他们的结构编码是不同的。

本文贡献

本文引入一种灵活的结构感知自注意力机制,该机制明确考虑图结构,从而捕获节点之间的结构交互。 由此产生的 Transformer 类,我们称之为结构感知 Transformer (SAT),可以提供图的结构感知表示,这与大多数现有的用于图结构数据的位置感知 Transformer 不同。

  1. 重新表述了 Vaswani 等人的自注意力机制。 (2017)作为内核平滑器,并通过提取以每个节点为中心的子图表示,扩展节点特征上的原始指数内核以也考虑局部结构。
  2. 提出了几种自动生成子图表示的方法,使生成的内核更平滑,能够同时捕获节点之间的结构和属性相似性。 理论上保证得到的表示至少与子图表示一样具有表达能力。

背景

在这里插入图片描述
输入交互图和用户和物品的嵌入表示X。

基于transformer的图

在这里插入图片描述
再经过残差链接和前馈网络
在这里插入图片描述

绝对编码
绝对编码是指在主Transformer模型之前,将图形的位置或结构表示添加或连接到输入节点特征,例如拉普拉斯位置编码(Dwivedi & Bresson,2021)或RWPE(Dwivedi等人,2022年)的报告。这些编码方法的主要缺点是,它们通常不提供节点与其邻域之间的结构相似性的度量

自注意作为核平滑

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

结构感知Transformer

1. 结构感知自注意力

采用上述的自注意作为核平滑,公式如下:
在这里插入图片描述
此处的注意力计算方式不再是单个节点的嵌入,而是这个节点构成的子图。
在这里插入图片描述
kgraph核函数是两个子图嵌入的点积,子图的抽取如下:

  1. k-subtree GNN extractor
    在这里插入图片描述

简而言之:将用户物品嵌入通过k层GNN最终获取节点u的嵌入,即时u的k-subtree(子图)

  1. k-subgraph GNN extractor
    在这里插入图片描述

简而言之:将节点u的所有邻居的k-subtree相加就是节点u的k-subgraph

结构感知Transformer

在这里插入图片描述

在这里插入图片描述

与绝对编码的组合

http://www.lryc.cn/news/446498.html

相关文章:

  • 滚动页面,el-table表头始终置顶
  • Mac使用gradle编译springboot-2.7.x源码
  • MySQL --索引(下)
  • 选择寄宿学校,给自闭症孩子一个温暖的第二家
  • 大模型训练:K8s 环境中数千节点存储最佳实践
  • 【Linux学习】1-2 新建虚拟机ubuntu环境
  • ftdi_sio驱动学习笔记 3 - 端口操作
  • [leetcode]39_组合总和_给定数组且数组可重复
  • 【笔记】第三节 组织与性能
  • 数据库——sql语言学习 查找语句
  • 【计算机网络 - 基础问题】每日 3 题(二十三)
  • JPA + Thymeleaf 增删改查
  • Android常用C++特性之std::this_thread
  • 成语700词(31~45组)
  • vue3组件通信(组合式API)
  • 从预测性维护到智能物流:ARM边缘计算控制器的工业实践
  • 2024年汉字小达人区级自由报名备考冲刺:最新问题和官模题练一练
  • Linux相关概念和重要知识点(8)(操作系统、进程的概念)
  • 测序技术--组蛋白甲基化修饰、DNA亲和纯化测序,教授(优青)团队指导:从实验设计、结果分析到SCI论文辅助
  • Llama 3.2来了,多模态且开源!AR眼镜黄仁勋首批体验,Quest 3S头显价格低到离谱
  • 软考高级:SOA 和微服务 AI 解读
  • 【每天学个新注解】Day 6 Lombok注解简解(五)—@SneakyThrows
  • C语言 | Leetcode C语言题解之第437题路径总和III
  • Linux-TCP重传
  • Python通过Sqlalchemy框架实现增删改查
  • windows C++ - 任务计划程序(并发运行时)
  • 多米诺骨牌(模拟)
  • Unity DOTS系列之Struct Change核心机制分析
  • 「数组」定长滑动窗口|不定长滑动窗口 / LeetCode 2461|2958(C++)
  • 【华为】用策略路由解决双出口运营商问题