Graph Transformer Networks 论文分享
kai123wen 人气:0
论文地址:https://arxiv.org/abs/1911.06455
实现代码地址:https://github.com/ seongjunyun/Graph_Transformer_Networks
看分享之前可以把论文读一遍,代码看一看,这样必定会事半功倍!
### 论文目的是通过构造GTN(Graph Transformer Networks),来学习到异构网络中有效的节点表示。
### 其他现有方法(GNNs)的缺点:
1. 对于异构图,由于GNN只用于处理同构图,因此效果不好。
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125733747-960185554.png)
2. 一种简单的处理方法就是忽略类型,缺点就是无法获取到类型信息。
3. 手动设计一个meta-path,例如![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125733992-1510873301.png),将异构图转化由meta-path定义的同构图,然后使用GNN进行操作。方法的缺点是:对于每一个问题都需要单独的手工设计meta-path;并且最终效果受到选择meta-path的影响;meta-path的选择需要对应领域知识。
### 整体框架
1. meta-path的表示:
一条路径:![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125734233-779406818.png),则![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125734433-1593186190.png)= ![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125734617-1222163259.png)*![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125734810-596595059.png)
#### 卷积层
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125735076-1449969793.png)
代码:
A 的size:![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125735301-918259361.png)
W的size:![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125735499-300814642.png)
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125736040-400755517.png)
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125736289-29485225.png)
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125736474-351259532.png)
#### GT层
在GT层中,使用了类似于stack的结构
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125736970-37475547.png)
代码
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125738868-1955849713.png)
解决meta-path长度随层数的增加而增加问题:![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125739391-972820468.png)
### GTN
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125739955-1353487658.png)
代码
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125740438-944463192.png)
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125741887-2065348801.png)
gcn_conv:
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125742427-1495904961.png)
#### 实验
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125743197-21888419.png)
将模型生成的meta-path同预定义的meta-path相比较:
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125743829-1002567197.png)
meta-path有效性
![](https://img2018.cnblogs.com/blog/1277792/202001/1277792-20200118125745951-831401986.png)
### 本文的亮点
1. 不需要领域知识,不需要手动设置meta-path,GTN通过候选邻接矩阵来定义有效的meta-paths。
2. 可扩展性强。
加载全部内容