题目:ANRL: Attributed Network Representation Learning via Deep Neural Networks
作者:Zhen Zhang and Hongxia Yang and Jiajun Bu and Sheng Zhou and Pinggang Yu and Jianwei Zhang and Martin Ester and Can Wang
来源:IJCAI 2018
传统的基于网络结构的网络表示学习方法没有利用属性信息。结合拓扑结构和属性的表示学习方法目前仍然属于初步阶段原因:
(1)网络结构和节点属性是两种异构信息源,如何在同一个向量空间中保留他们的属性是一个问题。
(2)观察到的网络数据通常不完整甚至有噪声,难以得到有效的表示。
创新点
(1)自编码器的用法:用属性作为输入,重建的是并不是自身属性,而是邻居属性的聚合(加权平均或中位数)。这样聚合邻居特征有点类似GCN的做法,好处是聚合后的特征能够带有本地拓扑信息。所以作为中间层的表示也一定程度上考虑了本地结构信息。(但是这方面文中并没有详细解释为什么好)
(2)属性和拓扑的结合方式:用自编码器的中间层作为embedding;用embedding计算二阶相似度来更新embedding。
模型
Neighbor Enhancement Autoencoder
输入:节点 v i v_i vi的特征 x i x_i xi
输出:节点 v i v_i vi 邻居的特征重建值,重建的目标 T ( v i ) T(v_i) T(vi) 聚合了邻居的特征
自编码器loss定义
(2) L a e = ∑ i = 1 n ∥ x ^ i − T ( v i ) ∥ 2 2 \mathcal{L}_{a e}=\sum_{i=1}^{n}\left\|\hat{\mathbf{x}}_{i}-T\left(v_{i}\right)\right\|_{2}^{2}{\tag 2} Lae=i=1∑n∥x^i−T(vi)∥22(2)
其中 T ( ⋅ ) T(\cdot) T(⋅) 采取以下两种方式:
-
Weighted Average Neighbor:
邻居特征的加权平均
T ( v i ) = 1 ∣ N ( i ) ∣ ∑ j ∈ N ( i ) w i j x j T\left(v_{i}\right)= \frac{1}{|\mathcal{N}(i)|} \sum_{j \in \mathcal{N}(i)} w_{i j} \mathbf{x}_{j} T(vi)=∣N(i)∣1j∈N(i)∑wijxj -
Elementwise Median Neighbor:
取每一维特征在邻居节点中的中位数
T ( v i ) = x ~ i = [ x ~ 1 , x ~ 2 , ⋯   , x ~ m ] T\left(v_{i}\right)=\tilde{\mathbf{x}}_{i}=\left[\tilde{x}_{1}, \tilde{x}_{2}, \cdots, \tilde{x}_{m}\right] T(vi)=x~i=[x~1,x~2,⋯