十九、AANE

  1. 在很多实际应用中,网络顶点通常会伴随着一组丰富的属性或特征,即属性网络 attributed network。因此,在对顶点embedding 建模的过程中考虑顶点属性会有所帮助,即 attributed network embedding:ANE 。但是,ANE 在以下三个方面具有挑战性:

    • 算法复杂度:较高的算法复杂度限制了某些 ANE 算法在实际任务中的应用。已有一些算法基于网络的结构信息和属性信息来学习顶点embedding,但是这些算法要么在每个迭代step 中使用了 十九、AANE - 图1 复杂度的特征值分解, 要么使用了收敛速度很慢的梯度下降。

    • heterogeneous 异质信息:由于同时引入了结构信息和属性信息,因此如何在网络的结构和属性的联合空间中评估顶点的邻近度(即距离)是一个挑战。

      另外,随着网络规模的扩大,顶点的属性邻近度矩阵通常非常庞大,难以存储到单台计算机上,更别提对它进行操作。

    • 噪音:网络结构信息和顶点属性信息可能都是残缺的、带噪音的,这进一步加入了顶点 embedding 学习的难度。

    因此,现有方法无法直接应用于 scalableattributed network embedding 。为解决该问题,论文 《Accelerated Attributed Network Embedding》 提出了一种加速属性网络 embedding 算法 accelerated attributed network embedding:AANE

    一方面, AANE 将顶点属性纳入到顶点 embedding 过程中;另一方面,AANE 提出了一种分布式优化算法,该算法将复杂的建模和优化过程分解为很多子问题,从而能够以分布式方式完成联合学习。

19.1 模型

  1. 十九、AANE - 图2 为一个网络,其中 十九、AANE - 图3 为顶点集合,十九、AANE - 图4 为定输数量,十九、AANE - 图5 为边的集合,十九、AANE - 图6 为权重矩阵。定义顶点 十九、AANE - 图7 的直接邻接顶点为 十九、AANE - 图8 ,其大小为 十九、AANE - 图9

    • 每条边 十九、AANE - 图10 关联一个权重 十九、AANE - 图11 。这里我们关注于无向图,因此有 十九、AANE - 图12

      • 更大的 十九、AANE - 图13 意味着顶点 十九、AANE - 图14十九、AANE - 图15 之间产生更强的关联,或者说更大的相似性。
      • 十九、AANE - 图16 意味着顶点 十九、AANE - 图17十九、AANE - 图18 之间不存在边。
    • 定义顶点 十九、AANE - 图19 的属性向量为 十九、AANE - 图20 ,其中 十九、AANE - 图21 为属性的维度。定义属性矩阵为 十九、AANE - 图22 ,其中 十九、AANE - 图23十九、AANE - 图24 的第 十九、AANE - 图25 行。

    定义attributed network embedding 为:给定网络 十九、AANE - 图26 以及属性矩阵 十九、AANE - 图27 ,任务的目的是给出每个顶点 十九、AANE - 图28 一个低维embedding 向量 十九、AANE - 图29 ,使得embedding 向量能够同时保留顶点的结构邻近关系、顶点的属性邻近关系。

  2. ANE 需要保留网络的结构邻近关系,为此 AANE 提出两个假设:

    • 首先,假设基于图的映射在边上是平滑的,特别是对于顶点密集的区域。即图上映射的连续性假设。
    • 其次,边的权重更大的一对顶点更有可能具有相似的 embedding

    因此 AANE 提出以下损失函数来最小化相连顶点之间的 embedding 差异:

    十九、AANE - 图30

    十九、AANE - 图31 较大时(顶点 十九、AANE - 图32十九、AANE - 图33 相似性更大),为最小化 十九、AANE - 图34十九、AANE - 图35十九、AANE - 图36 的距离将减小。

  3. ANE 需要保留网络的属性邻近关系,AANE 考虑利用顶点的 embedding 内积来逼近顶点的属性相似性。

    假设顶点 十九、AANE - 图37十九、AANE - 图38 的属性相似性为 十九、AANE - 图39 ,这里我们直接使用 cosin 相似度。因此有:

    十九、AANE - 图40

    AANE 提出以下损失函数来最小化顶点之间的属性损失:

    十九、AANE - 图41

    其中 十九、AANE - 图42 为顶点之间的属性相似度矩阵;embedding 矩阵为 十九、AANE - 图43 ,其中 十九、AANE - 图44十九、AANE - 图45 的第 十九、AANE - 图46 行。

  4. 现在我们有两个损失函数 十九、AANE - 图47十九、AANE - 图48,它们分别对顶点结构邻近度、顶点属性邻近度进行建模。为了对这两种邻近度在一个统一的、信息互补的联合空间中建模,AANE 模型为:

    十九、AANE - 图49

    其中 十九、AANE - 图50 用于平衡网络结构损失和属性损失:

    • 十九、AANE - 图51 时,网络的结构不影响最终的顶点 embedding,顶点 embedding 由顶点的属性决定。
    • 十九、AANE - 图52 时,最优解倾向于使得所有顶点的 embedding 相同(即 十九、AANE - 图53 ), 此时所有顶点在embedding 空间中形成单个簇 cluster

    因此我们可以通过调节 十九、AANE - 图54 从而调整 embedding 空间中簇的数量。

  5. AANE 可以视为带正则化项的矩阵分解,其中将 十九、AANE - 图55 分解为 十九、AANE - 图56 。在分解过程中施加了基于网络结构的正则化 十九、AANE - 图57 ,该正则化迫使相连的顶点在 embedding 空间中彼此靠近。

  6. AANE 的目标函数不仅可以对网络结构邻近度和顶点属性邻近度进行联合建模,而且它还具有特殊的设计, 从而能够更有效地优化:十九、AANE - 图58 对每个 十九、AANE - 图59 都是独立的,因此可以重新表述为双凸优化问题 bi-convex optimization

    十九、AANE - 图60十九、AANE - 图61十九、AANE - 图62 的第 十九、AANE - 图63 行。因此有:

    十九、AANE - 图64

    则目标函数重写为:

    十九、AANE - 图65

    这表明 十九、AANE - 图66 对每个 十九、AANE - 图67十九、AANE - 图68 都是独立的。

    考虑到上式的每一项都是凸函数,因此这是一个双凸优化问题。因此我们可以将原始问题划分为 十九、AANE - 图69 个更小的凸优化子问题。但是, 对于这 十九、AANE - 图70 个子问题无法获得闭式解,所以我们参考交替乘子法 Alternating Direction Method of Multipliers:ADMM 的做法:将学习过程转换为 十九、AANE - 图71 个子问题的更新step 和一个矩阵更新 step

    引入增强的拉格朗日函数:

    十九、AANE - 图72

    其中 十九、AANE - 图73 为对偶变量, 十九、AANE - 图74 为罚项参数。

    我们可以交替优化 十九、AANE - 图75 从而得到 十九、AANE - 图76 的极小值点。十九、AANE - 图77 为对偶变量构成的矩阵,其中 十九、AANE - 图78十九、AANE - 图79 的第 十九、AANE - 图80 行。对于顶点 十九、AANE - 图81 ,在第 十九、AANE - 图82step 的更新为:

    十九、AANE - 图83

    根据偏导数为零,我们解得 十九、AANE - 图84十九、AANE - 图85

    十九、AANE - 图86

    由于每个子问题都是凸的,因此当 十九、AANE - 图87十九、AANE - 图88 就是极值点。因此当 十九、AANE - 图89十九、AANE - 图90 足够接近时,停止迭代。

    由于原始问题是一个 bi-convex 问题, 因此可以证明我们方法的收敛性,确保算法收敛到一个局部极小值点。

    这里有几点需要注意:

    • 在计算 十九、AANE - 图91 之前必须计算所有的 十九、AANE - 图92

    • 计算 十九、AANE - 图93 之间是相互独立的。

    • 机器内存有限,则也可以不必存储相似度矩阵 十九、AANE - 图94 ,而是需要的时候相互独立计算 十九、AANE - 图95

      十九、AANE - 图96

      其中 十九、AANE - 图97十九、AANE - 图98 的第 十九、AANE - 图99 项, 十九、AANE - 图100 为逐元素积。

  7. 为了进行适当的初始化,我们在第一次迭代中将 十九、AANE - 图101 初始化为 十九、AANE - 图102 的左奇异值。其中 十九、AANE - 图103 为一个矩阵,它包含了 十九、AANE - 图104 的前 十九、AANE - 图105 列。

  8. AANE 将优化过程分为 十九、AANE - 图106 个子问题,然后迭代地求解它们。在每轮迭代过程中,可以分布式地将 十九、AANE - 图107 (或者 十九、AANE - 图108 )的 十九、AANE - 图109 个更新 step 分配给 十九、AANE - 图110worker 。当原始残差 十九、AANE - 图111 或者对偶残差 十九、AANE - 图112 足够小时,停止迭代。

    整体而言,AANE 优化算法具有以下优点:

    • 十九、AANE - 图113十九、AANE - 图114十九、AANE - 图115 个更新step 之间彼此独立。因此,在每轮迭代过程中,全局调度器可以将子优化任务分派给 worker ,无需考虑子任务之间的顺序。
    • 每个子任务的算法复杂度都很低。
    • 算法很快就能够收敛到一个合适的解。
  9. AANE 优化算法:

    • 输入:

      • 十九、AANE - 图116
      • 顶点属性矩阵 十九、AANE - 图117
      • embedding 维度 十九、AANE - 图118
      • 收敛阈值 十九、AANE - 图119
    • 输出:所有顶点的 embedding 矩阵 十九、AANE - 图120

    • 步骤:

      • 从属性矩阵 十九、AANE - 图121 中提取前 十九、AANE - 图122 列,构成 十九、AANE - 图123

      • 初始化:十九、AANE - 图124十九、AANE - 图125十九、AANE - 图126 的左奇异向量, 十九、AANE - 图127十九、AANE - 图128

      • 计算属性相似度矩阵 十九、AANE - 图129

      • 迭代,直到残差 十九、AANE - 图130 或者对偶残差 十九、AANE - 图131 。迭代步骤为:

        • 计算 十九、AANE - 图132
        • 分配 十九、AANE - 图133 个子任务到 十九、AANE - 图134worker, 然后更新:对于 十九、AANE - 图135 计算 十九、AANE - 图136
        • 计算 十九、AANE - 图137
        • 分配 十九、AANE - 图138 个子任务到 十九、AANE - 图139worker, 然后更新:对于 十九、AANE - 图140 计算 十九、AANE - 图141
        • 计算 十九、AANE - 图142
        • 更新 十九、AANE - 图143
      • 返回 十九、AANE - 图144
  10. 下图说明了 AANE 的基本过程:给定一个包含 十九、AANE - 图145 个顶点的图,首先通过 十九、AANE - 图146十九、AANE - 图147 来分解属性邻近度矩阵 十九、AANE - 图148 ,在分解过程中增加了基于边的惩罚项,使得相连的顶点在 embedding 空间中彼此靠近。这种惩罚由 十九、AANE - 图149 来控制。

    在优化过程中,我们将原始问题划分为 十九、AANE - 图150 个复杂度很低的子问题:前 6 个子问题相互独立、后 6 个子问题也相互独立。因此所有子问题可以分配给 十九、AANE - 图151worker

    在最终输出中,顶点 13embedding 分别为 十九、AANE - 图152 以及 十九、AANE - 图153 。它们距离非常接近,这表明它们在原始结构和属性的联合空间中彼此相似。

    十九、AANE - 图154

  11. 由于AANE 的优化算法是一个典型的 ADMM 算法,因此训练算法在迭代很少的几个 step 之后就能收敛到很高的精度。

    • 在初始化步骤,由于需要计算奇异值向量,因此计算复杂度为 十九、AANE - 图155

    • 在每个子任务过程中,更新 十九、AANE - 图156 的计算复杂度为 十九、AANE - 图157 。注意:我们只需要在每轮迭代中计算一次 十九、AANE - 图158 。由于 十九、AANE - 图159, 因此其计算复杂度为 十九、AANE - 图160

      另外,可以验证每个子任务的空间复杂度为 十九、AANE - 图161

    因此 AANE 总的时间复杂度为 十九、AANE - 图162 ,其中 十九、AANE - 图163 为矩阵 十九、AANE - 图164 的非零元素数量, 十九、AANE - 图165worker 数量。

19.2 实验

  1. 数据集:

    • BlogCatalog 数据集:一个博客社区,用户彼此关注从而构成一个网络。用户可以生成关键词来作为其博客的简短描述,我们将这些关键词作为顶点(用户)的属性。用户也可以将其博客注册为指定的类别,我们将这些类别作为用户的 label

      没有关注或者没有指定类别的用户从网络中剔除。

    • Flickr 数据集:一个在线图片共享社区,用户彼此关注从而构成一个网络。用户可以为图片指定 tag ,我们将这些 tag 作为顶点(用户)的属性。用于可以加入不同的组,我们将这些组作为用户的 label

    • Yelp 数据集:一个类似大众点评的本地生活评论网站。我们基于用户的社交关系来构成一个网络。我们从用户的评论中利用bag-of-word 抽取文本信息来作为用户的属性信息。所有本地商家分为 11 个主要类别,如 Active Life, Fast Food, Services... ,我们将用户所点评的商家的类别作为用户的 label

    十九、AANE - 图166

  2. baseline 模型:为评估顶点属性的贡献,我们对比了 DeepWalk,LINE,PCA 等模型,这些baseline 模型仅能处理网络结构或者顶点属性,无法处理二者的融合;为了对比AANE 的效率和效果,我们对比了其它的两种 ANE 模型 LCMF, MultiSpec

    • DeepWalk:使用 SkipGram 学习基于图上的随机游走序列从而得到图的 embedding
    • LINE:建模图的一阶邻近度和二阶邻近度从而得到图的 embedding
    • PCA:经典的降维技术,它将属性矩阵 十九、AANE - 图167top d 个主成分作为图的 embedding
    • LCMF:它通过对网络结构信息和顶点属性信息进行联合矩阵分解来学习图的 embedding
    • MultiSpec:它将网络结构和顶点属性视为两个视图 view ,然后在两个视图之间执行 co-regularizing spectral clustering 来学习图的 embedding

    所有模型的 embedding 维度设置为 十九、AANE - 图168

    在所有实验中,我们首先在图上学习顶点的 embedding,然后根据学到的 embedding 向量作为特征,来训练一个SVM 分类模型。分类模型在训练集上训练,然后在测试集上评估Macro-F1Micro-F1 指标。

    在训练SVM 时,我们使用五折交叉验证。所有的顶点被随机拆分为训练集、测试集,其中训练集和测试集之间的所有边都被移除。考虑到每个顶点可能属于多个类别,因此对每个类别我们训练一个二类 SVM 分类器。

    所有实验均随机重复 10 并报告评估指标的均值。

  3. 我们首先评估这些方法的效果。我们分别将分类训练集的规模设置为 10%,25%,50%,100%。其中,由于 Yelp 数据集的规模太大,大多数ANE 方法的复杂度太高而无法训练,因此我们随机抽取其 20% 的数据并设置为新的数据集,即 Yelp1

    所有模型的分类效果如下所示:

    十九、AANE - 图169

    所有模型在完整的 Yelp 数据集上的分类效果如下所示,其中 PCA,LCMF,MultiSpec 因为无法扩展到如此大的数据集,因此不参与比较:

    十九、AANE - 图170

    结论:

    • 由于利用了顶点的属性信息,因此LCMF,MultiSpec,AANE 等属性网络embedding 方法比 DeepWalk,LINE 等网络结构embedding 方法效果更好。
    • 我们提出的 AANE 始终优于 LCMF, MultiSpec 方法。
    • LCMF,MultiSpec 方法无法应用于大型数据集。
  4. 然后我们评估这些方法的训练效率。我们将 AANELCMF,MultiSpec 这些属性网络 embedding 方法进行比较。下图给出了这些模型在不同数据集上、不同顶点规模的训练时间。

    结论:

    • AANE 的训练时间始终比 LCMFMultiSpec 更少。
    • 随着顶点规模的增加,训练效率之间的 gap 也越来越大。
    • AANE 可以在多线程环境下进一步提升训练效率。

    十九、AANE - 图171

  5. 参数敏感性:这里我们研究参数 十九、AANE - 图172十九、AANE - 图173 的影响。

    • 参数 十九、AANE - 图174 平衡了网络结构和顶点属性之间的贡献。为研究 十九、AANE - 图175 的影响,我们将其从 十九、AANE - 图176 变化到 十九、AANE - 图177 ,对应的分类 Micro-F1 效果如下所示。

      • 十九、AANE - 图178 接近于 0 时,模型未考虑网络结构信息。随着 十九、AANE - 图179 的增加,AANE 开始考虑网络结构,因此性能不断提升。
      • 十九、AANE - 图180 接近 0.1 时,模型在 BlogCatalogFlickr 上的效果达到最佳。随着 十九、AANE - 图181 的继续增加,模型性能下降。因为较大的 十九、AANE - 图182 倾向于使得所有顶点具有相同的 embedding

      十九、AANE - 图183

    • 为研究 embedding 维度 十九、AANE - 图184 的影响,我们将 十九、AANE - 图18510 变化到 180,对应的分类 Micro-F1 效果如下所示。我们仅给出 Flickr 数据集的结果,BlogCatalogYelp 的结果也是类似的。

      可以看到:

      • 无论 十九、AANE - 图186 为多少,DeepWalkLINE 都不如属性网络 embedding 方法(AANE,LCMF,MultiSpec
      • 无论 十九、AANE - 图187 为多少,AANE 的效果始终最佳。
      • 十九、AANE - 图188 增加时,这些模型的效果先提高、然后保持稳定。这表示低维 embedding 已经能够捕获大多数有意义的信息。

      十九、AANE - 图189