【论文阅读|浅读】DeepEmLAN: Deep embedding learning for attributed networks

1,520 阅读18分钟

@TOC

前言

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

知其然 知其所以然!

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

简介

原文链接:www.sciencedirect.com/science/art…

期刊:Information Sciences (CCF B类)

年度:2020/07/08

abstract

网络嵌入的目的是学习网络中组件的低维表示,同时最大限度地保留网络的结构和固有属性

其有效性已在各种实际应用中得到证明

然而,现有的大多数有属性网络的研究都不能灵活地探索多类型属性和语义关系

为了解决上述问题,我们提出了一种基于深度模型的属性网络嵌入学习方法——DeepEmLAN

  • 它通过深度注意模型将不同类型的属性信息平滑地投射到同一语义空间
  • 同时保持语义空间的拓扑结构

此外,我们设计了一种启发式组合策略来生成最终的嵌入,使节点在表示空间中共享更多的邻居、相似的文本丰富或标记属性

1. Introduction

网络嵌入被称为网络表示学习(Network representation learning, NRL),其目的是用低维向量表示网络的组成部分(如节点、边、子图等),其中网络的拓扑和属性被最大限度地保留

由于各种机器学习方法都可以很容易地处理低维向量,网络嵌入已经成为一个非常热门的研究领域,引起了极大的关注

它见证了近年来网络嵌入在各种应用中的成功

  • DeepWalk [21], LINE[25]和Node2vec[7]被普遍认为是强大的方法,并应用于各种应用中
  • NetMF[23]是最近的一项研究,它从理论上证明了现有的负采样模型可以统一为封闭矩阵的因式分解
  • 然而,直接构造和分解如此密集的矩阵在时间和空间上都是非常昂贵的,这使得它无法对大型网络进行扩展

为了解决这一问题,我们提出了NetSMF[22]算法,可以有效地对密集矩阵进行稀疏化,从而大大提高嵌入学习的效率

但上述方法都是针对节点和边类型单一的同构网络设计的。

事实上,现实世界的网络要复杂得多,不仅包含多种类型的节点和边,而且还包含丰富的属性集


根据网络拓扑结构和属性,我们将同构网络分为两种类型:简单网络和属性网络,如表1所示

在这里插入图片描述

它与最近的研究成果[5]基本一致,[5]是专为归属异构网络设计的

不同的是,我们同时考虑了多类型属性和属性中隐藏的语义关系,设计了一个基于属性同构网络的深度嵌入学习模型

值得一提的是,属性网络是[16]中最重要的网络之一。

从表1可以看出,我们关注的是属性网络的嵌入学习

不同网络中的属性可能指的是不同的内容

例如,在社交网络中,属性可能是用户的意见或评论; 而在引文网络中,属性可以是论文的主题或关键词

此外,标签(如组或社区类别)是离散的,本质上可以视为一种重要属性

在许多复杂的网络分析任务中,考虑这些信息往往有助于我们提高性能

例如识别高影响力用户[24],社区检测[11,35]和链接预测[31,6]等


由于嵌入学习的重要性和挑战,已有大量文献试图研究基于属性网络的嵌入学习

  • TADW[33],通过矩阵分解将节点的文本特征融入NRL过程。但是模型只能处理文本属性
  • AANE[9]模型,将节点的属性近度分布到NRL过程中进行建模。但是,该模型是在无监督模式下训练的,不能利用网络中的判别标签
  • LANE[10]能够在保留不同细节之间相关性的同时,将标签信息平滑地纳入到属性网络嵌入中。但由于矩阵运算量大,学习效率低

的确,上述算法本质上是线性模型,不足以捕捉复杂网络中的非线性信息关系


因此,近年来一些嵌入算法中引入了深度学习理论,以保持网络中复杂的关系

  • SEANO[15]被设计为一种归纳式深度学习框架,用于联合学习保留拓扑、属性和标签信息的鲁棒表示
  • CANE[27]是基于注意机制开发的,用来学习在一个有属性网络中节点的更具辨别性的表示

据我们所知,还没有人致力于以一种有效的方式探索多类型属性和语义关系


在本文中,我们开发了一个统一的深度模型来捕获丰富的属性信息和拓扑结构

DeepEmLAN的训练过程包括三个部分,分别侧重于保存拓扑、属性和标签的信息

而且,这三个组成部分是紧密联系、相互作用的

  • 通过对节点之间的一阶和二阶邻近度建模来获取拓扑信息
  • 采用注意机制对文本属性进行处理,捕捉节点在与不同邻居交互过程中的不同角色
  • 通过多级非线性映射,利用第二部分得到的相互注意向量对节点的标签进行预测

此外,参数的调整与不同的元素,使嵌入更适应后续的机器学习任务

最后,我们提出了一种启发式方法,将训练过程中获得的临时向量结合起来,生成每个节点的最终表示向量


这项工作的主要贡献总结如下:

  • 我们提出了一个统一的深度模型,通过同时考虑多类型属性和语义关系来学习网络中每个节点的表示向量。该模型能够保存和平衡不同类型信息产生的相互影响
  • 我们提出了一种启发式组合方法来生成每个节点的最终表示。它可以使节点在表示空间中共享更多的邻居和相似的文本或标记丰富的属性。
  • 我们在多个真实数据集的多标签分类和网络重建任务上广泛评估了提出的DeepEmLAN。实验结果表明,DeepEmLAN模型的性能明显优于竞争基线。

2. Related work

网络表示学习(Network representation Learning,简称NRL),简称网络嵌入,由于其重要的意义,近年来受到了广泛的关注

许多NRL算法已经被提出来学习网络中组件的有效表示

典型的NRL方法是通过保留网络中节点之间的拓扑相似性来学习表示

拓扑相似性包括局部拓扑中的一阶[1]、二阶[25]和高阶[7,20,21]邻近性

此外,为了进一步保存全局拓扑信息或全局和局部拓扑[37],还做了一些很大的努力

  • [29,26,3]采用自编码器模型来捕捉节点表示之间的非线性关系。
  • [32,4]中考虑了介观群落结构,以增强表征在全局拓扑中的辨别能力
  • 此外,为了描述节点之间的多个方面的相似度,提出了学习多个条件网络表示[30]的MCNE

然而,它们大多侧重于保留拓扑信息,而忽略了网络中隐藏的丰富属性


最近的一些努力探索了集成属性以学习更多信息表示的可能性

  • 提出TADW[33],通过矩阵分解将节点的文本特征融入NRL过程
  • 设计了AANE[9]模型,将节点的属性近度分布到NRL过程中进行建模
  • 在注意机制的基础上设计了CANE[27],以学习属性网络中节点的更具辨别性的表示
  • LANE[10]是将标签信息平滑地加入到属性网络嵌入中,同时保留它们的相关性。基于图学习,设计了一种用于微视频组织的结构化多模态字典学习框架INTIMATE[17]
  • SEANO[15]被设计为一个半监督归纳学习框架,共同学习保留拓扑信息、属性和标签的鲁棒表示
  • 此外,针对属性网络设计了基于图卷积神经网络的方法。提出了一种可扩展的基于图卷积神经网络的半监督学习方法——GCN[13]
  • GraphSAGE[8]通过学习不同深度的邻域节点的聚合器来生成未见数据的节点嵌入
  • 设计了GAT[28]作为图结构数据的图注意网络。采用自定义注意机制,为邻居分配不同的权重
  • 提出了一种基于gcn学习的多视图表示交互嵌入模型V2HT[14]用于微视频标签推荐

这些工作可以有效地应用于节点分类、团体检测、信息传播[18]等各种任务中

3. Problem formulation

本文中使用的一些表示

在这里插入图片描述

Definition 1 (Homogeneous Network)

同构网络是只有一个类型化节点和边的网络

它通常被表示为图G=(V,E)G=(V, E),其中

  • VV是节点的集合
  • EE是节点之间的边的集合

Definition 2 (Attributed Network)

将一个属性网络[9]定义为图G=(V,E,A)G = (V, E , A)

其中每个节点vVv \in V与一种或几种类型的属性相关联,例如文本、标签等

  • A=i=1cAiA = \cup^c_{i=1}A_icc类属性的集合
  • 其中Ai={ai,jvjV}A_i = \{a_{i, j}| v_j \in V\}是所有节点第ii类属性的集合
  • ai,ja_{i,j}是节点vjv_j的关联特征向量

A的大概意思就是:这是一个多属性网络, 一共有c种属性,每个属性上面顶点都可能有对应的属性

根据上述定义,我们将属性网络嵌入问题形式化为:

Problem 1 (Attributed Network Embedding)

给定一个归属网络G=(V,E,A)G = (V, E, A)作为输入,目标是学习一个映射函数f:vrvRdf: v \rightarrow r_v \in R^d,其中

  • rvr_v是对节点vv学习到的低维密集向量
  • dd是学习到的嵌入维数
  • d<<Vd<< |V|
  • 函数ff的目的是同时保留原始网络中的拓扑信息和多类型属性

4. The proposed method

4.1. The framework

在本文中,我们的目标是设计一个新的统一嵌入模型的属性网络,以有效地保持和平衡这些属性

[3]中指出,深度学习有利于对复杂的非线性关系进行建模,并已成功应用于包括网络嵌入在内的各种应用或领域

受此启发,我们提出了一个基于深度学习的模型来捕获节点属性之间的非线性关系


此外,节点在与不同的相邻节点交互时,往往表现出不同的方面,称为语义关系[27]

对这种关系进行建模能够产生更具辨别性的表示

因此,我们进一步将注意力机制引入深度学习模型,以捕获隐藏在属性中的语义关系

此外,通过对节点之间的一阶和二阶拓扑相似性建模来学习拓扑表示

为了集成拓扑信息和属性信息的影响,我们可以直接将不同部分学习到的嵌入进行连接

但是,这种方式往往会导致不同类型的表示分开训练,各种信息之间的影响无法平衡

为了更好地结合这些表示并使其适应后续的机器学习任务,我们设计了一个具有不同部分权重系数的全局损失函数

通过调整这些系数,可以有效地获取和平衡多类型属性和拓扑信息


基于以上思想,我们首先为提出的DeepEmLAN模型设计了一个框架,如图1所示

在这里插入图片描述

该框架主要由三部分组成:

  • (1)保留拓扑的嵌入
  • (2)保留嵌入属性
  • (3)生成最终表示

4.2. The topology-preserved embedding

通过对节点之间的一阶和二阶近邻建模来学习保留拓扑的表示


一阶接近度表示网络中两个节点之间的局部两两接近

保持接近度的目标函数定义在式(1)中,其中

  • p1(ni,nj)p_1(n_i,n_j)表示两个节点之间的两两概率
  • wijw_{ij}表示节点ii与节点jj之间边的权值,默认值为1

概率p1(ni,nj)p_1(n_i,n_j)根据式(2)计算,其中

  • VitV^t_i为节点ii保留的拓扑信息向量

在这里插入图片描述


二阶邻近性表示两个节点的邻域之间的邻近性,即共享多个邻域的两个节点在表示空间上更接近

因此,需要为每个节点添加一个额外的辅助向量,因为一个节点被认为是其他节点的特定“上下文”

对应的目标函数定义在式(3)中

  • p2(nj,ni)p_2(n_j,n_i)表示节点ii生成节点jj的条件概率(大概意思就是节点jj是节点ii的上下文的概率吧)

在这里插入图片描述p2(nj,ni)p_2(n_j,n_i)定义为式(4) 在这里插入图片描述 其中

  • VitV^t_i表示节点ii的拓扑信息保留向量
  • VzctV^{ct}_z为节点zz的“上下文”向量

我们进一步将两个目标函数Jt1J_{t1}Jt2J_{t2}合并为一般目标JtJ_t,如Eq.(5)所示

在这里插入图片描述


目标是学习VtRV×(2/d)V^t \in R^{|V| \times (2/d)},是节点的表示矩阵,以保留拓扑信息

4.3. The attributes-preserved embedding

在本节中,我们设计了一个深度学习模型来保留网络的文本丰富和标记属性

图2说明了生成我们需要的嵌入的方法的主要思想

在这里插入图片描述

对于每个节点对(ni,nj)(n_i, n_j)和对应的文本属性向量(α1,i,α1,j)(\alpha_{1,i}, \alpha_{1,j})在归属网络G=(V,E,A)G = (V, E, A)

我们首先通过Tensorflow中的embedding_lookup为每个节点nin_i生成文本丰富的属性矩阵AttiRm×mAtt_i \in R^{m \times m}

  • 其中mm表示属性中关键字的嵌入维度。

接下来,使用余弦函数计算文本属性级别的节点对(ni,nj)(n_i, n_j)的邻近度,如公式(6)所示

在这里插入图片描述

然后,通过将属性矩阵乘以余弦相似向量C(i,j)C(i, j)来生成关注向量,如公式(7)所示

在这里插入图片描述

因此,相互注意向量R(i,j)R(i,j)由两个注意向量相加得到,即R(i,j)=ui+ujR(i,j) = u_i + u_j,其中上述两个节点之间的特定语义关系得到保留

其中

  • SUM表示对矩阵逐行求和;
  • AttiAtt_i表示节点ii的属性矩阵;
  • \odot表示两个矩阵的元素乘积;

由于标签与文本属性有着内在的联系,我们通过预测部分进一步将这类信息关联起来

如图2所示,预测部分从相互关注向量开始

经过几个非线性映射层,最终得到预测的标签向量s^i,j\hat s_{i,j}非线性映射层在方程(8)中得到形式化描述

在这里插入图片描述

目标是最小化预测向量s^i,j\hat s_{i,j}真实标签向量si,js_{i,j}之间的距离

应该注意的是:si,js_{i,j}是其中非零位置对应于节点nin_i和节点njn_j的标签索引的二进制向量

最后,通过对关注向量进行平均来生成每个节点的属性信息保留表示ViaR1×(2/d)V^{a}_i \in R^{1 \times (2/d)}如等式(9)所示

在这里插入图片描述

其中

  • l(k)l^{(k)}kk层中的隐藏向量;
  • kk层权重矩阵和偏置向量分别为W(k)W^{(k)}b(k)b^{(k)}
  • tanh(x)=(1exp(ex))/(1+exp(2x))tanh(x) = (1 - exp(-ex)) / (1 + exp(-2x))

这个过程中的目标函数可以分为三个部分,如公式(10)所示

这三个部分分别侧重于保留文本属性与三种类型信息之间的关系。每一部分的目标如公式(11)所示

其中pp是条件概率,与公式(4)相同

通过调整三个部分的权重(α,β,μ)(\alpha, \beta, \mu)可以平衡深度学习模型的整体效果

在这里插入图片描述

4.4. The heuristic combining strategy for generating final representations

通过上述过程,为网络中的每个节点学习了保留了拓扑信息、文本丰富和标记属性信息的表示

接下来,我们将这两种类型的表示连接为临时向量,即

Viat=VitVia,ViatR1×dV^{at}_i = V^t_i \oplus V^a_i, \quad V^{at}_i \in R^{1 \times d}


我们提出了一种启发式组合策略来生成最终的表示向量Φi\Phi_i

启发式策略获得共享相同标签的节点邻居的临时向量的平均值,如公式(12)所示

在这里插入图片描述

最后,共享相同标签的节点和更多的邻居被放置在表示空间中更近的位置

如公式(13)中所示,给出了DeepEmLAN模型的总体目标函数。

在这里插入图片描述

该目标主要由拓扑信息保持目标JtJ_t和属性信息保持目标JaJ_a两部分组成,通过联合训练目标函数来同时保持拓扑信息、文本信息和标签属性信息

利用Adam[12]对目标函数进行优化

此外,为了减少优化过程中概率计算的开销,我们采用了负抽样的方法

4.5. Model optimization

在优化过程中,我们采用了负抽样的方法来减少概率计算的开销

对于训练集中的每个边(i,j)E(i,j) \in E,建议的模型的每个部分的损失可以计算如下:

在这里插入图片描述 自适应矩估计(ADAM)[12]用于优化目标函数

  • 基于梯度的一阶和二阶矩估计,adam动态调整每个参数的学习率

其主要优点是误差修正后的每一次迭代的学习率固定在一定范围内,使得参数的变化相对稳定

我们联合优化等式中的对象(14)


在每一次迭代中,所提出的模型中的参数的更新如公式(15)所示

其中η\eta是参数的自适应学习率

在这里插入图片描述

因此,通过联合学习,不同类型的属性信息可以被投影到相同的语义空间中

4.6. The algorithm and complexity analysis

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

5. Experiments

....

5.4. Experimental results on the task of multi-label classification

在这里插入图片描述

5.4.1. The contributions of different modules

在这里插入图片描述

5.4.2. Parameter sensitivity analysis

在这里插入图片描述

5.5. Experimental results on the task of network reconstruction

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

在这里插入图片描述

5.6. Case study: t-SNE 2-D representations on Cora

在这里插入图片描述

6. Conclusion and future work

本文提出了一种属性网络的嵌入学习方法:

  • 它可以通过深度注意模型将不同类型的属性和拓扑结构平滑地投射到同一语义空间中,同时最大限度地保留这些信息
  • 此外,设计了一种启发式方法来生成最终的表示,使得节点在表示空间中共享更多的邻居,相似的文本丰富和标记的属性更接近
  • 实验结果表明,DeepEmLAN在几个真实数据集上的多标签分类任务上的性能优于最新的方法

由于该模型是针对静态属性网络而设计的,不适用于具有时变拓扑和属性的在线网络

在未来的工作中,我们将研究不同类型动态网络的在线嵌入方法,包括动态属性同构网络、动态属性异质网络

读后总结

开始读这篇文章的时候,是非常懵的

基本上没有看懂

后面渐渐还是看懂了 (只是大概流程看懂了 细节方面没有仔细看)


首先,我们明确目标,最终需要学习的嵌入是ΦRV×d\Phi \in R^{|V| \times d}

再学习Φ\Phi之前,我们需要学习VTRV×dV^T \in R^{|V| \times d}

之后对VTV^T进行进一步的计算,从而得到Φ\Phi

VTV^T由两部分组成,即VT=Vt+VaV^T = V^t +V^a

  • VtRV×(2/d)V^t \in R^{|V| \times (2/d)}表示通过一阶、二阶拓扑结构学习得到的嵌入
  • VaRV×(2/d)V^a \in R^{|V| \times (2/d)}表示通过属性学习得到的嵌入

得到VTV^T之后,再利用共享相同标签的节点邻居(也就是借助标签这一性质来使得相同标签嵌入得更近)计算得到Φ\Phi

这样就相当于保留了拓扑结构、属性以及标签三种性质

VtV^t的求解不难,VaV^a这里思路不难,这是很多地方还是有点不懂,比如这个C(i,j)C(i,j)怎么确定? ....

还是有值得学习的地方,比如最后不是利用直接组合得到的嵌入,而是又通过一定的组合方式来得到新的嵌入,更好的保留结构

结语

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

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

在这里插入图片描述