编写不易如果觉得不错,麻烦关注一下~(坚持不设置VIP可见)
论文名称:GATED GRAPH SEQUENCE NEURAL NETWORKS(ICLR2016)
参考链接:https://www.jianshu.com/p/40362662014a(连环链接,手动递归)
https://blog.csdn.net/maqunfi/article/details/99703993
代码链接:gihub 有很多,我就选择个标题很好看的“https://github.com/entslscheia/GGNN_Reasoning”
想写一篇GGNN 代码解析,主要想知道这个网络的优越性有多强。。。。没别的意思
这篇文章是将GRU放入GNN中的一个经典案例。而且利用了多个矩阵代表不同的边类型,比如文中所说的B,C,利用B' C'又分别代表了边的方向。当然(c)图中的阴影部分都是0元素,就是为了乘积抽取只与当前点v 的邻居相关的隐层h信息。这里面的训练参数,【W,U 矩阵分别针对r、z、h操作的共6个训练参数】是一篇关于处理多关系的图模型。当然我这里只是想试验一下它的能力。主要参考github 的各路大神实现。
当然贴一个经典画面:好的~公式h就是gru 隐层,a是对v节点的进一步加工。r是更新门,z是遗忘门,h ~ 就是更新后的一种向量,但是最终这个信息能不能决定最终的状态,还是需要 z 来把控。当然我这里还是欣赏多关系的设计。当然这里面有一个设计环节就是图中节点的初始向量,根据上面的博客中,该论文引入了结点标注的概念,个人理解是一种在任务中充当角色的标注,类似特征过程是人工自定义的。
当然我看到的一篇文章中就是自定义这块 ICCV 2019: From Strings to Things: Knowledge-enabled VQA Model that can Read and Reason(当然也可以看我的浅显知乎https://zhuanlan.zhihu.com/p/357696251)。之后利用padding用0补齐向量长度。那么就切换一下这篇文章的设计感
图中公式nu是图节点的特征向量,而后面1,0,cu 都可以看作是作者自定义的标注。根据节点在图中传播时的角色自定义的。