Structural Optimization Makes Graph Classification Simpler and Better

About This Paper

Junran Wu, Jianhao Li, Yicheng Pan, Ke Xu

State Key Lab of Software Development Environment, Beihang University

http://arxiv.org/abs/2109.02027

Preliminary

我们要做的是 图分类任务 (Graph Classification).

主要有两种范式:核方法以及神经网络方法。

针对这两种范式,作者提出了两种新的算法:

核方法:WL-ET kernel, 对标之前的 WL subtree kernel

神经网络方法:ETL, 对标之前的 GNN

ET=Encoding Tree, WL=Weisfeiler-Lehman, ETL=Encoding Tree Learning

Structural Optimization

在进行 WL-ET kernel 的计算以及 ETL 之前,首先得有 ET, 即 Encoding Tree.

在介绍 ET 前,先介绍结构熵。

给定 Graph GGG, 我们可以找到它的一个划分,划分的每个元素都是一棵 Tree,基于 Tree 可以计算一个熵值:结构熵。

关于划分以及结构熵,可以参考 My Blog.

对于图 G=(V,E,w)G=(V,E,w)G=(V,E,w) , 它的一棵 Tree (记作 T\mathcal{T}T) 的结构熵为:

HT(G)=−∑α∈T,α≠λgαvol⁡(V)log⁡vol⁡(α)vol⁡(α−)\mathcal{H}^{\mathcal{T}}(G)=-\sum_{\alpha \in \mathcal{T}, \alpha \neq \lambda} \frac{g_{\alpha}}{\operatorname{vol}(V)} \log \frac{\operatorname{vol}(\alpha)}{\operatorname{vol}\left(\alpha^{-}\right)}HT(G)=−∑α∈T,α​=λ​vol(V)gα​​logvol(α−)vol(α)​

其中,α∈T\alpha \in \mathcal{T}α∈T 并且 α≠λ\alpha \neq \lambdaα​=λ, λ\lambdaλ 表示树的根部,α−\alpha^-α− 表示 α\alphaα 的 predecessor.

规定,Tα=∪β−=αTβT_{\alpha}=\cup_{\beta^{-}=\alpha} T_{\beta}Tα​=∪β−=α​Tβ​ (β\betaβ 表示节点),TβT_{\beta}Tβ​ 表示和 β\betaβ 有关联的 VVV 的子集。那么这里的:

vol(α)vol(\alpha)vol(α) 表示 TαT_{\alpha}Tα​ 的 Volume. gαg_{\alpha}gα​ 表示从 TαT_{\alpha}Tα​ 内节点到 TαT_{\alpha}Tα​ 外节点的边的数量。

关于此式的推导,参见 My Blog.

记图的维度为 KKK, 那么图 GGG 的结构熵为:HK(G)=min⁡T{HT(G)}\mathcal{H}^{K}(G)=\min _{\mathcal{T}}\left\{\mathcal{H}^{\mathcal{T}}(G)\right\}HK(G)=minT​{HT(G)}.

如果规定我们的 Tree 的高度为 kkk, 那么:H(k)(G)=min⁡T:height⁡(T)≤k{HT(G)}\mathcal{H}^{(k)}(G)=\min _{T: \operatorname{height}(T) \leq k}\left\{\mathcal{H}^{T}(G)\right\}H(k)(G)=minT:height(T)≤k​{HT(G)}

有了结构熵之后,我们基于此设计一个算法,它能根据图生成相应的 Encoding Tree

这里使用的是 这篇论文 中提出的 Clustering 算法,详细可以参见论文,这里简要介绍一下。

这个算法可以类比决策树,决策树通过信息增益(比)等去判断是否添加或者合并某一个分支,这里也是类似的,只不过使用的是信息熵,并且希望它尽可能地小。

还是类比决策树,决策树生成这里对应的是 Stretch, 决策树剪枝这里对应的是 Compress.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yq39M7fU-1632212467781)(https://static01.imgkr.com/temp/ec74d0f419164c9db0a76e38c0ac9bf1.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qFMMuAAW-1632212467794)(https://static01.imgkr.com/temp/39509fc9b3814058a54418b4bf67487f.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DIg7yLaF-1632212467795)(https://static01.imgkr.com/temp/bc81f43788a4494989d927b01bb160e0.png)]

完整的算法 k-HCSE 如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-chz8mJrX-1632212467798)(https://static01.imgkr.com/temp/a749611c96f84d06bd494dce479efb57.png)]

就这样,我们生成了一棵 Tree,就是 Encoding Tree.

Tree Kernel

对标之前的 WL subtree kernel 方法,这里的新算法是 WL-ET kernel 方法,主要是两点不同:

  1. Hierarchical Reporting Scheme
  2. 特征向量的表示不同:使用的是节点标签的计数

首先介绍 Hierarchical Reporting Scheme.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zSjFw90G-1632212467801)(https://static01.imgkr.com/temp/b9d62afdc2e74854811f39ac3cd57d76.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-anebwkwY-1632212467802)(https://static01.imgkr.com/temp/ccfc3452a1fd408ca91d50dad0f18c7c.png)]

然后计算 kernel :

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cwM3a84u-1632212467804)(https://static01.imgkr.com/temp/e2af07b1e0fe43b8b4004d622e4566b0.png)]

有了 kernel 之后,我们可以使用它计算两张图的相似度,当然,我们也可以使用基于 kernel 的机器学习算法进行图分类,典型的算法就是大家熟知的 SVM. 本文采用的是 C-SVM,参见 Libsvm: a library for support vector machines.

ETL

这里对标的是 GNN 方法。

框架还是 Hierarchical Reporting Scheme,但是做一个泛化。

首先是特征的向上传播,之前用的是 multiset-label determination and sorting, 这里使用 MLP 对 hidden state 进行传播,具体地:

rvi=MLPi(∑u∈C(v)ru(i−1))r_{v}^{i}=\mathbf{M L P}^{i}\left(\sum_{u \in \mathcal{C}(v)} r_{u}^{(i-1)}\right)rvi​=MLPi(∑u∈C(v)​ru(i−1)​) ,其中,C(⋅)\mathcal{C}(·)C(⋅) 表示 ⋅·⋅ 的 successor; rur_uru​ 表示 hidden state, 初始为 XvX_vXv​.

这个特征的更新比起 GNN 来说,简单了不少。

最后用于分类的话,很自然地想法是使用最终层的表示。但实验发现,一些初始层的表示对于分类更加有效,因此采用下面的方法获得整棵树的表示:

rT=CONCAT(LAYERPOOL⁡({rvi∣v∈Ti})∣i=0,1,…,h)r_{T}= CONCAT \left(\operatorname{LAYERPOOL}\left(\left\{r_{v}^{i} \mid v \in T^{i}\right\}\right) \mid i=0,1, \ldots, h\right)rT​=CONCAT(LAYERPOOL({rvi​∣v∈Ti})∣i=0,1,…,h)

其中,LAYERPOOLLAYERPOOLLAYERPOOL 可以是求和,也可以是平均,因此,可以看作是 kernel 方法的一个泛化。

Analysis

无论是 WL-ET kernel,还是 ETL,都大大地简化了复杂度。

设 tree 的高度为 hhh, 边的数量为 mmm, 节点数量为 nnn, 那么:

WL subtree kernel : O(hm)O(hm)O(hm), while WL-ET kernel : O(n)O(n)O(n).

对于 SVM 来说,需要计算所有 tree 两两之间的 kernel, 对于这两个算法,都是 O(N^2)

GNN : O(hm)O(hm)O(hm), while ETL : O(n)O(n)O(n)

因此,论文标题中我们说 Simpler.

那么 Better 呢?从实验的结果数据中我们不难发现,性能确实有些许提升。

Conclusion

总之,分为两步,Feature Extraction 和 Feature Combination

Feature Extraction 通过求解使得结构熵最小的 ET 来解决,即 Structural Optimization.

Feature Combination 通过 Hierarchical Reporting Scheme 来解决,主要是两种形式:

  • 一般形式:即 multiset-label determination and sorting + label compression + relabeling
  • 泛化形式:即 MLP 进行 hidden state 的向上传播

最后对于图分类任务,

  • 一般形式的话:通过 WL-ET kernel + C-SVM 去进行图分类
  • 泛化形式的话:通过特征向量去进行图分类

特征向量:即 rT=CONCAT(LAYERPOOL⁡({rvi∣v∈Ti})∣i=0,1,…,h)r_{T}= CONCAT \left(\operatorname{LAYERPOOL}\left(\left\{r_{v}^{i} \mid v \in T^{i}\right\}\right) \mid i=0,1, \ldots, h\right)rT​=CONCAT(LAYERPOOL({rvi​∣v∈Ti})∣i=0,1,…,h)

其中,LAYERPOOLLAYERPOOLLAYERPOOL 又可以看作 kernel 的泛化。

泛化形式的这一套就是 ETL 方法。

More

Structural Entropy

Structural Optimization : k-HCSE

Kernel Method : WL subtree kernel

GNN Method : GIN for example

About Me

ZenMoore

论文解读:Structural Optimization Makes Graph Classification Simpler and Better相关推荐

  1. 【论文解读 ICEIT2022】Heterogeneous Graph Based Knowledge Tracing基于异构图的知识追踪

    文章目录 摘要 1 引言 2 相关工作 2.1 知识追踪 2.2 异构图嵌入 3 基于异构图嵌入的知识追踪 4 实验 5 结论 依然是两阶段 摘要 最近,随着在线辅导系统的发展,对知识追踪(Knowl ...

  2. 【论文】解读AM-GCN: Adaptive Multi-channel Graph Convolutional

    解读AM-GCN: Adaptive Multi-channel Graph Convolutional 摘要 当下提出的新问题:GCNs能否可以在信息丰富的复杂图中优化集成节点的特征喝拓扑结构.提出 ...

  3. 论文模型构建的步骤_Deep Learning of Graph Matching论文解读

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的. 其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明 ...

  4. 《CapsE—Graph Classification via Capsule Neural Networks》解读

    <Capsule Neural Networks for Graph Classification using Explicit Tensorial Graph Representations& ...

  5. 论文阅读ICLR2020《ADAPTIVE STRUCTURAL FINGERPRINTS FOR GRAPH ATTENTION NETWORKS》

    论文阅读ICLR2020<ADAPTIVE STRUCTURAL FINGERPRINTS FOR GRAPH ATTENTION NETWORKS> 摘要 确定节点相似性时图的结构 Ad ...

  6. 论文解读《Co-Correcting:Noise-tolerant Medical Image Classification via mutual Label Correction》

    论文解读<Co-Correcting:Noise-tolerant Medical Image Classification via mutual Label Correction> 论文 ...

  7. [Scene Graph] Neural Motifs: Scene Graph Parsing with Global Context 论文解读

    [Scene Graph] Neural Motifs: Scene Graph Parsing with Global Context (CVPR 2018) 论文解读 简介 这篇文章工作的创新之处 ...

  8. 论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference

    论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference   随着 ...

  9. 论文阅读笔记:Multi-view adaptive graph convolutions for graph classification

    论文阅读笔记:Multi-view adaptive graph convolutions for graph classification 文章目录 论文阅读笔记:Multi-view adapti ...

  10. Open-Vocabulary Multi-Label Classification via Multi-modal Knowledge Transfer 论文解读

    Open-Vocabulary Multi-Label Classification via Multi-modal Knowledge Transfer 论文解读 前言 Motivation Con ...

最新文章

  1. wingide运行两个项目_Python开发环境Wing IDE使用教程:设立项目
  2. 【Excel】日常记录
  3. 工具类的方法怎么引用_Java实用工具类:File工具类方法学习,可创建目录及文件...
  4. 监督学习 | ID3 C4.5 决策树原理
  5. 帧起始定界符_检测帧起始定界符的方法、装置、设备及计算机存储介质与流程...
  6. 为什么阿里要和小米在智能音箱上死磕?
  7. 搭建ntp时间服务器 ntp - (Network Time Protocol)
  8. 价值连城 生成对抗网络(Gans) 的作者Ian Goodfellow的采访 给深度学习从业者的建议
  9. linux服务器怎么安装证书,linux服务器证书安装指引
  10. 基于51单片机的7键8键电子琴proteus仿真数码管显示程序原理设计
  11. 供应链金融系统-强大的供应链风控体系为金融平台保驾护航
  12. 条件覆盖(Condition coverage)
  13. 京东微信、手机QQ引领社交化购物趋势
  14. (杂谈)如何在AMD官网下载旧版的驱动
  15. 数学在计算机科学上的应用文献,计算机科学技术在数学中应用浅析
  16. 数据标注工具下载中遇到的各种问题
  17. Jenkins 前端 自动化发版/CICD
  18. 利用Python批量将csv文件转化成xml文件
  19. 浅谈设计模式在iOS开发实战项目中的应用
  20. 公信宝CEO黄敏强:区块链让数据所有权回归大众

热门文章

  1. 顶岗实习周记计算机专业40篇,计算机顶岗实习周记20篇
  2. HRD 必须了解的持续绩效的优势
  3. nmos和pmos导通条件
  4. WMI遍历注册表(VBS编程)
  5. session 的工作原理?
  6. SQL数据库练习题以及答案(46例题)
  7. 如何“复活”一个人,这里有一份最全的技术路线图谱丨钛媒体深度
  8. 计算机护眼模式怎么设置的,为你解答电脑护眼设置怎么开
  9. CMOS与TTL(下)
  10. 用python实现简版区块链-交易(2)