论文地址: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. 可扩展性强。

Graph Transformer Networks 论文分享的更多相关文章

  1. 论文解读(DAGNN)《Towards Deeper Graph Neural Networks》

    论文信息 论文标题:Towards Deeper Graph Neural Networks论文作者:Meng Liu, Hongyang Gao, Shuiwang Ji论文来源:2020, KDD ...

  2. 论文解读(LA-GNN)《Local Augmentation for Graph Neural Networks》

    论文信息 论文标题:Local Augmentation for Graph Neural Networks论文作者:Songtao Liu, Hanze Dong, Lanqing Li, Ting ...

  3. 论文解读(GraphSMOTE)《GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks》

    论文信息 论文标题:GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks论文作者:Tianxi ...

  4. 论文解读(KP-GNN)《How Powerful are K-hop Message Passing Graph Neural Networks》

    论文信息 论文标题:How Powerful are K-hop Message Passing Graph Neural Networks论文作者:Jiarui Feng, Yixin Chen, ...

  5. 论文解读(soft-mask GNN)《Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks》

    论文信息 论文标题:Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks论文作者:Mingqi Yang, Ya ...

  6. 论文解读(ChebyGIN)《Understanding Attention and Generalization in Graph Neural Networks》

    论文信息 论文标题:Understanding Attention and Generalization in Graph Neural Networks论文作者:Boris Knyazev, Gra ...

  7. 论文解读(GATv2)《How Attentive are Graph Attention Networks?》

    论文信息 论文标题:How Attentive are Graph Attention Networks?论文作者:Shaked Brody, Uri Alon, Eran Yahav论文来源:202 ...

  8. 谣言检测(ClaHi-GAT)《Rumor Detection on Twitter with Claim-Guided Hierarchical Graph Attention Networks》

    论文信息 论文标题:Rumor Detection on Twitter with Claim-Guided Hierarchical Graph Attention Networks论文作者:Erx ...

  9. [论文理解] Spatial Transformer Networks

    Spatial Transformer Networks 简介 本文提出了能够学习feature仿射变换的一种结构,并且该结构不需要给其他额外的监督信息,网络自己就能学习到对预测结果有用的仿射变换.因 ...

随机推荐

  1. JPA进行insert操作时会首先select吗

    在某个项目中,使用JPA的saveAll方法去批量写入数据时,通过打印sql,发现每次insert前都会先select一次,极大的浪费了写入性能. 分析一下代码,saveAll() @Transact ...

  2. TensorFlow指定使用GPU 多块gpu

    持续监控GPU使用情况命令: $ watch -n 10 nvidia-smi1一.指定使用某个显卡如果机器中有多块GPU,tensorflow会默认吃掉所有能用的显存, 如果实验室多人公用一台服务器 ...

  3. 2019-10-31-Resharper-去掉注释拼写

    title author date CreateTime categories Resharper 去掉注释拼写 lindexi 2019-10-31 9:8:5 +0800 2018-09-04 1 ...

  4. H3C HDLC状态检测

  5. webpack优化 -- compression-webpack-plugin 开启gzip

    webpack优化 -- compression-webpack-plugin 开启gzip 打包的时候开启gzip可以大大减少体积,非常适合于上线部署.下面以vue-cli2.x项目为例,介绍如何在 ...

  6. http请求头包括了哪些常见内容

    Host: www.study.com                // 请求的地址域名和端口,不包括协议 Connection: keep-alive    // 连接类型,持续连接 Upgrad ...

  7. P1048 数组中的逆序对

    题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数. 输入格式 第一行包含一个整数 \(n\) ,表示数组中的元素个数 ...

  8. P1005 等边字符三角形

    题目描述 给定一个字符串,用它构造一个底边长5个字符,高3个字符的等腰字符三角形. 三角形的形状见样例输出. 输入格式 无. 输出格式 输出样例输出中所描述的等腰字符三角形. 样例输入 无. 样例输出 ...

  9. C语言动态内存

    动态分配内存的概述 在数组一章中,介绍过数组的长度是预先定义好的,在整个程序中固定不变,但是在实际的编程中,往往会发生这种情况,即所需内存空间取决于实际输入的数据,而无法预先确定.为了解决上述问题,c ...

  10. JS逻辑运算操作

    非! 如果一个操作数是一个对象,返回false; 如果一个操作数是一个空字符串,返回true; 如果一个操作数是一个非空字符串,返回false; 如果一个操作数是一个数值0,返回true; 如果一个操 ...