《Inductive Representation Learning on Large Graphs》论文理解

0.GraphSAGE算法框架

GraphSAGE算法框架主要由两个部分组成:1.对节点的领域进行选择;2.利用聚合函数对节点的邻域信息进行聚合得到图嵌入向量;
在这里插入图片描述
论文中介绍了两种得到嵌入节点的方法:
第一种(算法1)是一次性所有节点得到所有节点的嵌入向量,可以用来得到节点的预测标签;
在这里插入图片描述
第二种(算法二)是 m i n i b a t c h minibatch minibatch的方法,也就是选择图中部分节点,输出这些节点的嵌入向量,同时避免了计算其他的节点,可以用来进行小批量训练。
在这里插入图片描述
这两种方法基本一样,只是初始的时候选择的是全部节点还是部分节点的区别,接下来主要对 m i n i b a t c h minibatch minibatch方法为例进行理解。

1.邻域采样

这个过程对应算法二的2~7行。首先需要先给定一个部分节点集合 B B B,这个集合是需要后输出嵌入向量的。 N k ( v ) N_k(v) Nk(v)表示从节点 v ∈ B k v\in B^k vBk的1-邻域进行均匀采样得到节点数量固定为 s s s的节点集合。如果1-邻域节点数量大于 s s s,则无放回抽样;如果小于 s s s,则有放回抽样。这个部分确定了在整个前向传播过程中需要使用到的节点,可以理解为以 B B B中每个节点为中心构建相应的树状子图的过程,把其他不相关的节点除去。

2.将邻域信息聚合

这个过程对应算法的9~15行,其中 A G G R E G A T E k ( ∗ ) AGGREGATE_k(*) AGGREGATEk()表示第 k k k层的聚合函数; W k W^k Wk表示第 k k k层的全连接参数。首先通过聚合函数将节点 u u u的邻域信息聚合得到 h N ( u ) k h_{N(u)}^k hN(u)k,接着将 h N ( u ) k h_{N(u)}^k hN(u)k h u k − 1 h_{u}^{k-1} huk1进行拼接,之后将其送入全连接层并归一化得到 h u k h_u^k huk。最后得到 h u K h_u^K huK就是最后的嵌入向量了。只要改变最后一层的全连接层的维度,使得输出嵌入向量的维度和节点分类的类数相同,归一化后就实现了节点分类的效果。
论文中提出了3中形式的聚合函数:

①均值聚合函数

表达式为:
h v k = σ ( W k ⋅ m e a n ( h v k − 1 , { h u k − 1 , ∀ u ∈ N ( v ) } ) ) h_v^k=\sigma(W^k\cdot mean(h_v^{k-1},\{h_u^{k-1},\forall u\in N(v)\})) hvk=σ(Wkmean(hvk1,{huk1,uN(v)}))

该表达式对算法的11~12行,这种聚合函数不需要进行 h N ( v ) k h_{N(v)}^k hN(v)k h v k − 1 h_{v}^{k-1} hvk1的拼接拼接操作,并且这种k层的均值聚合网络与 k k k层的1stChebNet网络近似。训练的参数为 W k W^k Wk

②池化聚合函数

表达式为:
h N ( v ) k = m a x ( { σ ( W p o o l k h u i k + b ) , ∀ u i ∈ N ( v ) } ) h_{N(v)}^k=max(\{\sigma(W^k_{pool}h^k_{u_i}+b),\forall u_i\in N(v)\}) hN(v)k=max({σ(Wpoolkhuik+b),uiN(v)})

其中, W p o o l k h u i k + b W^k_{pool}h^k_{u_i}+b Wpoolkhuik+b表示多层感知机,为了简单表示,只表现了单层的结构,其目的是为了计算出每个邻域节点的特征。 m a x ( ∗ ) max(*) max()表示逐元素取最大值,即取每个特征的最大值以捕获邻居集合上在每个维度的最突出表现(均值池化和最大池化结果没有明显区别)。之后还需要拼接并送入全连接层:
h v k = σ ( W k ⋅ c o n c a t ( h N ( v ) k , h v k − 1 ) ) h_v^k=\sigma(W^k\cdot concat(h_{N(v)}^k,h_{v}^{k-1})) hvk=σ(Wkconcat(hN(v)k,hvk1))

训练的参数为 W p o o l k , W k W^k_{pool},W^k Wpoolk,Wk

③LSTM聚合函数

文中也测试了一个基于LSTM的复杂的聚合器[Long short-term memory]。和均值聚合器相比,LSTMs有更强的表达能力。但是,LSTMs不是symmetric的,也就是说不具有排列不变性(permutation invariant),因为它们以一个序列的方式处理输入。因此,需要先对邻居节点随机顺序,然后将邻居序列的embedding作为LSTM的输入。排列不变性(permutation invariance):指输入的顺序改变不会影响输出的值。

3.反向传播过程

在前面的过程(0,1,2)中,整里了算法GraphSAGE框架的前向传播的过程,论文中作者也对其反向传播的训练过程有简单的介绍。
论文中设计了一种无监督损失:
J G ( z u ) = − l o g ( σ ( z u T z v ) ) − Q ⋅ E v n   P n ( v ) l o g ( σ ( − z u T z v n ) ) J_G(z_u)=-log(\sigma (z_u^Tz_v))-Q\cdot E_{v_n~P_n(v)}log(\sigma (-z_u^Tz_{v_n})) JG(zu)=log(σ(zuTzv))QEvn Pn(v)log(σ(zuTzvn))

其中,v是u在固定长度的随机游走中同时出现的一个节点, σ \sigma σ是sigmoid函数, P n P_n Pn是负采样分布,Q定义了负样本的数目。该损失的意义是相邻的节点有相似的表达,但是不相干的节点表达差异性明显。

这种无监督损失的训练为下游机器学习任务提供服务,同时在特定任务下,这种损失函数可以被特定的任务目标所替换或者增强(例如交叉熵)。在实验结果中,监督学习的方式得到的结果性能要比无监督要好一些。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值