GAN学习笔记(8)(GraphGAN)

许浩

   GraphGAN: Graph Representation Learning with Generative Adversarial Nets
   代码:https://github.com/hwwang55/GraphGAN
   数据集:https://snap.stanford.edu/data/ca-AstroPh.html
          https://snap.stanford.edu/data/ca-GrQc.html
          http://socialcomputing.asu.edu/datasets/BlogCatalog
          http://www.mattmahoney.net/dc/textdata
          https://grouplens.org/datasets/movielens/1m/

3. Motivation

网络表示学习方法可以分成两个类别。

一种是Generative model(生成式模型),假定对于每一个顶点,在图中存在一个潜在的、真实的连续性分布 P t _t t r _r r u _u u e _e e(v|v c _c c), 图中的每条边都可以看作是从P t _t t r _r r u _u u e _e e里采样的一些样本。生成式方法都试图将边的似然概率最大化,来学习vertex embedding。例如DeepWalk (KDD 2014) and node2vec (KDD 2016)。

Discriminative Model(判别式模型)将两顶点联合作为feature,预测两点之间存在边的概率。例如SDNE (KDD 2016) and PPNE (DASFAA, 2017)。

LINE (WWW 2015) 尝试将两者结合起来。

目标

在GraphGAN的学习过程中训练两个模型:

  1. 生成器G( v v v| v c v_c vc),它尽可能地拟合潜在的真实连通性分布 P t P_t Pt r _r r u _u u e _e e v v v| v c v_c vc),并生成最有可能与 v c v_c vc连接的顶点;
  2. 鉴别器D( v v v v c v_c vc),它试图区分好连通顶点对和不连通顶点对,并计算 v v v v c v_c vc之间是否存在边的概率。在提出的GraphGAN中,G和D在minimax博弈中扮演两个角色:生成器试图在鉴别器提供的指导下生成最难区分的“fake”顶点,而鉴别器则试图在True和“fake”之间划清界限,在这个博弈中促使他们两个都提高自己的能力,直到D无法与真实的连通性分布区分开来。
  3. G和D的目标函数为:(GAN学习笔记(1))
    在这里插入图片描述

GraphGAN框架

在这里插入图片描述
在每一次迭代中,用来自 P t P_t Pt r _r r u _u u e _e e(·| v c v_c vc)(绿色顶点)的正样本和来自生成器G(·| v c v_c vc θ G θ_G θG)(带蓝色条纹的顶点)的负样本训练鉴别器D,并在D的指导下用策略梯度更新生成器G。G和D之间的博弈促使它们改进各自的方法,直到G与真实的连通性分布无法区分为止。

Discriminator Optimization

在GraphGAN中,将D定义为两个输入顶点内积的sigmoid函数:
在这里插入图片描述
在这里插入图片描述

      这里任何判别模型都可以作为D,如SDNE 

式(2)只涉及v和 v c v_c vc,这表明给定一个样本对(v, v c v_c vc),我们只需要通过相对于它们的梯度上升来更新 d v d_v dv d v d_v dv c _c c
在这里插入图片描述

Generator Optimization

policy gradient
在这里插入图片描述
果一个生成节点被识别出是负样本节点,那么概率D(V,VC;θD)就会很小,则生成节点的梯度对应的权重就会很大,从而使得整个梯度会变大。
论文中,将生成器定义为所有其他顶点上的softmax函数
在这里插入图片描述
g v _v v和g v _v v c _c c是生成器产生的向量,更新采用随机梯度下降

缺陷:

公式(5)中Softmax的计算涉及到图中的所有顶点,这意味着对于每个生成的样本v,我们需要计算梯度∇θglog(v | vc;θG)并更新所有顶点。这在计算上效率低下,尤其是对于具有数百万顶点的真实世界大型图。2) 图结构编码了丰富的顶点之间的接近信息,而softmax在不加区分地处理顶点时,完全忽略了对图中结构信息的利用。

改进:Graph Softmax for Generator

Graph Softmax仍然是用于计算预估的连接分布G(▪|VC;θG),它需要满足的条件是:
(1)Normalized 归一化:需要满足有效的概率分布,
(2)Graph-structure-aware:利用网络结构信息,简单的想法就是,对于图中的两个顶点,它们的连通概率应该随着其最短距离的增加而降低。
(3)Computationally efficient:G(V|VC;θD)的计算,应该仅仅涵盖图中少量节点,比如一些与节点VC较为密切的节点。
为了去求这样的graph softmax,论文首先是对原网络ω进行BFS,将它展开成以 V C V_C VC为根节点的树 T C T_C TC。给定 T C T_C TC,令N C _C C ( _( ( V _V V ) _) )表示的是节点V的邻居节点集合(直接相邻的一阶邻居节点,在树中即为父母节点和孩子节点)。假设给定节点 V V V以及邻居V i _i i∈N C _C C ( _( ( V _V V ) _) ),定义给定V的V i _i i的关联概率为:
在这里插入图片描述
要计算G(V|V C _C C G _G G)的话,每一个节点V都是可以由根节点V C _C C开始的唯一一条路径到达,定义这个路径为P v c v_c vc→v =(V r 0 r_0 r0,V r 1 r_1 r1,…,V r m r_m rm),其中V r 0 r_0 r0=V c _c c,V r m r_m rm)=V。Graph Softmax定义的G(V|V C _C C G _G G)为:
在这里插入图片描述
生成式模型G最后要做的还是要采样,一种简单的方法就计算出所有的graph softmax值G(V|V C _C C G _G G),然后再根据这个概率值进行带权重的随机采样。论文中提出了另一种在线采样策略:从树T C _C C的根节点 V C V_C VC开始随机游走,如果当前游走到的节点V的下一步是要游走回父母节点,则V即被选择为采样的节点。
下图展示的就是一个生成器G在线采样策略的图解:
最后,整个GraphGAN算法框架如下
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

实验

数据集见开头

1.Link Prediction

在原始图中随机隐藏10%的边作为基本事实,训练后,得到所有顶点的表示向量,并用logistic回归方法预测给定顶点对的边存在概率。测试集由原始图中隐藏的10%的顶点对(边)作为正样本,随机选取断开的顶点对作为相等数量的负样本。我们使用arXiv AstroPh和arXiv GrQc作为数据集,并在表1中报告精度和宏F1的结果。我们发现:
1)LINE和struc2vec在链路预测方面的性能较差,因为它们不能很好地捕捉到图中边的存在模式。
2) DeepWalk和node2vec的性能优于LINE和struc2vec。这可能是因为DeepWalk和node2vec都使用了基于随机行走的Skip-Gram模型,这种模型在提取顶点之间的邻近信息方面更为有效。
3) GraphGAN在链路预测方面优于所有基线。特别是,GraphGAN将arXiv AstroPh和arXiv GrQc的精度分别提高了1.18%到4.27%和0.59%到11.13%。我们的解释是,对抗训练为graph提供了比单模型基线训练更高的学习灵活性。
在这里插入图片描述
学习曲线:
在这里插入图片描述
生成器的性能在收敛后表现突出,而鉴别器的性能开始提高,但逐渐下降到0.8以下。请注意,鉴别器不会降级到随机猜测级别,因为生成器在实际操作中仍然提供大量的真实负样本。

Node Classification

在节点分类中,为每个顶点指定一个或多个标签。在我们观察到一小部分顶点及其标签之后,我们的目标是预测剩余顶点的标签。因此,节点分类的性能可以揭示不同图表示学习方法下顶点的可区分性。为了进行实验,在整个图上训练GraphGAN和基线以获得顶点表示,并使用logistic回归作为分类器,以9:1的训练测试比进行节点分类。我们使用BlogCatalog和Wikipedia作为数据集。表2给出了精度和宏-F1的结果。
在这里插入图片描述

Recommendation

使用Movielens-1M作为推荐数据集。对于每个用户,目标是推荐一组尚未观看但可能会被用户喜欢的电影

首先将所有的4星和5星评级作为边,得到一个二分图,然后随机隐藏原始图中10%的边作为测试集,为每个用户构造一个BFS树。注意,与上述两个实验场景不同的是,连通性分布是在特定顶点的所有其他顶点上定义的,在推荐中,一个用户的连通概率仅分布在图中的一小部分顶点上,如所有电影上。因此,我们“shortcut”所有用户顶点在BFS树(除了根)添加直接边在所有电影对由一个用户顶点链接。在训练并获得用户和电影的代表性后,针对每一个用户,我们选择其内部产品最高的未匹配电影中的K作为推荐结果。结果精度@K以及召回@K如图5所示,
在这里插入图片描述

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值