点击蓝字
关注我们
AI TIME欢迎每一位AI爱好者的加入!
图是建模实体与实体之间关系的常用数据结构。近年来,图数据挖掘引起了学术界和工业界广泛的关注,如分类、聚类等等。然而图相似度学习这一任务却未得到充分的研究,如何计算一对图结构数据之间的相似度?由于图结构数据的复杂、多样性,使得图相似度学习算法的设计充满了挑战性与特殊性。为此,本文基于图神经网络、图池化算子以及子图匹配等模块,设计了一种超图匹配框架来高效的进行图相似度推理。具体来说,本文提出的H2MN框架从超图的角度出发,将每条超边作为一个子图来进行匹配,捕获到了图上丰富的子结构相似性。为了降低匹配的时间复杂度,本文还设计了基于超边的池化算子来将大的超图转化为较小的超图。通过在多个公开数据集包括生物以及社交网络等类型图数据上进行验证,本文提出的方法在图回归以及分类任务上均取得了最佳的效果。
AI TIME 特别邀请了新加坡国立大学博士后张震,给大家带来分享《基于神经网络的多粒度图表征学习》。
张震:
新加坡国立大学博士后,2021年毕业于浙江大学计算机科学与技术学院,博士期间主要研究方向为数据挖掘、图神经网络与推荐系统,目前已在KDD、WWW、IJCAI、TKDE等国际顶级会议和期刊中发表多篇论文。
01
研究背景与意义
传统图挖掘算法示例
(1) 如果节点0、3、6、8标签已知
(2) 如何预测剩余未知节点的标签
人工设计特征
(1) 统计每个节点的出入度信息
(2) 计算每个节点到其余节点的最短路径均值信息
(3) 统计每个节点的子图信息
缺点:需要相关领域知识人工设计特征、灵活度不高
如何同深度学习一样去自动的提取图数据上的特征呢?
给定图G =(V,E) 其中|V|,|E|代表图中节点和边的个数,A表示的是图中节点边信息 构建的邻接矩阵
图表征学习的目标是通过映射函数学习出节点的表征向量,它可以捕获到图中的结 构、节点的属性以及标签等信息
图表征学习任务的难易程度取决于其输入以及输出的设置
(1) 图数据类型纷繁复杂,如何捕获不同类型图数据中的关键信息进行表征学习?(可能存在同构图和异构图,静态图和时序图)
(2) 图挖掘任务错综复杂,如何针对相关任务设计不同的图表征学习模型?(不同的任务,需要我们去捕捉不同的语义信息;对于表征的好坏也有不同的标准)
为了解决上述挑战,本文主要对输入以及输出四种不同粒度的表征学习问题展开了研究
横轴:模型输出的节点表征
纵轴:模型输出的图数据类型
02
主要研究工作
属性图中节点级表征学习
属性图是一种节点富含属性信息的图结构,例如社交网络中往往包含用户的年龄、 性别等资料信息
节点的属性信息可以进一步反映出图中的潜在模式
给定图G =(V,E,X)其中|V|,|E|代表图中节点和边的个数
(1) A表示的是图中节点边信息构建的邻接矩阵,
(2) X表示的是图中节点的属性信息
捕获图的结构以及节点的属性相似性
现有研究工作
(1) 将属性信息构建成图中的节点来建模节点和属性信息的共现关系
(2) 通过属性信息计算出节点之间相似度来约束节点的表征
(3) 通过属性信息计算出节点之间相似度来约束节点的表征
我们提出了一种新颖的无监督节点表征学习框架ANRL
(1) 该框架充分利用了节点与其邻居节点信息的相关性和节点属性信息与其上下文信 息的相关性来学习节点的表征
(2) 在建模节点属性信息的时候将节点的结构信息融入进来;反之亦然,在建模节点 结构信息时也巧妙地将节点的属性信息融入了进来
(3) 设计了邻居增强型自编码器和属性感知的Skip-gram模块
(4) 在6个数据集上进行了链接预测和节点分类实验,验证了模型的有效性
主要由以前两个模块构成:
邻居增强型自编码器模块
(1) 使用简单的多层感知器来对节点的属性信息进行编码和解码
(2)优化的损失函数
(3) 目标邻居节点计算过程
a. 加权平均邻居
b. 元素中值邻居
(1) 建模节点属性信息的同时捕获到节点的局部结构信息
(2) 重构节点的目标邻居节点属性信息,而不是节点自己的属性信息
左图中,节点3和5之间虽然没有边相连接,但我们可以看出他们共享了许多邻居节点,因此这两个节点是有相似性的。
在重构的时候,如果两个节点具有相同的邻居节点,那么他们重构之后编码的表征也会比较相似。
属性感知的Skip-gram模块
(1) 采用随机游走对图结构进行线性化操作,对抽样出的节点序列进行建模
(2) 具有相似上下文的节点在语义空间中也相似
(3) 利用Skip-gram建模结构信息的同时融入节点的属性信息
模型整体框架优化
整个模型框架,输入先经过一个编码器模块,这个模块有两个分支:左边是解码器模块,右边是一个预测context信息的过程;共享编码器模块参数,在优化的过程中交替更新彼此的损失函数,以达到整体框架的优化。
数据集统计信息
链接预测任务
我们从上图可以看出,我们的模型相对现有模型是有评价指标提升的。
节点分类任务
(1) 仅使用节点属性信息(SVM)
(2) 仅使用图结构信息 (DeepWalk等)
(3)同时使用属性和结构信息
(4) ANRL模型变体
ANRL模型总结
(1) 属性图中的无监督表征学习框架
(2) 深度融合了图的结构信息和节点的属性信息
(3) 在6个数据集上进行了链接预测和节点分类实验,验证了模型的有效性
存在的问题
(1) 该模型仅局限于节点带属性信息的静态图数据
(2) 随着时间的推移,图数据中会有新的节点加入以及生成新的连边,因此如何对动 态图建模并捕获其时序信息?
(3) 很多应用往往涉及到包含多种类型节点的异构图,例如推荐系统中的``用户-商品 "交互信息就可以构建成一个异构二部图,那么如何捕获异构图中不同节点的语 义信息
时序异构图中节点级表征学习
现有的大部分表征学习工作仅仅关注于静态的同构图
时序异构图建模的是不同类型节点之间的时序交互信息,它是一种更加复杂、通用 的数据结构
给定图G =(U,V,E,T) 其中|U|,|V|代表图中两类异构节点的个数,E表示的是图中两 类节点之间的交互信息,T表示的是图中节点交互的时间信息
复杂的图结构不是一蹴而就形成的
特定时间段内节点交互信息累积的结果
为了降低建模难度,只考虑了两类节点——用户节点和物品节点
现有研究工作
(1) 将时序图划分为一系列离散的子图,它们由预定义的时间窗口切分而成,然后再 设计相关算法对该子图序列进行建模
(2) 无法区分异构节点类型
(3) 无法利用边上的属性信息
(4) 模型复杂度与子图个数及大小成正比
我们提出了基于记忆网络的表征学习框架TigeCMN
(1) 该框架利用记忆网络进行写入和读取操作以增强其跟踪动态信息的能力
(2) 为每个节点都引入了记忆矩阵来维护其时序交互信息而不是简单的将其多面性的 交互信息压缩到单个潜在向量中
(3) 当模型进行推理时, 基于自注意力机制来动态的读取记忆矩阵中的相关信息
(4) 在5个常用公开数据集上进行了三类实验包括节点分类、时序推荐以及可视化, 实验结果表明TigeCMN优于一系列的对比算法
TigeCMN整体架构图
我们由上图可以看到,当用户发生交互行为之后,我们便可以通过这个交互信息来进行建模,更新用户节点和物品节点之间的一个表征。
(1) 边特征编码模块(将用户前后交互行为的时间差引入)
a. 该编码模块可以根据输入的数据类型进行针对性的设计
b. 为简单起见,我们使用基于dropout模式的多层前向传播网络来对边特征信息进行编码
c. 将边属性信息,商品表征向量以及距离上次交互的时间间隔拼接后作为输入
(2) 记忆网络动态写模块
a. 根据权重信息进行擦除以及添加操作
主要分为两部分:一部分为擦除信息。一部分为擦除后补充新信息
(1) 记忆网络动态读模块
a. 根据自注意力机制从记忆矩阵中动态的读取信息
Q=Mut · WQ, K=Mut · WK, V=Mut · WV
数据集统计信息
节点分类任务
Top-N推荐任务
表征可视化
可以看出图(f)中,我们的模型比其他的分散程度更高,说明我们学习到了还不错的表征。
TigeCMN模型总结
(1) 时序异构图中的节点表征学习框架
(2) 利用读写操作显示的存储、更新节点表征
(3) 在节点分类、Top-N推荐等任务中展现出有效性
存在的问题
(1) 时序异构二部图仅仅涉及到两种类型的节点
(2) 设计一些自适应采样策略来促进模型的优化过程
(3) 如何从节点表征生成整图级的表征?
多视图层级图池化表征学习
场景:计划进行图分类
现有的大部分工作仅仅关注于设计有效的图卷积操作
忽略了图池化模块在层级表征学习中的重要性
通过引入池化操作,整个图结构信息将会逐步缩减为包含层级信息的子图
给定图的集合 G = {G1, G2, ⋯,Gn} 其中Gi=(Vi,Ei,Xi)代表第i个图,Ai,Ei表示的是图中节点与边的信息, 集合中每个图的节点和边信息千变万化。
现有研究工作
(1) 通过对节点聚类进行池化操作
通过对节点采样进行池化操作
只去保留图中比较重要的节点,删掉其他节点;这样最终,我么能从大图得到一个小图,而且不会丢掉太多重要信息
我们提出了一种通用的图池化框架MVPool
(1) 根据不同视图中的上下文信息对节点的重要性进行评估
(2) 通过注意力机制来促进不同视图信息之间的融合
(3) 根据节点的重要性排序来自适应地保留相关节点子集以形成池化后的图
(4) 引入了结构学习机制来对每一层池化后的图结构进行微调
(5) 在9个常用公开数据集上验证了模型的有效性,包括节点和整图的分类、聚类以 及可视化任务
图神经网络模型简介
给定图G的邻接矩阵A和节点的表征矩阵H作为输入,则下一层节点表征的计算过程 如下所示:
其中σ(·)是非线性激活函数,H0=X即节点的初始表征为节点的属性,A~=A+I是添加自环后的邻接矩阵,Wk∈Rdk×dk+1是一个可训练的参数矩。
图采样此时产生了问题:什么样的节点才是重要的节点?在多视图的情况下,不同视图下对节点的标准也不一样。于是我们提出了在不同视图下计算节点的重要性。
多视图池化算子
(1) 视图一,基于图结构的度量准则
(2) 视图二,基于节点特征的度量准则
(3) 视图三,基于图结构和节点特征的度量准
多视图信息融合
(1) 由于单个视图通常会导致评估出现偏差,并且每个视图的重要性可能会大不相同
(2)通过促进不同视图之间的协作来生成更加鲁棒的节点排序
节点采样策略
(1) 首先根据节点的重要性得分对其进行排序
(2)然后按照以下方式选择排名较高的节点子集
每次排序只保留其中最重要的k个节点,其余的节点以及他们之间的连边都会删掉,这样就可以从一个大图慢慢变成小图;
不过,也存在可能本来相连的节点因为不断的抽样操作而被切断了联系,导致会丢失一部分信息。为了解决这个问题,我们设计了下面这个结构学习模块。
结构学习机制
(1) 基于采样的池化操作很有可能会导致高度相关的节点变得彼此无法访问
(2) 学习出微调过的图结构,可以编码每对节点之间潜在的关系
其中sparsemax用来学习稀疏图信息,可以使得我们在结构信息上的损失达到最小化。
节点分类模型框架
(1) 在池化过程中保留了节点的位置信息,然后在上采样层中使用该位置信息将相应的节点放回它们的原始位置
整个过程类似与一个graph auto encoding,我们首先对输入的图数据中节点进行重要性排序,删除那些不重要的节点;之后在进行结构化的学习,将他们之间可能存在的连接补上。紧接着是类似的解码过程,也有类似的标签帮助我们训练。
整图分类模型框架
(1) 设计了一个简单的读出函数,它汇总了各层网络中所有节点的表征
数据集统计信息
(1) 节点分类数据集信息
(2) 图分类数据集信息
实验结果
(1) 节点分类实验结果
(2) 图分类实验结果
可视化实验结果
我们可以看到,池化操作的模型效果更佳。
MVPool模型总结
(1) 它是一种通用的图池化框架
(2) 通过多视图的方式充分利用图结构信息以及节点属性信息
(3) 提出了结构学习机制来微调池化后的图结构信息
(4) 在9个公开数据集上验证了模型的有效性
存在的问题
(1) 是否可以设计出无参数的图池化算子?
(2) 如何在一对图数据上进行推理和建模来捕获其相似度信息?
目前模型仅用于单个图,是否可以用于更加复杂的图推理呢?
图相似度学习
现有大部分工作研究的是单个图数据上的有效节点表征或者整图级别的表征
(1) 该类模型不能很好的解决图相似度计算问题
(2) 因为它需要在一对图结构数据上进行推理和建模
给定一组图数据对作为输入 其中每个图的节点和边的数量可以是任意的。我们的目标是利用图神经网络端到端的学习出 任意一对图数据之间的相似性,主要研究了两类基于图相似度的问题:graph-graph classification和graph-graph regression任务
现有研究工作
(1) 传统图相似度计算方法如A* ,Beam等时间复杂度高
(2) 很少有模型尝试用GNN来探索图相似度学习
(3) 基于节点匹配的模型无法很好地捕获其子图的结构信息
我们提出了一种新颖的图相似度学习框架H2MN
(1) 在图相似度学习的过程中充分考虑两个图之间的子图匹配信息
(2) 将子图的匹配问题转换为超图之间超边的匹配问题
(3) 首次提出了提出了基于超边的池化算子
(4) 在5个常用公开数据集上验证了模型的有效性,包括图的分类以及回归任务
超图构造模块
(1) 超图可以定义为H=(V,ε,X,W)由节点集、超边集、节点特征矩阵以及边权对 角矩阵组成;每条超边可以包含两个或者更多节点,关联矩阵H定义如下:(超图中1条边可以包含两个以上的节点)
(2) 超图构建
a. 随机游走:将采样得到的节点序列作为超边
b. K阶邻居:根据节点的K阶邻居来构建超边
超图卷积神经网络
(1) 超图神经网络(或HGNN)是建模高阶节点关系而非成对关系的通用框架
(2) 以超图关联矩阵H和节点表征矩阵X作为输入:
其中σ(·)是非线性激活函数,Dv,De,W分别表示的是节点的度对角矩阵、超边的度对角矩阵以及超边权重矩阵,∈Rdl×dl+1是一个可训练的参数矩阵。
超边池化算子
(1) 图相似度学习任务中只有有限数量的关键子结构在子图匹配过程中起着重要作用
(2) 根据重要性保留排名较高的超边
子图匹配模块
(1) 子图匹配机制的主要步骤是计算超图中超边之间的注意力系数
(2) 对于Hi中每条超边e1i,计算它与H2中所有超边的余弦相似度
(3) 利用这些注意力系数来计算H2基于e1i的全局表征
(4) 多角度匹配函数
模型整体框架
首先我们输入两个图数据对,然后会根据之前定义的两种方式去生成两个超图神经网络。紧接着我们会去进行池化操作,仅仅保留图中比较重要的一些信息,再去对这两个信息进行匹配计算相似度。实际上是对超边进行匹配,因为超边其实融合了子图的信息。子图之间的比较,因为子图数量少,建模比较省时;同时子图之间的匹配,能帮助我们更好的捕获图的子结构信息且能更好的计算相似度。
通过类似更新操作之后,我们便能生成一些新的表征。通过不同层次的叠加就能得到一个整图的表征。两个图的表征拼接之后,最后去计算得到他们相似度的信息。
数据集统计信息
Graph-Graph分类任务
现有的几个做图相似度计算的模型:
1)我们的模型取得了一定效果的提升
2)图大小对模型效果的影响:我们的模型比较稳定
Graph-Graph回归任务
回归任务:
1)采用A*作为ground truth:可以看到相应的mse为0
2)ρ为全局排序指标
3)p@10为Top k排序指标
图相似度检索任务
H2MN模型总结
(1) 将普通图转换为超图以进行子图匹配
(2) 通过执行超图卷积、超边池化和多视角子图匹配等一系列操作来捕获图数据对之 间的语义相似性
(3) 在5个公开数据集上验证了模型的有效性
存在的问题
(1) 动态构建超图子结构信息
(2) 对异构的知识图谱进行建模,需要一对一的匹配两个知识图谱中共同的实体
03
总结与展望
本文主要从四个不同的粒度对图表征学习展开了研究,具体包括:
(1) 属性图中节点级表征学习
(2) 时序异构图中节点级表征学习
(3) 多视图层级图池化表征学习(节点&整图)
(4) 图相似度学习
重点对不同粒度复杂图数据以及挖掘任务进行了探索,提出了一系列基于神经网络 的图表征学习模型,研究了图数据中知识的表征、融合以及推理
未来研究计划
(1) 在知识图谱中利用神经网络进行推理
a. 将模型扩展到跨语言知识图谱对齐任务中
(2) 将强化学习融入到图神经网络中
a. 通过强化学习模型来确定每层池化操作需要抽样的节点个数
(3)设计自监督模型对图神经网络进行预训练
a. 如何在结构化图数据中设计自监督任务?
论文链接:
https://b23.tv/EWBsPTa
点击“阅读原文”,即可观看本场回放
整理:林则
审核:张震
直播预告
3月9日 14:00-17:40 NeurIPS专场六
11位华人学者带来分享
记得关注直播信息哦!
3月9日 19:30-20:30 青年科学家-23
参数高效迁移学习
期待马学喆老师为大家带来精彩分享~
往期精彩文章推荐
记得关注我们呀!每天都有新知识!
关于AI TIME
2019年,清华大学人工智能研究院院长张钹院士、唐杰教授和李涓子教授等人联合发起“AI TIME science debate”,希望用辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。
AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者创办的圈子。AI TIME旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家与爱好者,打造成为全球AI交流与知识分享的聚集地。
我知道你
在看
哦
~
点击 阅读原文 查看回放!