Recurrent Graph Neural Networks
递归图神经网络(RecGNN)大多是图神经网络的开创性作品。 RecGNN旨在学习具有递归神经体系结构的节点表示。 他们假设图中的节点不断与其邻居交换信息/消息,直到达到稳定的平衡。 RecGNNs在概念上很重要,并启发了后来对卷积图神经网络的研究。 特别地,消息传递的思想被基于空间的卷积图神经网络所继承。[1]
1 A New Model for earning in raph Domains
[Marco Gori, 2005, 2] 最早提出了GCN的概念。
记n为图上一顶点,xn是顶点n的状态(state),ln是顶点n的标签。相应的,xne[n],lne[n]是是顶点n的邻居顶点的状态和标签。
-
transition function :
xn=fw(ln,xne[n],lne[n]),n∈N(1.1)
-
output function :
on=gw(xn,ln),n∈N(1.2)
将式(1.1)替换成下式:
xn=u∈N∑hw(ln,xu,lu),n∈N(1.3)
其中hw可以用显式线性函数或者神经网络。
-
Linear GNN:
hw(ln,xu,lu)An,ubnϕwρwμ=An,uxu+bn=s⋅∣ne[u]∣μ⋅Resize(ϕw(ln,lu))=ρw(ln):R2q×1→Rs2×1:Rq→Rs∈(0,1)(1.4)
-
Neural GNN:
hw使用神经网络。
2 The Graph Neural Network Model
[Franco Scarselli, 2009, 3] 与 [Marco Gori, 2005, 2]相比多了边上的信息lco[n]。
xnon=fw(ln,lco[n],xne[n],lne[n])=gw(xn,ln),n∈N(2.1)
相应的,
xn=u∈N∑hw(ln,l(n,u),xu,lu),n∈N(2.2)
在训练上,先循环式(2.2)直到∥xn(t)−xn(t−1)∥≤ϵ,即达到稳定点,然后再经行BP反向传播,更新参数,接着继续循环式(2.2)。
3 Graph Echo State Networks
[Claudio Gallicchio, 2010, 4] 将transition function分成了:
-
local state transition function :
xt(v)=τ(u(v),xt−1(N(v)))=f(Winu(v),W^Nxt−1(N(v)))(3.1)
-
global state transition function :
xt(g)=τ^(g,xt−1(g))=⎝⎜⎜⎜⎛f(Winu(v1)+W^v1xt−1(g))⋮f(Winu(v∣V∣)+W^v∣V∣xt−1(g))⎠⎟⎟⎟⎞.(3.2)
output function根据任务不同选择的函数也不一样:
y(v)=gout(x(v))=Woutx(v).(3.3)
y(v)=gout(∣V∣1v∈V∑x(v))=Wout(∣V∣1v∈V∑x(v)).(3.4)
4 Gated Graph Sequence Neural Networks
[Yujia Li, 2015, 5] 在[Franco Scarselli, 2009, 3]基础上,将lco[n]分成出边和入边:
hv(t)=f∗(lv,lco[v],lne[v],hne[v](t−1))=v′∈IN[v]∑f(lv,l(v′,v),lv′,hv′(t−1))+v′∈OUT[v]∑f(lv,l(v,v′),lv′,hv′(t−1))(4.1)
hv使用GRU单元:
hv(1)Aav(t)zv(t)rv(t)hv(t)hv(t)=[xvT,0]T=[A(out),A(in)]=Av:T[h1(t−1),⋯,h∣V∣(t−1)]T+b=σ(Wzav(t)+Uzhv(t−1))=σ(Wrav(t)+Urhv(t−1))=tanh(Wav(t)+U(rv(t)⊙hv(t−1)))=(1−zv(t))⊙hv(t−1)+zv(t)⊙hv(t).(4.2)
output function :
hG=tanh(v∈V∑σ(i([hv(T),xv]))⊙tanhj([hv(T),xv]))
其中i(.),j(.)都是神经网络,以[hv(T),xv]做输入。
输出序列o(1),⋯,o(K),对于第k个输出,记X(k)=[x1(k),⋯,x∣V∣(k)]∈R∣V∣×LV,在第t步为H(k,t)=[h1(k,t),⋯,h∣V∣(k,t)]∈R∣V∣×D。结构如下图:
在使用H(k,T)预测Xk+1)时,我们向模型当中引入了节点标注。每个节点的预测都是相互独立的,使用神经网络j([hv(k,T),xv(k)])来完成:
xv(k+1)=σ(j([hv(k,T),xv(k)]))
训练上也与[Franco Scarselli, 2009, 3]不同,而是采用随时间步逐步BP。
5 Learning Steady-States of Iterative Algorithms over Graphs
[Hanjun Dai, 2018, 6] 同样是采用了不动点的原理,中间迭代过程为:
hv(0)hv(t+1)←constant,←T({hu(t)}u∈N(v)),∀v∈V∀t≥1.(5.1)
稳定状态为:
hv∗=T({hu∗}u∈N(v)),∀v∈V.(5.2)
式(5.1)的T其实就是transition function。
-
transition function :
TΘ[{hu}u∈N(v)]=W1σ⎝⎛W2⎣⎡xv,u∈N(v)∑[hu,xu]⎦⎤⎠⎞.(5.3)
-
output function :
g(hv)=σ(V2TReLU(V1Thv)).(5.4)
在训练过程中,使用了采样的操作,取V={v1,⋯,vN}∈V,则h^vi的更新过程为:
h^vi←(1−α)h^vi+αTΘ[{hu}u∈N(v)],∀vi∈V.(5.5)
参考文献
- 1 Wu Z, Pan S, Chen F, et al. A Comprehensive Survey on Graph Neural Networks.[J]. arXiv: Learning, 2019.
- 2 M. Gori, G. Monfardini and F. Scarselli, “A new model for learning in graph domains,” Proceedings. 2005 IEEE International Joint Conference on Neural Networks, 2005., Montreal, Que., 2005, pp. 729-734 vol. 2.
- 3 Scarselli F, Gori M, Tsoi A C, et al. The Graph Neural Network Model[J]. IEEE Transactions on Neural Networks, 2009, 20(1): 61-80.
- 4 Gallicchio C, Micheli A. Graph Echo State Networks[C]. international joint conference on neural network, 2010: 1-8.
- 5 Li Y, Tarlow D, Brockschmidt M, et al. Gated Graph Sequence Neural Networks[J]. arXiv: Learning, 2016.
- 6 Dai H, Kozareva Z, Dai B, et al. Learning Steady-States of Iterative Algorithms over Graphs[C]. international conference on machine learning, 2018: 1106-1114.