Graph Transformer Networks 论文分享
论文地址: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. 可扩展性强。
最新文章
- 用php脚本给html中引用的js和css路径打上版本
- GITHUB使用简介
- javascript + jquery函数大全
- jmeter 使用URL重写处理用户会话
- 关于arguments对象以及函数的柯里化;
- 使用贝赛尔曲线画扇形、圆形、弧线、多边形,实现App下载时的动画效果demo
- Steps
- bootstrap简章
- ORACLE 计算节假日
- Union - Find 、 Adjacency list 、 Topological sorting Template
- CodeForces 622C Not Equal on a Segment
- mybatis 详解(五)------动态SQL
- BASIC-3	字母图形	循环 字符串
- 移动端轮播图vue-awesome-swiper
- Reactjs-JQuery-Omi-Extjs-Angularjs对比
- 有pom.xml文件但是无法用maven构建问题
- linq时间筛选以及list时间筛选
- python生成随机整数
- java集合的实现细节--ArrayList和LinkedList
- Redis 如何保持和MySQL数据一致【一】