network embedding 网络表示学习的大致总结

 Big Data Challenge
数据随着时间呈现指数增长,计算力也呈指数增长,但这是在数据非连接的情况下;数据之间存在相互关系的时候,计算力的要求达到双指数增长;很多数据呈现为网络形式,如社交网络、生物网络、互联网、论文引用网络等。

 维度灾难:
在单元立方体中,子立方体中的均匀数据。维度p=10的时候,需要在每一个坐标轴上覆盖80%才能捕获10%的数据。在高维空间上,大多数数据点处在样本空间的边缘;全部的数据都稀疏在输入空间中,因此在保留更多原始数据信息的条件下是有助于数据处理的,也能降低计算复杂度。
 NE 方法
1. 传统方法:统计图的度(degrees)、聚类系数(clustering coefficients)、核函数(kernel function) 还有手工特征设计。
2. 时兴方法:表示学习,即学习一个映射(mapping)把节点或整个(子)图嵌入(embed)到低维向量空间,Rd 。
3. 两者的差别在于1是把问题做为预处理环节,2是把问题作为机器学习本身(data-driven approach),因为是通过数据本身优化学习到的mapping(作为参数或者模型),使得该mapping反映更多得原始图信息。
 Proximity
在传统的图嵌入上直接使用邻接矩阵作为邻近性矩阵(proximity matrix),在网络上需要设计邻近性矩阵,这与网络嵌入的目标有关,定义网络嵌入可以从共同的邻接点、高阶邻近性、社区结构等出发。

 传统的网络表示一般使用高维的稀疏向量. 但是高维稀疏的表示也成为了人们使用统计学习方法时的局限所在, 因为高维的向量将会花费更多的运行时间和计算空间. 随着表示学习技术在自然语言处理(Word2vec)等领域的发展和广泛应用, 研究者们转而探索将网络中的节点表示为低维稠密的向量表示的方法. 直觉上来看, 在网络中拓扑结构相似的节点也应该具有相近的向量表示. 这里向量表示的相似性一般用向量间的余弦距离或者欧氏距离来表示. 之后这些作为节点表示的向量就可以用作对应节点的特征并应用到后续的任务场景中.

 Word2vec
结构之一skip-gram:其目的是给定目标词,预测上下文单词。训练方式是首先随机初始化隐层权重矩阵,单词的独热编码作为神经网络的输入,在输出层定义一个softmax分类器,以cosin相似度计算给定中心词VC,输出其上下文词VO的概率,损失函数是通过负采样正则化的Negtive log likelihood。

 Random Walk
随机游走与word2vec类似,通过给定一个顶点,固定步长的随机游走作为产生给定顶点的上下文;网络上的随机游走可以产生与文本中的字分布相似的幂律分布;第二个公式(i.i.d.);优势:语言建模的推广、扩展性高。
 Node2vec
是rw的推广,在每次随机游走的选择上加入了偏执值,可以模拟图的BFS、DFS策略,从而得到局部或者全局视角上的NE embedding。
 M-NMF
视角是从保留社区结构出发,把网络分成具有模块性(modularity)的社区,把已有的社区发现算法加入了NE。
 SDNE
为捕捉网络的非线性结构,启发了用DeepLearning(编码器方法)学习网络embedding。输入端X(即邻接矩阵S),编码后的输出是HOT-X(重构数据),y(k)是第k隐层的embedding;总的损失函数度量每层编码前后的损失(最小二乘),但是由于网络的稀疏性,只要邻接矩阵Sij位置是0值,则设bij位置等于β>1,做为损失函数的2nd项,1st项为隐层中每条边之间的距离惩罚(有边连接的embedding相似),lreg是拉普拉斯(Laplac ian matrix L满足L = D-A。D为degree matrix,DM是对角矩阵)特征映射的正则化项。
实验:

 HOPE
顶点对(u,v),从u到v的路径越多,从u到v存在一条边的可能性越大。
(In computer networking, a hop is one portion of the path between source and destination)。这篇论文把之前利用图的邻接矩阵为基础得到的许多度量方法(Katz:衡量两个顶点之间路径集合的带权和。…)都统一为矩阵分解,定义S为高阶邻近矩阵,目标公式是(1),由(2)得S。文章证明了S可有推广的SVD求解:S=正交矩阵×对角矩阵×正交矩阵。

结论:property preserving network embedding is a relatively new research topic and is
only studied lightly.

 Meta-Strategy
一种预处理方法,对图预处理以后,在粗糙图(coarsened graph)上可提高DeepWalk、node2vec、LINE。
算法:

图粗糙化的过程(line 1):将图g中的相关节点折叠成“超节点”(supernodes):

然后在这个粗糙化的图上运行任意的嵌入方法,如DeepWalk、node2vec或LINE。由此也得到每个超节点(supernode)的嵌入(embedding),在下一次迭代中,将每个超节点的嵌入作为下一个更粗糙的图对应于超节点的组成节点的初始值,继续迭代直到所有节点的embedding都得到。

 NE plus 附信息(side information)
附信息包括节点上下文、节点标签,还有异构网络中的不同点和边的类型。
 CNNs plus NE
①  维度高不能有效处理百万级上的结点。
② 不能处理进化图。
③ 不能演化到其他图。
因此,提出区域聚集和卷积编码器(Neighborhood aggregation and convolution encoders)方法。
 Inductive Feature Learning
优势:可以扩展到更大的网络中(并行);推广到演化网络…
区域聚集算法通过结点的属性或特征(Xi)产生结点的embeddings,这种方法把一个结点作为周围区域(neighborhood)的函数,类似于卷积。

使用这种方法的包括graph convolutional networks(GCN)、column networks、GraphSAGE algorithm。
比如GraphSAGE(SAmple and aggreGatE):归纳式的(inductive)节点嵌入,即可以产生未知的节点(unseen node)的嵌入(embedding)。

首先,节点初始化为输入结点属性。然后用聚集函数(aggregation function)对周围邻节点(neighbors,由N确定)的embeddings进行聚集,然后放入神经网络,正则化。该过程重复k次之后结束得到结点新的embeddings。

 GANS plus NE
三篇论文各有差异,但是总体模型框架不变。
虽然现有的方法(无监督网络嵌入(unsupervised network embedding))在保持结构方面是有效的,但它们缺乏增强表示学习的鲁棒性(robustness)的额外约束(constraints)。
GANs: 由一个生成器(generator)和一个判别器(discriminator)构成. 生成器捕捉真实数据样本的潜在分布(latent distribution), 并生成伪造的数据样本; 判别器是一个二分类器, 判别输入是真实数据还是生成的样本.

公式的意义:先更新θD ,使V(G,D)尽量得最大值,即
D(V, Vc; θD) 判别正确;然后更新θG ,使V(G,D)尽量得最小值,即G(V|VC; θG) 生成尽可能正确的伪样本。

这里,z是噪声数据,从z中采样作为x,形成绿色的高耸的部分,原始数据Xdata是不变的。
蓝色虚线是分类器(sigmoid),黑色虚线是原始数据,绿色实线是生成数据。
最初的时候D可以很好的区分开真实数据和生成数据,看图(b),对于蓝色虚线而言,单纯的绿色部分可以很明确的划分为0,黑色虚线的部分可以很明确的划分成1,二者相交的部分划分不是很明确。
看图(c)绿色实现生成数据更新,与原始数据相似度增加。最后一张图,经过多次更新与对抗生成之后,生成数据已经和原始数据非常相像的了,这时分类器已经无法判断到底是输出1还是0,于是就变成了0.5一条水平线。
模型结构:
1. 网络嵌入:保留结构.
2. 对抗学习:先验分布Z1作为正样本与编码得到的网络嵌入(A是邻接矩阵;X是节点上下文矩阵(额外信息得到))作为负样本作为判别器的输入,起正则化功能。训练时:Generator参数被两个过程共享。
GraphGAN:

在每次迭代中,用来Ptrue(.|Vc) (绿色顶点)的正样本和来自生成器G(.|VC; θG) (带蓝色条纹的顶点)的负样本训练判别器D,并在D指导下用策略梯度(policy gradient)更新生成器G。训练直到G与真正的连通性分布无法区分为止。

 Conclusion and Future Directions
结论:1.网络数据存在于任何真实应用中;2.缺点:复杂、不可扩展;
3.基本解决方法NE;4.NE有价值5.还年轻。

猜你喜欢

转载自blog.csdn.net/nockinonheavensdoor/article/details/80172901