前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何应对变化的图数据分布? Non-IID Graph Neural Networks

如何应对变化的图数据分布? Non-IID Graph Neural Networks

作者头像
Houye
发布2021-12-15 21:03:59
1.1K0
发布2021-12-15 21:03:59
举报
文章被收录于专栏:图与推荐图与推荐

前言

本文的出发点是 graph-level 的图分类任务,在图分类中,每个图都被视为一个数据样本,目标是在一组训练图上训练一个分类模型,通过利用其相关节点特征和图结构来预测未标记图的标签。当建立一个用于图分类的 GNN model 时,训练集中的图数据假定满足同分布。然而在现实世界中,同一数据集中的图可能具有差异性很大的不同结构,即图数据彼此之间可能是非非独立同分布的(Non-IID)。基于此本文提出了一种适用于 Non-IID 图数据的 GNN model。具体来说,首先给定一个图,Non-IID GNN 可以适应任何现有的图神经网络模型,为该图数据生成一个特定样本的模型。

如果大家对大图数据上高效可扩展的 GNN 和基于图的隐私计算感兴趣,欢迎关注我的 Github,之后会不断更新相关的论文和代码的学习笔记。

1.Motivation

在现实中,同一训练集中的图可能具有多样不同的结构信息。图 1(a)可视化了 D&D 数据集中蛋白质图的节点数分布,最小只有 30,最大达到了 5748。在图 1(b)和(c)中可视化说明了 D&D 数据集中节点数差异最大的两个图。这两个呈现出差异性很大的结构信息,如边的数量、密度和图的直径。

因此作者想到数据集中多样的图结构信息是否会影响基于 GNN model 的训练,作者根据节点数量将 D&D 中的图分为两组:一组由节点数量较少的图组成,另一组由节点数量较多的图组成。然后将每个集合分成一个训练集和一个测试集。分别基于两个训练集训练两个传统的 GCN model,实验结果如图 1(d)。作者基于两个 GCN model 在两个数据集上分别的表现来说明图的结构信息会影响 GNN model 的性能(这里逻辑存疑,按图 1(d)已经分成两个数据集了,理所应当对角线上表现最好,因为训练样本不同,作者原文如下)

The GNN model trained on graphs with a small number of nodes achieves much better performance on the test graphs with a small number of nodes than these with a large number of nodes.

个人认为根据这个实验结果说明的问题是图的结构会影响基于 Message-passing 的 GNN model 的性能,因为 large dataset 的表现更优,即丰富的图结构是 Message-passing GNN 表现良好的关键,因此图数据集中不同图结构的分布可能会对最终 train 的 GNN model 产生一定影响。(因此应该加入利用全部图数据训练得到的模型来进行 test dataset 的效果对比来说明 Non-IID 分布的图结构信息确实会对模型产生影响。)

作者基于此实验现象认为一个良好的 graph-level 的 GNN model 需要学习到数据集中不同分布的图结构。(此处个人认为核心在于如何处理数据集中结构信息较少的 graph data 以减少其对模型的影响)。

2. Non-IID-GNN

Non-IID-GNN 的基本思想是过在图的结构信息上应用 adaptor network来逼近图 g_{i} 的分布信 息,这些信息作为适配参数,为 g_{i} 适配每个 GNN block ,适配后的 GNN 模型 G N N_{i} 可以 看作是 g_{i} 的一个 specific graph classification model (直觉上可以理解为每个 Adaptor Network 学习一个图数据中可能存在一类图结构即图数据的一类结构分布)。理想情况下,给定 一个末标记的图 g_{j} ,经过训练的 Non-IID-GNN 将生成一个自适应的GNN 模型 G N N_{j} (Adaptor Networks 中 adaptor parameters 共享的 GNN Blocks 组成)来预测其标签。

2.1 The Adaptor Network

作者希望通过 Adaptor Network 从观察到的结构信息中估计出其分布。图神经网络通常由几个后续的 filtering 和 pooling layers 组成视为 GNN Blocks。图数据分布的不同可能对每个 GNN Block 产生不同的影响。因此建立一个 Adaptor Network,为 GNN Blocks 生成 adaptor parameters。

首先提取 \mathbf{s}_{i} 代表给定 graph sample g_{i} 的结构信息,之后 Adaptor Networks 将 \mathbf{s}_{i} 作为输 入并生成 adaptor parameters。假设共有 K 个 GNN Blocks 基于 adaptor parameters 进行 学习,形式如下:

\phi_{i j}=h_{j}\left(s_{i} ; \Omega_{j}\right), j=1, \ldots, K

其中 \Omega_{j} 代表第 j 个 adaptor network 的参数, \phi_{i j} 代表相应 adaptor network 的输出同时 被用于第 j 个GNN Block 的学习。理论上 adaptor network 的函数有多种选择,本文选择在拟 合任何函数方面能力较强的前馈神经网络, Adaptor Networks 的整体表示如下:

\Phi_{i}=H\left(\mathbf{s}_{i} ; \Omega_{H}\right)

2.2 The Adapted Graph Neural Network

2.2.1 An General Adapted Framework

graph-level 的 GNN model 通常包含两类层: the filtering layer 和 the pooling layer. 其中 the filtering layer 将图的结构和节点表示作为输入,输出节点 embedding。the pooling layer 将图的结构和节点表示作为输入,产生具有新的图结构和新的节点表示的 coarsened graph。假 设包含 K_{p} 个 pooling layer 和 K_{f} 个堆叠的 filtering layer,那么总共可学习的 GNN Blocks 的个数为 K=K_{p} * K_{f}

filtering layer

\mathbf{X}_{n e w}=f\left(\mathbf{A}, \mathbf{X} ; \theta_{f}\right)
\mathbf{A} \in \mathbb{R}^{n \times n}, \mathbf{X}_{n e w} \in \mathbb{R}^{n \times d_{n e w}}, \theta_{f}, \phi_{f}

分别代表 GNN Block 和 adaptor parameters 的参 数,关系如下:

\theta_{f}^{m}=\theta_{f} \diamond \phi_{f}

其中 \theta_{f}^{m} 代表适应的模型参数和原始模型参数 \theta_{f} 维度相同, \diamond 代表 adaptation operator, 其中算子的设计与具体类型的 GNN model 相关。模型参数自适应后的计算形式为:

\begin{aligned} &\mathbf{X}_{n e w}=f\left(\mathbf{A}, \mathbf{X} ; \theta_{f} \diamond \phi_{f}\right) \\ &\mathbf{A}_{\text {new }}, \mathbf{X}_{n e w}=p\left(\mathbf{A}, \mathbf{X} ; \theta_{p}\right) \end{aligned}
\mathbf{A}_{n e w} \in \mathbb{R}^{n_{\text {new }} \times n_{\text {new }}}, n_{\text {new }}< n_{\text { }}, \mathbf{X}_{\text {new }} \in \mathbb{R}^{n_{\text {new }} \times d_{\text {new }}}, \theta_{p}

代表池化层参数满足且池化 层更新为:

\begin{gathered} \theta_{p}^{m}=\theta_{p} \diamond \phi_{p} \\ \mathbf{A}_{\text {new }}, \mathbf{X}_{\text {new }}=p\left(\mathbf{A}, \mathbf{X} ; \theta_{p} \diamond \phi_{p}\right) \end{gathered}
2.2.2 Adapted GCN: Non-IID-GCN

以 GCN 为例:

\begin{gathered} \mathbf{X}_{n e w}=f\left(\mathbf{A}, \mathbf{X} ; \theta_{f}\right)=\sigma\left(\tilde{\mathbf{D}}^{-\frac{1}{2}} \tilde{\mathbf{A}} \tilde{\mathbf{D}}^{-\frac{1}{2}} \mathbf{X} \mathbf{W}\right) \\ \mathbf{X}_{n e w}=f\left(\mathbf{A}, \mathbf{X} ; \theta_{f}\right)=\sigma\left(\tilde{\mathbf{D}}^{-\frac{1}{2}} \tilde{\mathbf{A}} \tilde{\mathbf{D}}^{-\frac{1}{2}} \mathbf{X}\left(\mathbf{W} \diamond \phi_{f}\right)\right) \end{gathered}

算子设计如下: \phi_{f} \in \mathbb{R}^{2 d} ,将其分割成两个部分 \gamma_{f} \in \mathbb{R}^{d}, \beta_{f} \in \mathbb{R}^{d} :\mathbf{W} \diamond \phi_{f}=\left(\mathbf{W} \odot b r\left(\gamma_{f}, d_{n e w}\right)\right)+b r\left(\beta_{f}, d_{n e w}\right) 其中 b r(a, k) 代表广播机制,将向量 a 重复 kb r\left(\gamma_{f}, d_{\text {new }}\right) \in \mathbb{R}^{d \times d_{\text {new }}}, b r\left(\beta_{f}, d_{\text {new }}\right) \in \mathbb{R}^{d \times d_{\text {new }}} 即与 \mathbf{W} 维度相同, \odot 代表 element-wise multiplication。节点侧的池化层选择 max pooling layer:

\mathbf{x}_{G}=p\left(\mathbf{A}, \mathbf{X} ; \theta_{p}\right)=\max (\mathbf{X})

其中 \mathbf{x}_{G} \in \mathbb{R}^{d_{\text {new }}} 代表 graph-level 表示, \max (\cdot) 代表 the maximum over all the nodes,且 K_{p}=1

2.2.3 Adapted diffpool: Non-IID-Diffpool

Diffpool 是一种用于图分类的分层图级表示学习方法。Diffpool 中的 filtering layer 参考式(9)(10)其 pooling layer 定义如下:

\begin{gathered} \mathbf{S}=\operatorname{softmax}\left(f_{a}\left(\mathbf{A}, \mathbf{X} ; \theta_{f a}\right)\right) \\ \mathbf{X}_{n e w}=\mathbf{S}^{T} \mathbf{Z} \\ \left.\mathbf{A}_{n e w}=\mathbf{S}^{T} \mathbf{A} \mathbf{S}\right] \end{gathered}

f_{a}为在 pooling layer 中定义的嵌入层, \mathbf{S} \in \mathbb{R}^{n \times n_{\text {new }}} 代表软分配矩阵。

2.3 Training and Test

预测结果:

\tilde{y}_{i}=G N N\left(\mathbf{A}_{i}, \mathbf{X}_{i} ; \Theta_{\mathcal{G N N}} \diamond H\left(\mathbf{s}_{i} ; \Omega_{H}\right)\right)

loss:

3. Experiments

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图神经网络与推荐系统 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1.Motivation
  • 2. Non-IID-GNN
    • 2.1 The Adaptor Network
      • 2.2 The Adapted Graph Neural Network
        • 2.2.1 An General Adapted Framework
        • 2.2.2 Adapted GCN: Non-IID-GCN
        • 2.2.3 Adapted diffpool: Non-IID-Diffpool
      • 2.3 Training and Test
      • 3. Experiments
      相关产品与服务
      图数据库 KonisGraph
      图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档