网络表示学习论文阅读之SDNE

Structural Deep Network Embedding


摘要

几乎所有现有的网络表示方法采用的都是浅层模型。然而,由于底层网络结构的复杂性,浅层模型往往不能捕获高度非线性的网络结构,最终的结果也是次优网络表示。为了有效捕捉高度非线性网络结构并保持全局以及局部的结构,作者在论文中提出了Structural Deep Network Embedding (SDNE) 方法。论文首次提出了一个半监督的深层模型,它具有多层非线性函数,从而能够捕获到高度非线性的网络结构。然后使用一阶和二阶邻近关系来保持网络结构。二阶邻近关系被无监督学习用来捕获全局的网络结构,一阶邻近关系使用监督学习来保留网络的局部结构。通过在半监督深度模型中联合优化它们,该方法可以保留局部和全局网络结构,并且对于稀疏网络是强壮的。

简介

现如今,网络无处不在,真实世界中的许多应用程序需要挖掘这些网络中的信息。比如Twitter中的推荐系统,其主要目的是通过挖掘社交网络为用户推送他们喜欢的推文,同样还有广告推送。
网络表示学习有以下的挑战:

  1. 高度非线性化 (High non-linearity):网络底层的结构是高度非线性的,在model中需要将网络的高度非线性考虑进去;
  2. 结构的保留 (Structure-preserving):为了支持应用程序对网络的分析,在网络embedding的过程中需要保留网络的结构;
  3. 稀疏性 (Sparsity):现实世界的网络通常是稀疏的,使用非常有限的链接不能够取得很好的表现。

在过去的数十年,许多采用浅层网络的网络embedding方法被提出,主要有IsoMAPLaplacian Eigenmaps (LE)Line。然而,因为浅层网络表达的能力有限,因而很难捕获到网络结构中存在的高度非线性结构。

为了捕获结构中的高度非线性关系,论文提出了一种深层模型来对网络进行向量表示。这是受最近成功的深度学习的启发,它已被证明具有强大的表示能力来学习复杂的数据结构,并在处理图像,文本和音频数据方面取得了实质性成功。在模型中,设计了一个由多个非线性函数组成的多层结构。 多层非线性函数的组成可以将数据映射到高度非线性的潜在空间,从而能够捕获高度非线性的网络结构。

为了解决保持结构性和稀疏性,文中提出了一阶和二阶邻近关系。通过一阶相似性来维护网络局部结构,通过二阶相似性来捕获全局的网络结构。为了维护深层模型中的局部和全局的网络结构,论文采用了半监督结构,其中的无监督组件通过重建二阶相似性来维护网络的全局结构,而监督组建利用一阶相似性来保存局部的网络结构。

框架

论文提出了一种半监督深层模型来进行网络embedding,其架构图如下:

SDNE架构

为了捕捉高度非线性的网络结构,论文提出了一种深度架构,它由多个非线性映射函数组成,通过将输入数据映射到高度非线性的潜在空间以捕获网络结构。论文通过重构每个节点的邻域结构来设计无监督学习部分来保持二阶相似性。设计监督学习部分来利用一阶相似性作为监督信息来改进潜在空间中的表示。

损失函数

首先描述无监督组件如何利用二阶邻近关系来保持全局网络结构。 Auto-encoder 是一个无监督模型,主要包括编码器 (encoder) 和解码器 (decoder) 两部分组成。编码器由多个将输入数据映射到表示空间的非线性函数组成。解码器包括将表示空间中的表示映射到重构空间的多个非线性函数。对于给定的输入 x i ,在各个隐藏层的表示为:

y i ( 1 ) = σ ( W ( 1 ) x i + b ( 1 ) )

y i ( k ) = σ ( W ( k ) x i + b ( k ) ) , k = 2 , . . . . , K

在获得 y i ( K ) 后,我们可以通过颠倒编码器的运算过程得到输出 x ^ i 。自编码器的目标是最小化输出和输入的重构误差。损失函数的定义如下:

L = i = 1 n x ^ i x i 2 2

如果我们使用邻接矩阵S作为自编码器的输入,即 x i = s i ,由于每个实例 s i 表征顶点 v i 的邻域结构,所以重构过程将使具有相似邻域结构的顶点具有相似的潜在表示。

然而,由于网络的某些特殊性,这样的重建过程不能直接应用于问题。在网络中,我们可以观察到一些链接,但同时没有观察到许多合法的链接,这意味着顶点之间的链接确实表示它们的相似性,但没有链接不一定表示它们不同。而且,由于网络的稀疏性, S 中非零元素的数量远小于零元素的数量。如果直接使用 S 作为 Auto-encoder 的输入,则更容易重构 S 中的零元素。为了解决该问题,论文中通过对非零元素的重构误差施加比零元素更重的惩罚。修改后的目标函数如下所示:

L 2 n d = i = 1 n ( x ^ i x i ) b i 2 2 = ( X ^ X ) B F 2

其中⊙意味着哈达马积, b i = b i , j j = 1 n 。其中,如果 s i , j = 0 ,那么 b i , j = 1 ,反之 b i , j = β > 1 。现在通过使用修改后的邻域矩阵S的深度自动编码器作为输入,由重建准则保证,具有相似邻域结构的顶点将被映射到表示空间附近。换句话说,模型的无监督学习可以通过重构顶点之间的二阶邻近来保持全局网络结构。

文中在监督学习过程中使用到了一阶相似性。全局的损失函数定义为:

L = i , j = 1 n s i , j y ^ i ( K ) y j ( K ) 2 2 = i , j = 1 n s i , j y ^ i y j 2 2

上面的目标函数借鉴了 Laplacian Eigenmaps 的想法,当相似的顶点在映射到嵌入空间后距离很远的时候,会产生惩罚。其他一些研究社会网络的工作中同样考虑了这个想法。论文中通过在深度学习的过程中融入该想法,使得两个批次彼此相连的节点在映射空间中也十分靠近,从而保持了模型的一阶相似性关系。

文中为保证一阶相似性与二阶相似性,提出了半监督学习的方法,结合上面监督学习与无监督学习,联合后的最小化目标函数为:

L = L 2 n d + α L 1 s t + ν L r e g

= ( X ^ X ) B F 2 + α i , j = 1 n s i , j y i y j 2 2 + ν L r e g

其中, L r e g 是为了防止过拟合定义的 L 2 n o r m 正则化,定义如下:

L r e g = 1 2 k = 1 K ( W ( k ) F 2 + W ^ ( k ) F 2 )

由于模型的高度非线性关系,在参数空间中会存在很多的局部最优解,为了解决该问题,论文中采用 Deep Belief Network 来对参数进行预先训练。完整的算法见下图:

SDNE算法伪代码

猜你喜欢

转载自blog.csdn.net/wangyang163wy/article/details/79698563
今日推荐