返回介绍

数学基础

统计学习

深度学习

工具

Scala

二十三、ANRL [2018]

发布于 2023-07-17 23:38:24 字数 72250 浏览 0 评论 0 收藏 0

  1. 网络是对现实世界中复杂系统进行探索和建模的通用数据结构,包括社交网络、学术网络、万维网等等。在大数据时代,网络已经成为一个重要媒介,用于有效地存储、访问交互实体的关系知识relational knowledge 。在网络中挖掘知识已经引起了学术界和工业界的持续关注,例如在线广告 targeting 、推荐系统。大多数的这些任务都需要精心设计的模型,并且需要大量专家努力进行特征工程,而 representation learning 是自动化的 feature representation 方案。采用 representation learning 之后,可以通过在低维向量空间中学习从而极大地提升网络中的知识挖掘任务,如聚类、链接预测、分类等任务。

    network representation learning 中的相关工作可以追溯到基于图的降维方法,例如局部线性嵌入 Locally Linear Embedding: LLELaplacian Eigenmap: LELLELE 都通过构建最近邻图nearest neighbor graph 来维护数据空间中的局部结构local structure 。为了使相互连接的节点在 representation 空间中彼此更接近,人们计算亲和图 affinity graph 的相应 eigenvector 作为节点的 representation。这些方法的一个主要问题是:由于计算 eigenvector 的计算复杂度太高,它们很难扩展到大型网络。

    受到 word2vec 模型最近成功的启发,人们已经提出了许多基于网络结构的 representation learning 方法,并在各种 application 中显示出良好的性能。然而,节点属性信息没有受到太多关注,实际上这些节点属性信息可能在许多 application 中发挥重要作用。我们经常在现实世界的网络中观察到带各种属性的节点,这种网络被称作属性信息网络 attributed information network 。例如,在 Facebook 社交网络中,用户节点通常关联了个性化的用户画像,包括年龄、性别、教育、以及发帖内容。最近的一些努力通过整合网络拓扑信息和节点属性信息来探索属性信息网络,从而学到更好的 representation

    属性信息网络中的 representation learning 仍然处于早期阶段,能力相当有限,原因是:

    • 网络拓扑和节点属性是两个异质的信息源,因此很难在公共向量空间中保存它们的属性。
    • 观察到的网络数据往往是不完整attributed information network 的,甚至是噪音noisy 的,这使得更加难以获取有信息量的 representation

    为了解决上述挑战,论文 《ANRL: Attributed Network Representation Learning via Deep Neural Networks》提出了一个统一的框架,称作 ANRL。该框架通过联合地集成网络结构信息和节点属性信息来学习属性信息网络中的、鲁棒的 representation。更具体而言,论文利用深度神经网络的强大表达能力来捕获两个信息源的、复杂的相关性,这两个信息源由邻域增强自编码器neighbor enhancement autoencoder 、以及属性感知attribute-awareSkipGram 模型组成。总而言之,论文的主要贡献如下:

    • 论文提出了一个统一的框架 ANRL,它将网络结构邻近性proximity 和节点属性亲和性affinity 无缝集成到低维 representation 空间中。更具体而言,论文设计了一个邻域增强自编码器,它可以在 representation 空间中更好地保持数据样本之间的相似性。论文还提出了一个属性感知的 SkipGram 模型来捕获结构相关性。这两个组件与一个共享的编码器相连,其中这个共享编码器捕获了节点属性信息以及网络结构信息。
    • 论文通过两个任务(链接预测任务、节点分类任务)对六个数据集进行了广泛的实验,并通过实验证明了所提出模型的有效性。
  2. 相关工作:一些早期的工作和其它谱方法 spectral method 旨在保留数据的局部几何结构,并在低维空间表达数据。这些方法是降维技术的一部分,可以被视为 graph embedding 的先驱。

    最近,network representation learning 在网络分析中越来越受欢迎。network representation learning 专注于嵌入当前的网络而不是构建亲和图 affinity graph 。其中:

    • DeepWalk 执行截断的随机游走从而生成节点序列,并将节点序列视为 sentence 并输入到 SkipGram 模型从而学习 representation
    • Node2vec 通过采用广度优先 breadth-first: BFS 和深度优先 depth-first: DFS 的图搜索策略来探索不同的邻域,从而扩展了 DeepWalk
    • LINE 不是执行随机游走,而是优化一阶邻近性和二阶邻近性。
    • GraRep 提出为 graph representation 捕获 k 阶关系信息 relational information
    • SDNE 将图结构整合到深度自编码器deep autoencoder 中,从而保持高度非线性的一阶邻近性和二阶邻近性。

    属性信息网络在许多领域中无处不在。通过同时使用网络结构信息和节点属性信息来实现更好的 representation ,这是很有前景的。一些现有的算法已经研究了将这两个信息源联合地嵌入到一个统一空间中的可能性。例如:

    • TADWDeepWalk 和相关的文本特征整合到矩阵分解框架中。
    • PTE 利用 label 信息和不同 level 的单词共现信息来生成 predictive text representation
    • TriDNR 使用来自三方的信息(包括节点结构、节点内容、节点 label)来联合学习 node representation

    尽管上述方法确实将节点属性信息融合到 representation 中,但它们是专门为文本数据设计的,不适用于许多其他类型的特征(如连续数值特征)。

    最近,人们已经提出了几种特征类型无关的 representation learning 算法,以通过无监督或半监督的方式进一步提高性能。这些算法可以处理各种特征类型,并捕获结构邻近性structural proximity 以及属性亲和性attribute affinity

    • AANE 是一种分布式 embedding 方法,它通过分解属性亲和矩阵,并使用 network lasso 正则化来惩罚互相连接的节点之间的 embedding difference,从而联合地学习 node representation
    • Planetoid 同时开发了 transductive 方法和 inductive 方法来联合预测图中的 class label 和邻域上下文。
    • SNE 通过利用端到端神经网络模型来捕获网络结构信息和节点属性信息之间复杂的相互关系,从而生成 embedding
    • 另一个半监督学习框架 SEANO 采用输入样本属性、以及它平均邻域属性聚合的方式,从而缓解异常值在 representation leraning 过程中的负面影响。

    也有一些工作在探索异质信息网络中的 representation learning

    • metapath2vec 利用基于 metapath 的随机游走来生成异质节点序列,并采用异质 SkipGram 模型来学习 node representation
    • 《Attributed network embedding for learning in a dynamic environment》 提出了一种模型,该模型可以在动态环境而不是静态网络中处理 representation learning
    • 《Attributed signed network embedding》 研究了有符号信息网络中的 representation learning 问题。

    我们将这些可能的扩展保留为未来的工作。

23.1 模型

  1. G=(V,E,X)$ \mathcal G=(\mathcal V,\mathcal E,\mathbf X) $ 为一个属性信息网络,其中V={v1,,vn}$ \mathcal V=\{v_1,\cdots,v_n\} $ 为节点集合,E={ei,j}$ \mathcal E=\{e_{i,j}\} $ 为边的集合。XRn×m$ \mathbf X\in \mathbb R^{n\times m} $ 为节点的属性集合,xiRm$ \mathbf{\vec x}_i\in \mathbb R^m $ 为X$ \mathbf X $ 的第i$ i $ 行,表示节点vi$ v_i $ 的特征向量。

    属性信息网络的 representation learning 任务的目标是:学习一个映射函数f:viyiRd$ f: v_i\rightarrow \mathbf{\vec y}_i \in \mathbb R^d $ ,其中dn$ d\ll n $ ,它将每个节点vi$ v_i $ 映射到一个低维向量yi$ \mathbf{\vec y}_i $ ,并在映射过程中保持网络结构邻近性 network structure proximity、节点属性邻近关系node attribute proximity

23.1.1 邻域增强自编码器

  1. 为了编码节点的属性信息,我们设计了一个邻域增强自编码器模型。该自编码器由编码器和解码器组成,旨在重建目标节点的邻域而不是目标节点本身。值得注意的是,当我们的目标邻域是输入节点本身时,该自编码器退化为传统的自编码器。

    具体而言,对于节点vi$ v_i $ 假设属性特征向量为xi$ \mathbf{\vec x}_i $ 。假设目标邻域 target neighbor 的聚合函数为T()$ T(\cdot) $ 。由于自编码器只能重建一个变量,无法重建所有邻居,因此这里采用聚合函数来聚合目标节点的邻域,并重建聚合后的结果。

    定义每一层的隐向量为:

    yi(1)=σ(W(1)xi+b(1))yi(k)=σ(W(k)yi(k1)+b(k)),k=2,,K

    其中:K$ K $ 为编码器和解码器的层数,σ()$ \sigma(\cdot) $ 为激活函数(如 ReLU),W(k),b(k)$ \mathbf W^{(k)},\mathbf{\vec b}^{(k)} $ 为第k$ k $ 层的模型参数。

    我们的目标是最小化自编码器的损失:

    Lae=i=1nx^iT(vi)22

    其中:x^i$ \hat{\mathbf{\vec x}}_i $ 为解码器的重建输出,T(vi)$ T(v_i) $ 为节点vi$ v_i $ 的目标邻域。

    函数T()$ T(\cdot) $ 定义了目标节点的邻域的聚合方式,可以采用以下形式:

    • 邻域加权平均 Weighted Average Neighbor

      T(vi)=1|N(i)|jN(i)wi,jxj

      其中:N(i)$ \mathcal N(i) $ 为节点vi$ v_i $ 的邻域节点集合,wi,j$ w_{i,j} $ 为节点vi$ v_i $ 和vj$ v_j $ 的边的权重。对于无权图,则wi,j=1$ w_{i,j} = 1 $ 。

    • 邻域的逐元素中位数 Elementwise Median Neighbor

      T(vi)=x~i=(x~1,,x~m)

      其中x~k$ \tilde x_k $ 为所有邻域节点的特征向量在第k$ k $ 维的中位数(带权重):

      x~k=median(wi,1×x1,k,,wi,|N(i)|×x|N(i)|,k)

      中位数指的是排序之后位于正中间的那个数。

  2. 与传统的自编码器相比,我们的邻域增强自编码器在保持节点之间的邻近性方面效果更好。因为邻域增强自编码器迫使节点重建相似的目标邻域,从而使得位置相近的节点具有相似的representation。因此,它捕获了节点属性信息和局部网络结构信息。

    另外,重建的目标综合了多个邻域节点的信息,这比传统的重建单个节点(目标节点自身)更为鲁棒。因为单个节点的波动更大。

    最后,我们提出的邻域增强自编码器是一个通用框架,可用于各种自编码器的变体,如降噪自编码器、变分自编码器。

23.1.2 属性感知 SkipGram 模型

  1. 属性感知SkipGram 模型将属性信息融合到 SkipGram 模型。具体而言,在SkipGram 的目标函数中为随机游走上下文提供当前节点的属性信息:

    Lsg=i=1nvjCilogp(vjxi)

    其中:

    • vj$ v_j $ 为随机游走序列中当前节点vi$ v_i $ 的上下文。Ci$ \mathbb C_i $ 为当前节点vi$ v_i $ 的上下文集合。

    • p(vjxi)$ p(v_j\mid \mathbf{\vec x}_i) $ 为给定当前节点vi$ v_i $ 及其节点属性的条件下,上下文节点为vj$ v_{j} $ 的概率。我们定义该条件概率为:

      p(vjxi)=exp(cjf(xi))j=1nexp(cjf(xi))

      其中:

      • xi$ \mathbf{\vec x}_i $ 为节点vi$ v_i $ 的属性信息。
      • f()$ f(\cdot) $ 为任意的属性编码器,如针对图片数据的 CNN 编码器、针对序列数据的 RNN 编码器。这里我们使用邻域增强自编码器(见小面的小节)。
      • cj$ \mathbf{\vec c}_j $ 为节点vj$ v_j $ 作为上下文时的上下文representation

      因此,p(vjxi)$ p(v_j\mid \mathbf{\vec x}_i) $ 不仅对节点属性进行建模,还对网络结构进行建模。

  2. 直接优化p(vjxi)$ p(v_j\mid \mathbf{\vec x}_i) $ 的计算代价太大,因为分母需要对所有节点进行求和。同样地,我们使用负采样技巧:

    Lsg=i=1nvjCi{logσ(cjf(xi))+s=1SEjPn(v)[logσ(cjf(xi))]}

    其中:

    • σ(x)=1/(1+exp(x))$ \sigma(x) = 1/(1+\exp(-x)) $ 为sigmoid 函数。
    • S$ S $ 为每个正样本的负采样数量。
    • Pn(v)$ P_n(v) $ 为负采样的概率分布。这里我们使用Pn(v)dv3/4$ P_n(v)\propto d_v^{3/4} $ ,其中dv$ d_v $ 为节点v$ v $ 的 degree

23.1.3 ANRL 模型

  1. ARNL 模型同时利用了网络结构和节点属性信息。如下图所示,ANRL 模型由两个耦合的模块组成:邻域增强自编码器模块、属性感知SkipGram 模块。

    编码器将输入的属性信息映射到低维向量空间,并扩展出两路输出:

    • 左路输出为邻域增强自编码器的解码器部分。
    • 右路输出用于预测属性感知SkipGram 的节点上下文。

    邻域增强自编码器、属性感知 SkipGram 共享网络的前几层(编码器部分),因此这两个模块相互耦合。通过这种方式,ARNL 学到的节点vi$ v_i $ 的representationyi(K)$ \mathbf{\vec y}_i^{(K)} $ 同时捕获了节点属性信息、网络结构信息。

    ANRL 可以视为多任务模型,包括:基于邻域增强自编码器的邻域属性重建任务、基于属性感知 SkipGram 的上下文预测任务。二者共享节点的 representation

  2. ANRL 模型通过联合学习邻域增强自编码器模块、属性感知SkipGram 模块两个模块,其目标函数为:

    L=Lsg+αLae+βLreg=i=1nvjCi{logσ(cjzi)+s=1SEjPn(v)[logσ(cjzi)]}+αi=1nx^iT(vi)22+β2k=1K(W(k)F2+W^(k)F2)

    其中:

    • α,β$ \alpha,\beta $ 分别为邻域增强自编码器模块、正则化的权重。
    • Ci$ \mathbb C_i $ 为节点vi$ v_i $ 随机游走的上下文节点集合,cj$ \mathbf{\vec c}_j $ 为节点vj$ v_j $ 作为上下文时的上下文representation
    • yi$ \mathbf{\vec y}_i $ 为编码器模块的输出,即f(xi)=yi=yi(K)$ f(\mathbf{\vec x}_i) = \mathbf{\vec y}_i = \mathbf{\vec y}_i^{(K)} $ 。
    • W(k)$ \mathbf W^{(k)} $ 和W^(k)$ \mathbf{\hat W}^{(k)} $ 分别表示第k$ k $ 层编码器和第k$ k $ 层解码器的权重矩阵。

    通过这种方式,ANRL 将节点属性、局部网络结构、全局网络结构保留在一个统一的框架中。

    通过邻域增强自编码器模块捕获网络局部结构信息,通过属性感知的 SkipGram 模块捕获网络全局结构信息,通过这两个模块同时捕获节点属性信息。

    值得注意的是:属性感知的 SkipGram 模块的函数f()$ f(\cdot) $ 正是自编码器模块的编码器部分,它将节点属性信息转换为 representationyi(K)$ \mathbf{\vec y}_i^{(K)} $ 。因此,网络结构信息和节点属性信息将共同影响yi(K)$ \mathbf{\vec y}_i^{(K)} $ 。

    此外,为简单起见,我们使用单个非线性层来捕获图的上下文信息,并可以轻松地扩展到多个非线性层。

  3. 我们使用随机梯度算法来优化L$ \mathcal L $ 。我们迭代优化这两个耦合的模块,直到模型收敛。

  4. ANRL 训练算法:

    • 输入:

      • 属性信息网络G=(V,E,X)$ \mathcal G=(\mathcal V,\mathcal E,\mathbf X) $
      • 每个节点开始的随机游走序列数量γ$ \gamma $
      • 随机游走序列长度t$ t $
      • 上下文窗口大小b$ b $
      • embedding 维度d$ d $
      • 损失函数平衡系数α,β$ \alpha,\beta $
    • 输出:节点的representation 矩阵YR|V|×d$ \mathbf Y\in \mathbb R^{|V|\times d} $

    • 算法步骤:

      • 对每个节点执行γ$ \gamma $ 次随机游走,游走序列长度为t$ t $ 。

      • 从随机游走序列中构建每个节点的上下文集合C$ \mathbb C $ 。

      • 根据函数T()$ T(\cdot) $ 构建每个节点的目标邻域。

      • 随机初始化所有的参数Θ$ \Theta $ 。

      • 迭代直到模型收敛,迭代步骤为:

        • 随机采样一个mini-batch 的节点及其上下文。
        • 计算梯度ΘLae$ \nabla_{\Theta} \mathcal L_{ae} $ ,并更新自编码器模块的参数。
        • 计算梯度ΘLsg$ \nabla_{\Theta}\mathcal L_{sg} $ ,并更新 SkipGram 模块的参数。
      • 返回Y=Y(K)$ \mathbf Y = \mathbf Y^{(K)} $ 作为节点的embedding 矩阵。

23.2 实验

  1. 数据集:

    • 社交网络数据集:FacebookUNC 数据集是两个典型的社交网络数据集,节点代表用户,边代表用户的好友关系。

    • 引文网络数据集:CiteseerPubmed 是典型的引文网络数据集,节点代表论文或出版物,边代表它们之间的引用关系。

      • Citeseer 中的论文分为六种类别:Agents,AI,DB,IR,ML,HCI
      • Pubmed 中的论文分别三种类别:Diabetes Mellitus ExperimentalDiabetes Mellitus Type 1I型糖尿病)、Diabetes Mellitus Type 2II 型糖尿病)。
    • 用户行为网络数据集: UniIDFraud Detection 是阿里巴巴提供的两个真实的用户行为数据集。

      • UniID 网络中的节点表示物理设备的ID,边表示在同一个用户的行为记录中观察到两个ID 同时出现。

      • Fraud Detection 网络中存在两种类型的节点:cookie节点(代表买家)、seller节点(代表卖家)。cookie 节点包含了带属性的 cookie 信息。

        为了获得同质cookie 网络,我们采用如下方法将二部图映射为仅包含 cookie 节点的图:当且仅当两个 cookie 之间存在至少五个共同的 seller 节点时,连接这两个 cookie 节点。我们的目标是鉴别哪些 cookie 是可疑的。

  2. Baseline 模型:我们将当前state-of-the-artnetwork representation learning方法划分为以下几组:

    • 仅属性的方法Attribute-only:仅考虑节点属性信息。这里我们选择 SVM 和自编码器作为 baseline 模型。
    • 仅结构的方法Structure-only:仅考虑网络结构信息。这里我们选择 DeepWalk, node2vec, LINE, SDNE 作为 baseline 模型。
    • 属性和结构的方法Attribute + Structure :同时考虑节点属性信息和网络结构信息。这里我们选择 AANE, SNE, Planetoid-T,TriDNR, SEANO 作为 baseline 模型。

    最后我们还给出 ANRL 的几个变体:

    • ANRL-WAN:使用 Weighted Averate Neighbor 来构造目标邻域。
    • ANRL-EMN:使用 Elementwise Media Neighbor 来构造目标邻域。
    • ANRL-OWN:采用传统的自编码器来重建节点自己,而不是重建目标邻域。
  3. 模型配置:

    • 对于 baseline 模型,我们使用原始作者发布的实现版本,并且 baseline 模型的参数已经调整为最优。

    • Fraud Detection 数据集中,我们选择将 embedding 维度设置为d=64$ d=64 $ ,其它数据集d=128$ d=128 $ 。

    • 对于 LINE 模型,我们将一阶representation 和二阶 representation 拼接起来作为最终 representation

    • 对于 ANRL,我们选择随机游走序列长度为 80、每个节点开始的随机游走序列数量为 10、负采样比例为 5、窗口大小为 10

      另外,ANRL 左路输出(包括了编码器和解码器)的层数和尺寸如下图所示,而右路输出仅使用单层神经网络。

  4. 链接预测任务:我们通过链接预测任务来评估各种算法学到的 embedding 的链接预测能力。

    我们随机移除图中 50% 的链接,然后在移除后的图上训练节点 embedding 。一旦获得了节点 embedding,我们将被移除的链接作为正样本,然后随机选择相同数量的、并不存在的链接作为负样本,从而构造测试集。我们在测试集上评估embedding 的链接预测能力,具体做法是:根据余弦相似度对正样本和负样本进行排序。我们采用 AUC 来评估排序的质量,较高的 AUC 表示更好的性能。

    在三个无标签的数据集(Facebook,UNC,UniID)上进行链接预测任务的效果如下图所示。结论:

    • ANRL 在所有数据集上都显著超越了baseline

    • 由于DeepWalk,node2vec,LINE,SDNE 仅利用网络结构信息,因此当网络极为稀疏时(如UniID 数据集),它们的性能相对较差。

      有趣的是,在这一组四个模型中,node2vec 取得了最好的结果。主要是因为 node2vec 可以通过有偏的随机游走探索各种网络结构信息。

    • 与之前的研究结果一致:我们观察到结合节点属性和网络结构信息可以提高链接预测性能,这反映了属性信息的价值。

      其中,AANE,TriDNR 仅利用一阶网络结构信息,它们无法捕获足够的信息来进行链接预测。而该组其余算法通过在网络上执行随机游走从而捕获更高阶的网络邻近信息从而获得更好的性能。

    • ARNL 同时利用了节点属性信息(通过邻域增强自编码器和属性感知 SkipGram 模型)、全局结构信息(通过属性感知 SkipGram 模型)、局部结构信息(通过邻域增强自编码器)。我们认为性能提升的主要原因之一是 ANRL 同时考虑了局部结构信息和全局结构信息。

  5. 节点分类:我们通过分类预测任务来评估各种算法学到的 embedding 的分类预测能力。

    我们从每个类别中随机选择 20 个样本,并将它们作为标记数据(剩余所有节点在训练 embedding 过程中 label 信息不可用)来训练半监督 baseline 。在学到节点embedding 之后,我们随机选择 30% 的节点来训练 SVM 分类器,剩余节点作为测试集用于评估性能。我们重复该过程 10 次,并报告测试集上的平均Macro-F1 和平均 Micro-F1 。实验结果如下。结论:

    • ANRL-WAN 在所有数据集中超越了所有baseline 方法,其它基于属性和结构的方法紧随其后,然后是基于结构的方法。这证明了属性信息的价值,对节点属性进行适当的建模可以带来更好的 representation ,并显著提高性能。

    • attribute-only 方法优于大多数 structure-only 方法。因为和节点属性相比,单纯的网络结构为分类任务提供的信息非常有限。

      另外,我们发现自编码器比 SVM 稍差,这表明降维的过程中可能会丢失一部分有用的信息。

    • SEANO 通过在representation learning 阶段聚合邻域的属性信息,超越了其它几种最新的 Attribute + Structure 方法。

      AANE 在该组的表现不佳,原因是 AANE 涉及到亲和矩阵affinity matrix 的分解操作。由于我们通常不知道每对节点之间的相似性,因此需要根据特定的相似性度量进行计算。这大大降低了 AANE 的性能。

    • ANRL-WANANRL-EMN 的性能优于 ANRL-OWN以及大多数其它baseline 方法。

      ANRL-WAN 明显优于 ANRL-OWN,这证明了我们提出的邻域增强自编码器的有效性。此外,我们的属性感知 SkipGram 模块和邻域增强自编码器模块使得潜在 representation 更加平滑和鲁棒,这对于很多任务而言也是很重要的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文