【论文阅读】DeepGL:Deep Feature Learning for Graphs

348 阅读21分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第16天,点击查看活动详情

前言

Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!   唯有努力💪  

知其然 知其所以然!

  本文仅记录自己感兴趣的内容

简介

原文链接:arxiv.org/abs/1704.08…

年度:2017/10/16

Abstract

本文提出了一个通用的图表示学习框架DeepGL,用于学习大型(属性)图的深层节点和边表示

具体地说,DeepGL通过导出一组基本特征(例如,小图形特征)开始,并且自动学习多层分层图形表示,其中每个连续层利用来自前一层的输出来学习更高阶的特征

与以前的工作相反,DeepGL学习关系函数(每个函数代表一个特征),这些关系函数概括了整个网络,因此对基于图形的迁移学习任务很有用

此外,DeepGL自然支持属性图,学习可解释的图表示,并且是空间高效的(通过学习稀疏特征向量)

此外,DeepGL具有表现力强、灵活性强、具有许多可互换组件、时间复杂度为O(E)O(|E|)的高效特性,并且可通过高效的并行实现扩展到大型网络

与最先进的方法相比,DeepGL具有

  • (1)跨网络迁移学习任务和属性图表示学习的有效性
  • (2)空间效率高达6倍的内存
  • (3)运行速度快,高达182倍的加速比
  • (4)精确度,在许多学习任务上平均提高20%或更多

1 INTRODUCTION

学习有用的图表示是许多网络内和跨网络机器学习任务的核心和成功之处,例如节点和链接分类[1]、[2]、[3]、[4]、[5]、异常检测[6]、[7]、[8]、链接预测[9]、[10]、动态网络分析[11]、[12]、社区检测[13]、[14]、角色发现[15]、[16]、[17]、可视化和感觉制造[18]、[19]、[20]、网络对齐[21],以及许多其他

事实上,机器学习方法的成功在很大程度上取决于数据表示[22]、[23]

与特征工程相比,能够学习这种表示的方法在成本和工作量方面具有许多优势

基于图的机器学习算法的成功在很大程度上取决于数据表示

有关关系表示学习的调查和分类,请参阅[23]。


最近的工作在很大程度上是基于流行的跳过语法模型[24],该模型最初是为了学习自然语言处理(NLP)领域中的单词的矢量表示而引入的

  • 特别是,DeepWalk[25]应用了[26]中成功的单词嵌入框架(称为word2vec)来嵌入节点,从而保留了短随机行走中的对的共现频率
  • 最近,node2vec[27]向DeepWalk引入了超参数,可以调整随机漫游的深度和广度

这些方法非常成功,并且在节点分类等任务上表现优于现有的许多方法


然而,过去的大部分工作都集中在节点特征[25]、[27]、[28]上

这些节点功能仅提供图形的粗略表示

现有方法也不能利用属性(例如,性别、年龄),并且缺乏对类型化图表的支持

此外,这些方法的特征不适用于其他网络,因此不能用于跨网络迁移学习任务

由于节点特征向量是完全密集的,现有的方法空间效率也不高

对于大型图表,存储这些密集特征所需的空间很容易变得太大,无法装入内存

这些特征也是出了名的难以解释和解释,这在实践中正变得越来越重要[29]

此外,现有的嵌入方法也无法捕获更高阶子图结构以及从这种更高阶子图结构中学习层次图表示

最后,这些方法对于运行时比本文提供的算法慢了几个数量级的运行时也是低效的(如后面的第4节所示)


在这项工作中,我们提出了一个通用的、可表达的、灵活的深度图表示学习框架DeepGL,它克服了上述许多限制

  • 直观地说,DeepGL首先使用图形结构、属性和/或两者导出一组基本特征
  • 使用一组学习的关系特征运算符(图2)迭代地组成基本特征,所述关系特征运算符对图形元素(节点、边;参见表1)的(distanceldistance-l))邻居的特征值进行运算,以从形成分层图形表示的较低阶特征中推导出较高阶特征,其中每一层由越来越高阶的特征组成
  • 在每个要素层,DeepGL搜索由关系函数组成的空间,这些关系函数是根据应用于上一层中作为输出给出的每个要素的一组关系要素运算符而定义的。如果特征(或关系函数)是新的,则它们被保留,从而添加了集合中的任何其他特征都没有捕捉到的重要信息

1.1 Summary of Contributions

提出的框架DeepGL克服了现有工作的许多限制,具有以下关键特性:

Novel framework

提出了一种用于大型(属性)网络的深度层次图表示学习框架DeepGL,该框架可同时发现结点和边特征

该框架很灵活,有许多可互换的组件,富有表现力,并被证明对各种应用程序都有效

Attributed graphs

DeepGL自然能够从属性(如果可用)和图形结构中学习图形表示

Graph-based transfer learning

与现有的工作相反,DeepGL自然支持跨网络迁移学习任务,因为它学习的关系函数可以泛化用于任意图上的计算

Sparse feature learning

它通过学习稀疏图形表示法来节省空间,这种表示法需要的空间比现有工作少6倍

Interpretable and Flexible

与嵌入方法不同,DeepGL学习可解释和可解释的功能

DeepGL还很灵活,具有许多可互换的组件,使其非常适合各种应用程序、图形和学习场景

Hierarchical graph representation

DeepGL学习分层图形表示法,其中每个后续层使用前一层的输出来派生更高顺序的要素

Higher-order structures

基于高阶结构的特征通过传播从低阶子图特征中学习

这与无法捕获这种更高阶子图结构的现有方法形成了对比

Efficient, Parallel, and Scalable

它的运行时间与边的数量呈线性关系,因此速度很快

它通过简单而高效的并行化扩展到大型图表

值得注意的是,在第4节中观察到了很强的伸缩结果

2 RELATED WORK

在本节中,我们将重点介绍DeepGL与相关工作的不同之处

Node embedding methods

最近,人们对从大规模网络中自动学习一组有用的特征非常感兴趣[25]、[27]、[28]

特别是,最近应用流行的word2vec框架学习节点嵌入的方法[25],[27]

所提出的DeepGL框架在六个基本方面与这些方法不同

  • (1)它自然地支持属性图
  • (2)学习复杂的关系函数,这些函数为跨网络学习而转移
  • (3)DeepGL学习重要且有用的边和结点表示,而现有的工作仅限于结点特征[25]、[27]、[28]
  • (4)它学习稀疏的特征,因此对于大型网络来说非常节省空间
  • (5)运行时间与边数呈线性关系,速度快,效率高
  • (6)它也是完全平行的,如第4节所示,规模很大

Higher-order network analysis

其他方法使用高阶网络属性(如图的频率)作为图分类的特征[5]

  • Graphlet是小的诱导子图,已被用于图分类[5]以及可视化和探索性分析[30]

然而,我们的工作重点是使用小图形(graphlets)作为大型网络中学习节点和边缘表示的基本特征

此外,以前的特征学习方法通常基于随机游走或限于基于简单度和基于egonet的特征

因此,现有方法之间的另一个贡献和关键区别是使用高阶网络主题(基于称为Graphlet的小kk顶点子图模式)进行特征学习和提取

据我们所知,本文首次使用网络motifs(包括所有3、4和5个顶点的基元)作为图表示学习的基本特征。

Sparse graph feature learning

这项工作提出了第一个实用的学习稀疏节点/边特征向量的空间高效方法

值得注意的是,与现有的节点嵌入方法[25]、[27]、[28]相比,DeepGL需要的空间要少得多(见第4节)

相反,现有的嵌入方法存储完全密集的特征向量,这对于任何相对较大的网络都是不切实际的

例如,对于具有1K特征的7.5亿节点图,它们需要超过3TB的存储器

3 FRAMEWORK

本节介绍DeepGL框架

由于该框架自然地概括用于学习节点和边表示,因此它一般针对一组图元素(例如,节点或边)进行描述

图1中提供了DeepGL体系结构的概述

在这里插入图片描述

图1:用于图表示学习的DeepGL架构概述 设W=[wij]W = [w_{ij}]为特征权值矩阵,其中wijw_{ij}(或wijw_{ij})为特征向量xix_ixjx_j之间的权值 注意WW有一个约束,i<j<ki < j < k, xi,xj,xkx_i, x_j, x_k越来越深 可以看出F=F1F2FτF = F_1∪F_2∪···∪F_τ,则F=F1+F2++Fτ|F| = |F_1| + |F_2| +···+ |F_τ| 此外,层是有序的,其中F1<F2<<FτF_1 < F_2 <···< F_τ,这样,如果i<ji < j,则FjF_j被称为更深的层w.r.t FiF_i

表1中提供了表示法的摘要

在这里插入图片描述

3.1 Base Graph Features

DeepGL(Alg.1)是使用图形拓扑和属性(如果可用)推导出一组基本图形特征

请注意,DeepGL泛化以用于任意一组基本特征,因此它不限于下面讨论的基本特征

给定一个图G=(VE)G=(V,E)

我们首先使用局部的graphlet分解方法[31],[32]GG分解为更小的子图组件,称为graphlets (network motifs)[30],并将这些特性附加到XX

这项工作通过计算多达4个和/或5个点的图的所有节点或边轨道(orbits)来获得这些特征

图中每个节点或边的轨道(图小自同构)是根据节点或边表示是否得到保证来计算的(正如我们的方法自然地对两者都适用)

注意

  • 有15个节点和12个边轨道,有2-4个节点
  • 有73个节点和68个边轨道,有2-5个节点

然而,DeepGL可以处理其他类型的子图(Groulet)大小和功能,包括定向/非定向、类型化/异类和/或时态的Groulet


此外,还可以通过利用快速和准确的图块估计方法(例如,[31]、[32])来有效地导出这样的子图特征

我们还为GG中的每个图元素(节点、边)导出简单的基本特征,例如输入/输出/总/加权程度和k-核数

对于边特征学习,我们为每个边(vu)E(v,u)∈E和每个{+×}\circ∈\{+,×\}导出边度特征如下:

在这里插入图片描述 其中

  • dv=dv+dvd_v=d^+_v \circ d^−_v
  • dv+d^+_vdvd^−_vdvd_v表示vv的出/入/总程度

此外,还使用了egonet特征

图3提供了节点的外部和内部特征,并将其用作DeepGL-NODE中的基本特征

在这里插入图片描述

图3:egonet特征 底(l=1l =1 hop)-egonet图特征的集合 (a)外部egonet特征 (b)内egonet特征 注意,可以直接将这些egonet特征概括为边 DeepGL框架自然也支持其他基本特性 见图例的顶点类型:自我中心(•),内egonet顶点(•),和外部egonet顶点(◦)

将这些egonet特征扩展到边缘以学习边缘表示是简单的

对于上述所有基本特征,我们还根据方向(输入/输出/两者)和权重(加权/未加权)得出变化

注意到DeepGL自然支持许多其他图形属性,包括效率/线性时间属性,如PageRank

此外,具有可证界的快速逼近方法也可用于导出以GG中每个图元素(节点、边)的邻域为中心的局部着色数和最大团等特征


DeepGL的一个关键优势在于它能够自然地处理属性图

我们讨论下面的四种一般情况,包括学习给定一组初始节点或边属性的基于节点或边特征的表示

为了学习给定GG和初始边属性集的节点表示(通过DeepGL-node),我们简单地通过将关系特征运算符集(图2)应用于每个边属性来导出节点特征 在这里插入图片描述

相反,学习给定GG和一组初始节点属性的边表示(DeepGL-EDGE),我们通过将每个关系运算符ΦΦΦ∈Φ应用于边两端的节点来导出边特征

最后,当输入属性与学习特征表示的图形元素的类型(节点、边)匹配时,属性被简单地附加到特征矩阵XX

3.2 Space of Relational Functions and Expressivity

在这一节中,我们将描述DeepGL可以表示和搜索的关系函数空间

回想一下,与最近的节点嵌入方法[25]、[27]、[28]不同,所提出的方法学习可跨网络传输的图函数,以用于各种重要的基于图的迁移学习任务,例如跨网络预测、异常检测、图相似性、匹配等

3.2.1 Composing Relational Functions

通过DeepGL搜索的关系函数的空间由一组关系特征运算符Φ=Φ1ΦKΦ={Φ_1,···,Φ_K}组成地定义

图2中提供了几个关系特征运算符;参见23以了解各种其他有用的关系特征运算符

DeepGL的可表现性(即,由DeepGL表示的关系函数的空间)取决于几个灵活且可互换的组件,包括:

  • (I)初始基本特征(使用图结构导出、作为输入给定的初始属性或两者)
  • (Ii)一组关系特征操作符Φ=Φ1ΦKΦ={Φ_1、···、Φ_K}
  • (Iii)与每个关系特征操作符ΦpΦΦ_p∈Φ一起使用的一组“相关图形元素”SSS∈S(例如,给定节点/边的跳数内的输入/输出/所有邻居)
  • (Iv)每个关系函数与另一个关系函数组合的次数(即深度)

直观地,观察到在该公式下,来自XX的每个特征向量xx'(即不是基本特征)可以被写成应用于基本特征上的关系特征操作符的组合

例如,给定初始基本特征xx,设x=Φk(Φj(Φi<x>))=(ΦkΦjΦi)(x)x'=Φ_k(Φ_j(Φ_i<x>))=(Φ_k◦Φ_j◦Φ_i)(x)是通过应用通过合成关系特征运算符ΦkΦjΦiΦ_k◦Φ_j◦Φ_i而构造的关系函数作为输出给出的特征向量

显然,更复杂的关系函数很容易表达,例如涉及不同关系特征运算符(以及可能的不同相关图形元素集合)的合成的那些关系函数

此外,如图1所示,DeepGL能够基于一组初始低阶子图特征(通常是所有3、4和/或5个顶点子图)来学习通常对应于越来越高阶子图特征的关系函数

直观地说,就像在卷积神经网络(CNN)[22]中使用过滤器一样,人们可以以类似的方式考虑DeepGL,但与简单的过滤器不同的是,我们具有从以各种方式组合的低阶子图派生的特征,以捕获在每个连续层上日益复杂的高阶子图模式

3.2.2 Summation and Multiplication

我们还可以通过将关系函数(例如,Φi+ΦjΦ_i+Φ_jΦi×ΦjΦ_i×Φ_j)相加和相乘,从组合上推导出各种函数

关系函数之和类似于OR运算,因为如果两个实例中的任何一个具有较大的值,则两个实例是“接近”的

并且类似地,关系函数的乘积类似于AND运算,因为如果两个关系函数都具有较大的值,则两个实例是关闭的

3.3 Searching the Space of Relational Functions

算法1给出了一个通用的、灵活的DeepGL框架

在这里插入图片描述

1.回想一下,DeepGL从一组基本特征开始,并使用这些特征作为学习更深入、更具区别性的日益复杂的特征的基础(第1行)

然后,如果需要,则变换基本特征向量(第2行)

存在许多归一化方案和其他技术用于适当地变换特征向量

然而,算法1的第2行和第5行的特征向量的变换。1是可选的,取决于各种因素


该框架继续学习分层图表示,其中每个连续层表示(由于合成)越来越深的更高阶(边/节点)图函数:

  • F1<F2<<Fτs.t.F_1<F_2<···<F_τ s.t.如果i<ji<j,则称FjF_jFiF_i更深

具体地,按如下方式学习特征层F2F3Fτ(Alg.139)F_2、F_3、···、F_τ(Alg.1行3-9)

  • 首先,我们通过在图形函数的空间上进行搜索来导出特征层FτF_τ,所述图形函数空间是通过将关系特征运算符Φ应用于在前一层(Alg.1号线4),在ALG2中给出了一个实例方法此外,图2(右)提供了一个直观的例子
  • 接下来,按照前面讨论的那样,在第5行(如果需要)转换来自FτF_τ的特征向量
  • 然后评估ττ层中生成的要素

特征评估例程(在Alg.第1行6)从通过将关系特征运算符应用于在上一层τ1τ-1中学习的每个特征(关系函数)而构建的新关系函数(在深度τ处)空间中选择每个层ττ处的重要特征(关系函数)

请注意,作为在ALG的第6行中调用的特征求值例程,DeepGL非常灵活,完全可互换,并可针对特定应用程序和/或数据进行微调

然而,在ALG.3中给出了一个例子,该方法在特征对之间得出分数

该方法在特征对之间得出分数。由超参数λλ和评价标准KK确定的强相关的特征对xix_ixjx_j被分配Wij=K(xixj)W_{ij}=K(x_i,x_j),否则Wij=0W_{ij}=0

更正式地说,让EFE_F表示表示特征之间依赖关系的一组边:

在这里插入图片描述

结果是加权特征依赖图GF=(VFEF)G_F=(V_F,E_F),其中在xix_ixjx_j之间相对较大的边权重K(xixj)=WijK(x_i,x_j)=W_{ij}指示这两个特征之间的潜在依赖性(或相似性/相关性)

直观地说,如果K(xixj)=WijK(x_i,x_j)=W_{ij}大于λλ,则xix_ixjx_j是强相关的

因此,如果特征xix_ixjx_j强相关,则在它们之间添加一条边

特征之间的边代表(潜在的)冗余

现在,使用GFG_Fττ层中选择重要特征的子集

特征被选择如下:首先,将特征图GFG_F划分为特征组{C1C2...}\{C_1,C_2,...\}

其中每个集合CkCC_k∈C表示依赖的特征(尽管不一定是成对依赖的)

来划分特征图GFG_F,Alg.3 使用连通组件,尽管也可以使用其他方法,例如,集群或社区检测方法。接下来,从从属特征的每个组(簇)中选择一个或多个代表性特征

可替换地,也可以从从属特征组中导出新特征,例如,找到这些特征的低维嵌入或获取主特征向量。

在ALG.3 中给出的例子中:选择每个连接组件Ck=...fi...fj...CC_k={...,f_i,...,f_j,...}∈C中最早的特征,并移除所有其他特征

回想一下,上述功能评估例程只需替换第6行(Alg.1)DeepGL框架

在修剪要素图层FτF_τ之后,丢弃的要素将从XX中移除,并且DeepGL通过设置FFFτF←F∪F_τ(Alg.1:第7行)

接下来,第8行递增ττ和集合FτF_τ←∅

最后,我们检查收敛,如果不满足停止标准,则DeepGL尝试学习额外的特征层(第3-9行)

与仅输出节点特征矩阵X的节点嵌入方法不同,DeepGL还输出(分层)关系函数(定义)F={F1F2}F=\{F_1,F_2,···\},其中每个fiFhf_i∈F_h是第ii个特征向量xix_i的深度dd的学习关系函数

维护关系函数对于将特征转移到另一个任意感兴趣的图很重要,而且对于解释它们也很重要

3.4 Feature Diffusion

我们引入了特征扩散的概念,其中每一层的特征矩阵可以使用任意的特征扩散过程来平滑

例如,假设XX是从层ττ得到的特征矩阵

则我们可以设置X(0)X\overline X(0)←X并求解X(T)=D1AX(t1)\overline X(T)=D^{−1}A\overline X^{(t−1)},其中DD是对角度矩阵,AAGG的邻接矩阵

上述扩散过程重复固定次数的迭代t=12...Tt=1,2,...,T或直到收敛;并且X(T)=D1AX(t1)\overline X(T)=D^{−1}A\overline X^{(t−1)}对应于简单的特征传播

DeepGL中还可以使用更复杂的特征扩散过程,例如定义为

在这里插入图片描述 所得到的扩散特征向量X=[x1,x2]\overline X=[\overline x_1, \overline x_2···]被由特定扩散过程控制的相关图形元素(节点/边)的特征有效地平滑

注意,在每一层处作为输出给出的特征向量可以被扩散(例如,在ALG.1 的第4行或第7行之后)

由此产生的功能X\overline X可以通过多种方式加以利用

例如,可以设置XXX←\overline X,从而用扩散版本替换现有特征,或者可替换地,可以通过设置X[XX]X←[X\overline X]将扩散特征添加到XX

此外,可以通过交叉验证来了解扩散过程

3.5 Supervised Graph Representation Learning

DeepGL框架通过替换特征评估例程具有适当的目标函数,例如,寻求找到

  1. 相对于y(即,观察到的类别标签)最大化相关性(预测质量),同时
  2. (Ii)最小化该集合中的每个特征之间的冗余的特征集合

捕获(1)和(2)两者的目标函数可以通过用诸如互信息(和变量)之类的度量来替换KK来表示:

在这里插入图片描述

其中XX是所选特征的当前集合

ββ是确定最大化相关性和最小化冗余之间的平衡的超参数

方程式(4)中的第一项寻求找到使xix_iyy的相关性最大化的xix_i,而第二项试图最小化xix_i和已经选择的特征的每个xjXx_j∈X之间的冗余

最初,

在这里插入图片描述

之后,我们求解方程(4)找到xix_i(使得xiX)x_i \notin X),然后将其添加到XX(并从剩余特征集中移除)

重复这一过程,直到达到停止标准(例如,直到所需的X|X|)

DeepGL自然支持许多其他目标函数和优化方案。

3.6 Computational Complexity

回想一下,M是边数,N是节点数,F是特征数。从DeepGL框架学习的边缘表示的总计算复杂度为

在这里插入图片描述

对于使用DeepGL框架学习节点表示,所需时间为O(F(M+NF))O(F(M+NF))

因此,在这两种情况下,DeepGL的运行时在边数上都是线性的

另外,初始图形特征是使用快速和准确的估计方法计算的,参见[31]、[32]

4 EXPERIMENTS

4.1 Experimental settings

4.2 Effectiveness on Link Prediction

在这里插入图片描述

4.3 Within-Network Link Classification

在这里插入图片描述

4.4 Graph-based Transfer Learning

在这里插入图片描述

4.5 Node Classification

在这里插入图片描述

4.6 Analysis of Space-Efficiency

在这里插入图片描述

4.7 Runtime & Scalability

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

4.8 Parallel Scaling

在这里插入图片描述

5 CONCLUSION

我们提出了DeepGL,这是一个通用的、灵活的、高度表达的框架,用于从大型(属性)图中学习深层节点和边特征

DeepGL学习的每个特征对应于在基本特征上应用的关系特征操作符的组合

因此,DeepGL学习的特征是可解释的,并自然地推广到跨网络迁移学习任务,因为它们可以在任何任意图上派生

该框架很灵活,有许多可互换的组件,可表达、可解释、并行,并且对于运行时间与边数量呈线性关系的大型图来说,既节省空间又节省时间

DeepGL具有以下所有所需属性:

  • 对属性图和跨网络迁移学习任务有效
  • 节省空间,最多可减少六分之一的内存
  • 速度快,运行时加速比高达182倍
  • 精准,在许多应用程序上平均提高20%或更多
  • 与强劲的扩展结果并行

读后总结

2022/07/25 第一次阅读

emmmm,没有读懂 .....

结语

文章仅作为个人学习笔记记录,记录从0到1的一个过程

希望对您有一点点帮助,如有错误欢迎小伙伴指正

在这里插入图片描述