GAN在网络表示中的应用--GraphGAN、Adversarial Network Embedding

来源:互联网 发布:被诅咒的船mac破解版 编辑:程序博客网 时间:2024/06/03 21:18

GAN(Generative Adversarial Networks)在图像、文本数据的表示学习中应用广泛。对抗网络包含两部分,生成器和判别器。生成器的目的是生成与真实数据尽可能相似的数据,去“欺骗”判别器;判别器的目的是尽可能地将真实数据和生成的数据区分开。对抗训练就是生成器和判别器之间的一种“zero-sum”博弈,此消彼长,达到难以区分真实数据和生成器生成数据的效果。


GraphGAN

GraphGAN [1]https://arxiv.org/abs/1711.08267是发表在AAAI 2018上的用对抗生成网络学习图表示的文章。在对抗学习过程中,生成器尽可能地拟合节点vc在网络中其他所有节点上地连接分布ptrue(v|vc),并且生成最可能和节点vc连接地节点;判别器区分生成节点对(ill-connected)和真实节点对(well-connected),输出为边(v,vc)存在地概率。总的来说,生成器和判别器之间是一个最小最大的 game:

minθGmaxθDV(G,D)=c=1V(Evptrue(|vc)[logD(v,vc;θD)]+EvG(|vc;θG)[log(1D(v,vc;θD))])

Discriminator

判别器要把来自真实数据的正样本,来自生成器的负样本区分开,因而要最大化“贴对标签”的概率。本文采用sigmoid函数作为判别器(当然别的判别模型也是可以作为判别器的):

D(v,vc)=σ(dTv,dvc)=11+exp(dTvdvc)

其中 dv,dvcRk是节点在判别器中的k维向量表示。θG是所有dv的集合。采用梯度下降,只跟新与节点v, vc相关的参数:
θDV(G,D)={θD[logD(v,vc)],ifvptrue;θD[log(1D(v,vc))],ifvG.

Generator

生成器要最小化判别器“贴对标签”的概率,即:最大化判别器犯错的概率;最终拟合数据的真实分布ptrue(v|vc),并生成最可能和节点vc相连的节点:

θG(V,G)=θGc=1VEvG(|vc)[log(1D(v,vc))]=c=1Vi=1NθGG(vi|vc)[log(1D(v,vc))]=c=1Vi=1NG(vi|vc)θGlogG(vi|vc)log(1D(v,vc))=c=1VEvG(|vc)[θGlogG(|vc)log(1D(v,vc))]

θG的梯度可以看作是对θGlogG(|vc)的期望。节点vc在网络中其他节点的分布为:

G(v|vc)=exp(gTvgvc)vvcexp(gTvgvc)

根据上式,计算G(v|vc)要遍历整个网络中的节点,计算发杂度太高。Word2vector中的负采样或者分层soft-max(Haffman树)的方法可以有效解决计算复杂度高的问题,但是,这些方法并没有结合网络结构(structure)。因而,作者提出了Graph Soft-max的方法,满足以下几点特性(证明,参考论文):

  1. 归一性(Normalized),即:vvcG(v|vc;θG)=1
  2. 结构相关性(Graph-structure-aware), 即:条件概率G(v|vc;θG)随着节点间最短距离的增长而变小。
  3. 计算有效性(Computationally efficient),即:G(v|vc;θG)的计算应该只和网络中的小部分节点相关。

    在网络中以vc节点为根节点(root),构建BFS-tree:Tc; Nc(v)表示BFS树中,与节点v直接相连的所有节点:

    pc(vi|v)=exp(gTvigv)vjNc(v)exp(gTvjgv)

    为了计算G(v|vc;θG), 定义一条从节点vc到节点v的路径Pvcv={vr0,vr1,,vrm},并且vr0=vc,vrm=v
    G(v|vc)(j=1mpc(vj|vj1))p(vj1|vj)

    生成器的生成策略:

这里写图片描述

总结来说:GraphGAN用DeepWalk、LINE、node2vec训练的向量初始化生成器和判别器的参数;判别器的正样本是网络中可观测到的边,因而训练好的生成器逼近网络的一阶信息。


Adversarial Network Embedding

ANE [1]http://arxiv.org/abs/1711.07838是发表在AAAI 2018上的用对抗生成网络学习网络表示的文章
现有的网络表示方法Deep Walk、LINE、node2vec等保留了网络的一阶、二阶或者更高阶的相似性,但这些方法都缺少增加embedding鲁棒性的限制。本文通过对抗训练的规则来正则化表示学习过程。ANE包含两个部分:结构保留、对抗学习。在结构保留部分,本文实验中分别使用了 Inductive DeepWalk和Denoising Auto encoder两种模型;对抗学习部分主要是学习稳定、鲁棒的网络表示,使结构保留部分生成的网络表示服从先验(prior)分布。

这里写图片描述

Data Processing

本文对数据进行预处理,将邻接矩阵转换为shifted PPMI 矩阵。

Xij=max{logMijkMkjlogβ,0},whereM=A+A2++At,β=1N

Structure Preserving

在结构保留模块,作者提出了Inductive Deep Walk(IDW)。Deep Walk、LINE这些模型通过look up获得节点的向量表示,并不能给出网络中未出现的节点的Embedding。IDW模型通过生成器生成节点的向量表示,G(;θ1)(target), F(;θ1)(context)。
在生成了向量ui,ui后,用负采样优化的skip-gram模型训练,对于一组正的节点对(i,j):

OIDW(θ1,θ1)=logσ(F(xj;θ1)TG(xi;θ1))+n=1Klogσ(F(xn;θ1)TG(xi;θ1))

Adversarial Learning

生成器相当于是对输入的高维数据进行非线性转换,得到低维的embedding。并且这与IDW公用参数。Deep Walk采用Word2vector的架构,one-hot(input)->embedding(hidden layer)->soft-max(output), Generator相当于是input到hidden layer生成节点的向量表示。
判别器输入的负样本是生成器生成的embedding,正样本从先验(prior)p(z)中获得,也就是说真实数据分布为p(z)。
判别器:

OD(θ2)=Ezp(z)log(D(z;θ2))+Exlog(1D(G(x,θ1);θ2))

生成器:
OG(θ1)=Exlog(D(G(x,θ1);θ2))

本文在实验中,采用了IDW和 Denoising Auto-Encoder作为生成器。并且对于先验分布p(z)分别实验了 均匀分布(Uniform)和高斯分布(Gaussian),这两种先验实验结果基本相同。并且实验过程使用wGAN 中的训练技巧。

阅读全文
0 0
原创粉丝点击