论文解读:Structural Optimization Makes Graph Classification Simpler and Better
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)logvol(α)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)=minT{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)=minT: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 方法,主要是两点不同:
- Hierarchical Reporting Scheme
- 特征向量的表示不同:使用的是节点标签的计数
首先介绍 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相关推荐
- 【论文解读 ICEIT2022】Heterogeneous Graph Based Knowledge Tracing基于异构图的知识追踪
文章目录 摘要 1 引言 2 相关工作 2.1 知识追踪 2.2 异构图嵌入 3 基于异构图嵌入的知识追踪 4 实验 5 结论 依然是两阶段 摘要 最近,随着在线辅导系统的发展,对知识追踪(Knowl ...
- 【论文】解读AM-GCN: Adaptive Multi-channel Graph Convolutional
解读AM-GCN: Adaptive Multi-channel Graph Convolutional 摘要 当下提出的新问题:GCNs能否可以在信息丰富的复杂图中优化集成节点的特征喝拓扑结构.提出 ...
- 论文模型构建的步骤_Deep Learning of Graph Matching论文解读
原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的. 其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明 ...
- 《CapsE—Graph Classification via Capsule Neural Networks》解读
<Capsule Neural Networks for Graph Classification using Explicit Tensorial Graph Representations& ...
- 论文阅读ICLR2020《ADAPTIVE STRUCTURAL FINGERPRINTS FOR GRAPH ATTENTION NETWORKS》
论文阅读ICLR2020<ADAPTIVE STRUCTURAL FINGERPRINTS FOR GRAPH ATTENTION NETWORKS> 摘要 确定节点相似性时图的结构 Ad ...
- 论文解读《Co-Correcting:Noise-tolerant Medical Image Classification via mutual Label Correction》
论文解读<Co-Correcting:Noise-tolerant Medical Image Classification via mutual Label Correction> 论文 ...
- [Scene Graph] Neural Motifs: Scene Graph Parsing with Global Context 论文解读
[Scene Graph] Neural Motifs: Scene Graph Parsing with Global Context (CVPR 2018) 论文解读 简介 这篇文章工作的创新之处 ...
- 论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference 随着 ...
- 论文阅读笔记:Multi-view adaptive graph convolutions for graph classification
论文阅读笔记:Multi-view adaptive graph convolutions for graph classification 文章目录 论文阅读笔记:Multi-view adapti ...
- Open-Vocabulary Multi-Label Classification via Multi-modal Knowledge Transfer 论文解读
Open-Vocabulary Multi-Label Classification via Multi-modal Knowledge Transfer 论文解读 前言 Motivation Con ...
最新文章
- wingide运行两个项目_Python开发环境Wing IDE使用教程:设立项目
- 【Excel】日常记录
- 工具类的方法怎么引用_Java实用工具类:File工具类方法学习,可创建目录及文件...
- 监督学习 | ID3 C4.5 决策树原理
- 帧起始定界符_检测帧起始定界符的方法、装置、设备及计算机存储介质与流程...
- 为什么阿里要和小米在智能音箱上死磕?
- 搭建ntp时间服务器 ntp - (Network Time Protocol)
- 价值连城 生成对抗网络(Gans) 的作者Ian Goodfellow的采访 给深度学习从业者的建议
- linux服务器怎么安装证书,linux服务器证书安装指引
- 基于51单片机的7键8键电子琴proteus仿真数码管显示程序原理设计
- 供应链金融系统-强大的供应链风控体系为金融平台保驾护航
- 条件覆盖(Condition coverage)
- 京东微信、手机QQ引领社交化购物趋势
- (杂谈)如何在AMD官网下载旧版的驱动
- 数学在计算机科学上的应用文献,计算机科学技术在数学中应用浅析
- 数据标注工具下载中遇到的各种问题
- Jenkins 前端 自动化发版/CICD
- 利用Python批量将csv文件转化成xml文件
- 浅谈设计模式在iOS开发实战项目中的应用
- 公信宝CEO黄敏强:区块链让数据所有权回归大众