1 Introduction
graph mining area: 图挖掘领域
图具有广泛的局部结构:从节点、模体(motifs)到子图(subgraph)
主流研究表明:图的重要特征和突出模式是通过主要由一些关键局部结构(如模体和子图)决定反映出来的
- 图核方式 Graph kernel methods: 通过核函数(kernel functions)分解图得到子图结构,然后直接利用它们来衡量图对的相似性,而不是转化成矢量形式(vectorization)
- 图圣经网络方式 Graph neural networks (GNNs): 遵循消息传递机制(message-passing scheme)——在中心节点的邻域子图上递归聚合邻居信息
- 缺陷: 大多数只通过边传播信息来表示节点,并且全局地combine这些i信息以形成图表示,但得到的图表示本质上是平坦的 flat——
只能检测模糊模式,并且无法有效地捕获精确的可区分结构信息
—— 无法捕捉到图的层次结构或多尺度特征
- 缺陷: 大多数只通过边传播信息来表示节点,并且全局地combine这些i信息以形成图表示,但得到的图表示本质上是平坦的 flat——
目前,大部分研究依赖于启发式直觉判断或试错的方法来识别和利用图数据中的关键结构,同时也关注于一些基本的图结构,如 ego-networks 或 motifs
然而,以下挑战使关键结构检测任务变得不平凡:
- Data-Specific and task-specific: 在不同的数据集和任务中,关键结构可能不同,因此很难预先定义它们的模式
- Arbitrary size and shape: 关键结构可以是大小和形状各异的大型结构。设计固定的提取规则是困难的
- Absence of annotations: 对于大多数数据集和应用场景,缺少关键结构的标注。由于缺乏注释,在学习过程中难以以监督信息的形式利用关键结构的宝贵信息;在无监督的情况下开采关键结构是很困难的,即使我们有一些专业知识,但这些知识也不能转移到其他任务中
- Local-Scale and global-scale: 关键结构不仅应包含局部语义(在局部尺度上),而且还应在全局图属性(全局尺度)中发挥重要作用
2 RELATED WORK
2.1 Graph Neural Networks
- 大多数全局融合节点特征以生成总体图形表示,无法捕获层次结构属性
- 一些图池化方法试图提出一些层次结构信息提取的原则:
- cluster based pooling :将节点聚类为组,然后根据组分配生成粗略图
- 缺点: 这类方法通过隐式聚类来利用特征和结构信息,导致缺乏可解释性
- selection based pooling : 通过计算重要节点的重要性分数来选择重要节点,以删除冗余信息
- 缺点: 这类方法应用节点级策略,忽略了局部子结构的语义信息
- cluster based pooling :将节点聚类为组,然后根据组分配生成粗略图
2.2 Critical Structure Mining
- Graph kernel:
- 直接使用核函数从原始图结构中分解预定义的结构(例如walk 、最短路径、子图 )
- 以核函数为形式的关键结构模式大多是手工制作的,并且是启发式的,导致灵活性和泛化性能较差
- neighborhood subgraphs:
- 子图大小预定义/限定
- Motifs: 经常出现的子图模式
- 仅限于通过预定义的motif提取规则将小的局部子结构枚举为局部特征,这需要利用领域专业知识进行手动设计
- Graph transformers:
- 通过自注意力机制捕获节点对之间的交互信息
- 只能对节点之间的位置关系进行编码,无法识别节点之间的结构相似性,只能识别关键边
- Find more flexible subgraphs
2.3 Find more flexible subgraphs
当前结合了强化学习(RL)的图神经网络(GNNs)专注于寻找关键关系或更好的GNN架构来处理节点级别的任务。在推进强化学习以发现更复杂的图级别任务的关键结构方面,研究仍然有限
2.4 GNNs with Mutual Information
Mutual Information(MI):提供了一种统一的方式来衡量两个变量之间的相关程度,它在许多应用中被广泛使用
大多数现有的结合互信息(MI)的图神经网络(GNNs)专注于节点级别或图级别的表示,而我们的模型专注于子图表示。此外,它们大多数利用MI进行自监督学习,很少考虑表示和标签之间的MI,而我们的标签感知MI增强机制旨在使子图对下游任务更具预测性
3 ADASNN: ADAPTIVE SUBGRAPH NEURAL NETWORK
目标:设计出 一种用于图分类的自适应子图神经网络,能够检测关键子图作为整个图的代表性抽象,因此需要设计出一个灵活的架构,该架构满足:
+ 在没有标注监督信息的情况下检测任意大小和形状的关键子图
+ 在检测到的关键子图中保留整个图的属性
解决: 作者分别设计了一个强化子图检测模块 Reinforcement Subgraph Detection Module和一个两级互信息增强机制 Bi-Level MI Enhancement Mechanism
3.1 Problem Formulation
3.2 Pipeline of AdaSNN
使用 AdaSNN 进行图分类包括三个步骤:
- 关键子图检测 Critical Subgraph Detection:从输入图中检测关键子图;
- 子图草图和编码 Subgraph Sketching and Encoding:在检测到的子图上构建草图,并学习子图编码
- 子图表示增强 Subgraph Representation Enhancement:进一步增强子图表示并用于分类
3.2.1 Step-1: Critical Subgraph Detection
开发了一个强化子图检测模块 Reinforcement Subgraph Detection Module,该模块学习从原始图中找到关键子图,并利用下游任务的反馈,而无需监督信息
问题:直接从图中采样节点并将其诱导的子图视为关键子图的方法面临挑战,主要因为图的大小可以变化很大,且图中节点之间的依赖关系复杂多变
做法:
- 首先,采样一组种子节点
{
v
i
}
i
=
1
N
\{v_i\}_{i=1}^{N}
{vi}i=1N作为子图的中心节点,然后围绕这些种子节点采样子图
- 将子图采样任务分解为两个子任务即深度决策和邻域决策(depth decision and neighbor decision),然后设计了两个智能体即Depth-Agent and Neighbor-Agent来解决它们
- 对每个中心节点 v i v_i vi,首先使用2层的GNN编码器将节点特征转换为节点编码作为初始化 ,然后检测 v i v_i vi为中心的子图
d i ⇐ π d ( G , v i ) , g i ⇐ π n ( G , v i , d i ) (1) d_i \lArr \pi^d(G,v_i),g_i\lArr\pi^{n}(G,v_i,d_i)\tag{1} di⇐πd(G,vi),gi⇐πn(G,vi,di)(1)
其中, d i d_i di是子图的深度, g i g_i gi是检测到的子图, π d \pi^d πd和 π n \pi^{n} πn分别是Depth-Agent 和Neighbor-Agent学习到的策略
3.2 Step-2: Subgraph Sketching and Encoding
在获得关键子图 { g i } \{g_i\} {gi}后,将其压缩成草图 G s k e = ( V s k e , E s k e ) G^{ske}=(V^{ske},E^{ske}) Gske=(Vske,Eske),然后使用注意力机制来学习子图嵌入
- 将每个子图视为草图中的一个超级节点 supernode
-
V
s
k
e
V^{ske}
Vske之间的连通性由两个子图间的公共节点数决定:当
g
i
g_i
gi和
g
j
g_j
gj间的公共节点数超过一个常数
b
c
o
m
b_{com}
bcom,两个子图对应的supernode间会被赋予一条边
e
i
,
j
e_{i,j}
ei,j
V s k e = { g i } , ∀ i = 1 , 2 , . . . , N ; E s k e = { e i , j } , ∀ ∣ V ( g i ) ⋂ V ( g j ) ∣ > b c o m (2) \begin{aligned} V^{ske} &= \{g_i\}, \forall i=1,2,...,N;\\ E^{ske} &=\{e_{i,j}\},\forall|V(g_i)\bigcap V(g_j)|>b_{com} \end{aligned} \tag{2} VskeEske={gi},∀i=1,2,...,N;={ei,j},∀∣V(gi)⋂V(gj)∣>bcom(2) - 从两个角度学习子图的表示:子图内和子图间 intra-subgraph and inter-subgraph
- intra-subgraph perspective :使用基于GNN的编码器
E
\mathcal{E}
E迭代更新得到关键子图内每个节点的表示
H
(
g
i
)
H(g_i)
H(gi),然后使用READOUT函数【作者使用 sum pooling】得到子图级表示
h
i
g
h_i^g
hig;其中
E
\mathcal{E}
E遵循消息传递机制框架
H ( g i ) = E ( g i ) = { h i ( v j ) ∣ v j ∈ V ( g i ) } (3) H(g_i)=\mathcal{E}(g_i)=\{h_i(v_j)|v_j\in V(g_i)\}\tag{3} H(gi)=E(gi)={hi(vj)∣vj∈V(gi)}(3)
h i l + 1 ( v j ) = U ( l + 1 ) ( h i ( l ) ( v j ) , A G G ( M ( l + 1 ) ( h i ( l ) ( v k ) ) ) , ∀ v k ∈ V ( g i ) a n d v k ∈ N ( v j ) ) (4) \begin{aligned} h_i^{l+1}(v_j)=U^{(l+1)}(h_i^{(l)}(v_j),AGG(M^{(l+1)}(h_i^{(l)}(v_k))),\forall v_k \in V(g_i) and v_k \in \mathcal{N}(v_j)) \end{aligned}\tag{4} hil+1(vj)=U(l+1)(hi(l)(vj),AGG(M(l+1)(hi(l)(vk))),∀vk∈V(gi)andvk∈N(vj))(4)
h i g = R E A D O U T ( { h i L ( v j ) } , v j ∈ V ( g i ) ) (5) h_i^g=READOUT(\{h_i^L(v_j)\},v_j\in V(g_i)) \tag{5} hig=READOUT({hiL(vj)},vj∈V(gi))(5)
- intra-subgraph perspective :使用基于GNN的编码器
E
\mathcal{E}
E迭代更新得到关键子图内每个节点的表示
H
(
g
i
)
H(g_i)
H(gi),然后使用READOUT函数【作者使用 sum pooling】得到子图级表示
h
i
g
h_i^g
hig;其中
E
\mathcal{E}
E遵循消息传递机制框架
- inter-subgraph perspective: 利用注意力机制来从子图的嵌入向量中了解子图之间的交互
- 利用多头注意力机制【M个头】来计算子图 g i g_i gi对 g j g_j gj之间的注意力系数 α i j \alpha_{ij} αij
- 子图表示被邻居子图更新得到
z
g
=
{
z
i
g
}
i
=
1
N
z^g=\{z_i^g\}_{i=1}^N
zg={zig}i=1N
z i g = 1 M ∑ m = 1 M ∑ e i j ∈ E s k e α i j m W i n t e r m h j g z_i^g={1\over M}\sum_{m=1}^M\sum_{e_{ij}\in E^{ske}}\alpha_{ij}^mW_{inter}^mh_j^g zig=M1m=1∑Meij∈Eske∑αijmWintermhjg
3.3 Step-3: Subgraph Representation Enhancemen
设计出一个Bi-Level Mutual Information (MI) Maximization Mechanism来增强子图表示,主要从Global-Aware MI 和 Label-Aware MI两个角度进行增强
- Global-Aware MI Maximization旨在鼓励子图表示了解整个图的全局属性 :目标是基于给定的数据集
G
=
{
G
}
G=\{G\}
G={G}最大化局部子图表示
z
i
g
z_i^g
zig和全局图表示
z
G
z^G
zG之间的互信息MI
m a x ∑ G ∈ G 1 N ∑ i = 1 N I ( z i g , z G ) (7) max\sum_{G\in G}{1\over N}\sum_{i=1}^N\mathcal{I}(z_i^g,z^G)\tag{7} maxG∈G∑N1i=1∑NI(zig,zG)(7) - Label-Aware MI Maximization旨在鼓励子图表示在图样本中具有判别性 : 目标是基于给定的数据集
G
=
{
G
}
G=\{G\}
G={G}最大化子图
z
i
g
z_i^g
zig和标签
Y
Y
Y之间的互信息MI,Y是子图
z
i
g
z_i^g
zig所属的图的标签
m a x ∑ G ∈ G 1 N ∑ i = 1 N I ( z i g , Y ) (8) max\sum_{G\in G}{1\over N}\sum_{i=1}^N\mathcal{I}(z_i^g,Y)\tag{8} maxG∈G∑N1i=1∑NI(zig,Y)(8)
3.3 Reinforced Subgraph Detection Module
目标: 使用强化学习算法自适应地检测任意大小和形状的关键子图
通过Finite Horizon Markov Decision Process (MDP) M ( G , Y ) \mathcal{M}(G,Y) M(G,Y)来建模子图检测
分两个阶段对每个种子节点的子图进行采样:
- 对一个中心节点 v t v_t vt,Depth-Agent根据策略 π ( s t d ) \pi(s_t^d) π(std)生成一个行动 a t d a_t^d atd来指定该中心节点的子图的深度 k k k
- 有了指定的 k = a t d k=a_t^d k=atd后,Neighbor-Agent 生成行动 ( a t n ( 1 ) , a t n ( 2 ) , . . . , a t n ( k ) ) (a_t^{n(1)},a_t^{n(2)},...,a_t^{n(k)}) (atn(1),atn(2),...,atn(k))来逐跳采样子图内的成员节点,这些节点是v点的k跳邻居
3.3.1 Depth-Agent
为给定的中心节点选择子图的深度,表示为 ( S d , A d , R d , T d ) (\mathcal{S}^d,\mathcal{A}^d,\mathcal{R}^d,\mathcal{T}^d) (Sd,Ad,Rd,Td)
-
S
t
a
t
e
(
S
d
)
State(\mathcal{S}^d)
State(Sd): 定义为当前中心节点
v
t
v_t
vt的中心嵌入
h
t
h_t
ht和其K-hop邻居的上下文嵌入
z
N
(
K
)
(
v
t
)
z^{N^{(K)}(v_t)}
zN(K)(vt),该上下文嵌入是
v
t
v_t
vt的K-hop邻居内所有节点的平均向量;K 是一个预定义的超参数,它决定了子图的最大深度
s t d = ( h t , z N ( K ) ( v t ) ) (9) s_t^d=(h_t,z^{N^{(K)}(v_t)})\tag{9} std=(ht,zN(K)(vt))(9) - A c t i o n ( A d ) Action(\mathcal{A}^d) Action(Ad): 决定关键字图的深度,一直是一个正整数且 1 ≤ a t d ≤ K 1\leq a_t^d \leq K 1≤atd≤K
-
R
e
w
a
r
d
(
R
d
)
Reward(\mathcal{R}^d)
Reward(Rd):由于图神经网络(GNN)的黑盒特性,很难感知其状态,这使得累积奖励不可用;对于奖励函数,直接定义了一个离散的奖励函数
r
d
(
s
t
d
,
a
t
d
)
r^d(s_t^d,a_t^d)
rd(std,atd),该奖励函数是基于下游任务性能的提升作为目标,以推动性能的边界
r d ( s t d , a t d ) = { + 0.5 , i f Y t ^ = Y , − 0.5 , i f Y t ^ ≠ Y , (10) r^d(s_t^d,a_t^d)=\left\{ \begin{matrix} +0.5,if \ \hat{Y_t}=Y,\\ -0.5,if \ \hat{Y_t} \neq Y, \end{matrix}\right. \tag{10} rd(std,atd)={+0.5,if Yt^=Y,−0.5,if Yt^=Y,(10)
其中, Y Y Y是ground-truth label, Y ^ \hat{Y} Y^是每个时期 t t t 的predicted label - T r a n s i t i o n ( T d ) Transition(\mathcal{T}^d) Transition(Td):选择完当前子图的深度后,Depth-Agent 会将种子节点集合中的下一个中心节点作为下一个状态进行采样;一旦采样了N个子图后,过程就会停止
3.3.2 Neighbor-Agent
逐跳选择子图的成员节点,深度由深度代理选定,表示为 ( S n , A n , R n , T n ) (\mathcal{S}^n,\mathcal{A}^n,\mathcal{R}^n,\mathcal{T}^n) (Sn,An,Rn,Tn)
-
S
t
a
t
e
(
S
d
)
State(\mathcal{S}^d)
State(Sd): 定义为当前子图
z
g
k
−
1
z^{g_{k-1}}
zgk−1的中心嵌入和其第K跳的邻居节点的上下文嵌入
z
N
(
K
)
(
v
t
)
z^{N^{(K)}(v_t)}
zN(K)(vt)
- z g k − 1 z^{g_{k-1}} zgk−1是当前(k-1)-hop子图内所有节点的平均向量;设置 z g 1 z^{g_1} zg1是中心节点 v t v_t vt的表示 h t h_t ht
-
z
N
(
K
)
(
v
t
)
z^{N^{(K)}(v_t)}
zN(K)(vt)是
v
t
v_t
vt的第k跳邻居的平均向量
s t n ( k ) = ( z g k − 1 , z N ( K ) ( v t ) ) (11) s_t^{n(k)}=(z^{g_{k-1}},z^{N^{(K)}(v_t)})\tag{11} stn(k)=(zgk−1,zN(K)(vt))(11)
- A c t i o n ( A n ) Action(\mathcal{A}^n) Action(An): 子图采样动作可以分解为层次动作 a t n = ( a t n ( 1 ) , a t n ( 2 ) , . . . , a t n ( k ) ) a_t^n=(a_t^{n(1)},a_t^{n(2)},...,a_t^{n(k)}) atn=(atn(1),atn(2),...,atn(k))
-
R
e
w
a
r
d
(
R
n
)
Reward(\mathcal{R}^n)
Reward(Rn):
r
n
(
s
t
n
,
a
t
n
)
r^n(s_t^n,a_t^n)
rn(stn,atn),对下游图分类任务进行性能提升,客观度量关键子图效果
r n ( s t n , a t n ) = { + 0.5 , i f Y t ^ = Y , − 0.5 , i f Y t ^ ≠ Y , (12) r^n(s_t^n,a_t^n)=\left\{ \begin{matrix} +0.5,if \ \hat{Y_t}=Y,\\ -0.5,if \ \hat{Y_t} \neq Y, \end{matrix}\right. \tag{12} rn(stn,atn)={+0.5,if Yt^=Y,−0.5,if Yt^=Y,(12) - T r a n s i t i o n ( T d ) Transition(\mathcal{T}^d) Transition(Td): 由动作 a t n a_t^n atn选择完成员节点后,Neighbor-Agent将当前子图的表示以及下一条的节点表示为 s t + 1 n s_{t+1}^n st+1n;一旦代理采样了子图的k跳成员节点,该过程就会停止
强化学习算法选择DQN:
- 一种无模型算法,用于学习一个最优策略,该策略能够从当前状态开始最大化所有步骤的期望总回报
- 算法使用深度神经网络来近似状态-动作价值 Q ( s , a ) Q(s,a) Q(s,a)
目标: 训练 Depth-Agent 和 Neighbor-Agent 的 Q 函数
Q
d
(
s
d
,
a
d
)
=
E
s
d
′
[
R
(
s
d
′
)
+
γ
d
max
a
d
′
(
Q
d
(
s
d
′
,
a
d
′
)
)
]
(13)
Q^d(s^d,a^d)=\mathbb{E}_{s^{d'}}[\mathcal{R}(s^{d'})+\gamma^d\max_{a^{d'}}(Q^d(s^{d'},a^{d'}))]\tag{13}
Qd(sd,ad)=Esd′[R(sd′)+γdad′max(Qd(sd′,ad′))](13)
Q
n
(
s
n
,
a
n
)
=
E
s
n
′
[
R
(
s
n
′
)
+
γ
d
max
a
n
′
(
Q
n
(
s
n
′
,
a
n
′
)
)
]
(14)
Q^n(s^n,a^n)=\mathbb{E}_{s^{n'}}[\mathcal{R}(s^{n'})+\gamma^d\max_{a^{n'}}(Q^n(s^{n'},a^{n'}))]\tag{14}
Qn(sn,an)=Esn′[R(sn′)+γdan′max(Qn(sn′,an′))](14)
其中, γ d , γ d ∈ [ 0 , 1 ] \gamma^d,\gamma^d \in [0,1] γd,γd∈[0,1]表示未来奖励的折扣因素
采用具有探索概率ε的
ε
−
g
r
e
e
d
y
ε-greedy
ε−greedy策略来获得策略
π
d
,
π
n
\pi^d,\pi^n
πd,πn:
π
(
a
t
d
∣
s
t
d
;
Q
d
∗
)
=
{
r
a
n
d
o
m
a
c
t
i
o
n
,
w
i
t
h
p
r
o
b
a
b
i
l
i
t
y
ε
arg max
a
t
d
Q
d
∗
(
s
t
d
,
a
t
d
)
,
o
t
h
e
r
w
i
s
e
(15)
\pi(a_t^d|s_t^d;Q^{d*})=\left\{ \begin{matrix} random action,with probability ε\\ \argmax_{a_t^d} Q^{d*}(s_t^d,a_t^d),otherwise \end{matrix}\right. \tag{15}
π(atd∣std;Qd∗)={randomaction,withprobabilityεargmaxatdQd∗(std,atd),otherwise(15)
π
(
a
t
n
∣
s
t
n
;
Q
n
∗
)
=
{
r
a
n
d
o
m
a
c
t
i
o
n
,
w
i
t
h
p
r
o
b
a
b
i
l
i
t
y
ε
arg max
a
t
n
Q
n
∗
(
s
t
n
,
a
t
n
)
,
o
t
h
e
r
w
i
s
e
(16)
\pi(a_t^n|s_t^n;Q^{n*})=\left\{ \begin{matrix} random action,with probability ε\\ \argmax_{a_t^n} Q^{n*}(s_t^n,a_t^n),otherwise \end{matrix}\right. \tag{16}
π(atn∣stn;Qn∗)={randomaction,withprobabilityεargmaxatnQn∗(stn,atn),otherwise(16)
3.4 Bi-Level MI Enhancement Mechanism
动机: 由于AdaSNN的核心思想是提取关键子图作为图的代表性抽象,这些关键子图应该意识到全局图属性并对下游任务具有预测性。因此从信息论的角度设计了一个双层互信息(MI)增强机制,旨在两个层面上增强子图表示:(1) Global-Aware MI:子图表示与图表示之间的互信息;(2) Label-Aware MI:子图表示与图标签之间的互信息
3.4.1 Global-Aware MI Enhancement
- 目标:让子图表示能够保存原始图的整体结构属性,并不需要保存所有属性
- 方法: 使用 Jensen-Shannon estimator来最大化局部子图嵌入和全局嵌入之间的互信息
- Jensen-Shannon估计器与Kullback-Leiber散度近似单调的,这可以提供更好和更稳定的结果
- 以对比的方式执行,因为Jensen-Shannon estimator基于区分局部/全局对和负采样对
- 将negative local/global pairs设置为一个子图表示 z g z^g zg和一个alternative 图表示 z G ′ z^{G'} zG′
- 全局图表示
z
G
z^{G}
zG是通过一个 READOUT(·) 函数【可以采用任何置换不变函数 permutation-invariant function,作者采用了简单的均值mean策略】对获得的子图级嵌入进行组合
z G = R E A D O U T ( { z i g } i = 1 N ) (17) z^G=READOUT(\{z_i^g\}_{i=1}^N)\tag{17} zG=READOUT({zig}i=1N)(17)
global/local MI 表示为:
I
(
z
g
,
z
G
)
:
=
E
p
[
−
s
p
(
−
T
(
z
g
,
z
G
)
)
]
−
E
P
×
P
~
[
s
p
(
−
T
(
z
g
,
z
G
′
)
)
]
(18)
\mathcal{I}(z^g,z^G):=\mathbb{E}_p[-sp(-T(z^g,z^G))]-\mathbb{E}_{\mathbb{P}\times \widetilde{\mathbb{P}}}[sp(-T(z^g,z^{G'}))]\tag{18}
I(zg,zG):=Ep[−sp(−T(zg,zG))]−EP×P
[sp(−T(zg,zG′))](18)
其中, G G G是遵循输入空间 P \mathbb{P} P的经验概率分布的输入样本, G ′ G' G′是从 P ~ = P \widetilde{\mathbb{P}}=\mathbb{P} P =P中采样的图; s p ( z ) = log ( 1 + e z ) sp(z)=\log(1+e^z) sp(z)=log(1+ez)表示softplus函数
同时,引入一个判别器
D
\mathcal{D}
D来确定输入子图嵌入和图嵌入是否来自同一图,从而得到 Global-Aware MI Enhancement loss function
L
M
I
g
l
o
b
a
l
\mathcal{L}_{MI}^{global}
LMIglobal
L
M
I
g
l
o
b
a
l
=
1
N
+
N
n
e
g
(
∑
g
i
∈
G
N
log
(
D
(
z
i
g
,
z
G
)
)
+
∑
g
j
∈
G
N
n
e
g
log
(
1
−
D
(
z
i
g
,
z
G
′
)
)
)
(19)
\mathcal{L}_{MI}^{global}={1 \over {N+N_{neg}}}(\sum_{g_i\in G}^N \log(\mathcal{D}(z_i^g,z^G))+\sum_{g_j\in G}^{N_{neg}} \log(1-\mathcal{D}(z_i^g,z^{G'}))) \tag{19}
LMIglobal=N+Nneg1(gi∈G∑Nlog(D(zig,zG))+gj∈G∑Nneglog(1−D(zig,zG′)))(19)
其中, n n e g n_{neg} nneg是负样本 negative samples的个数
此外,要注意的是Global-Aware MI Enhancement机制是以对比的方式执行的,因此负采样策略决定了捕获的结构信息的特定类型,并且是对比方法的关键实现细节。论文中负样本是通过以批量方式,将当前批次中的另一个图实例作为 G ′ G' G′来生成的;作者为了研究负采样策略的影响,设计了另一种负采样策略 G ′ ( V , X ′ , A ) = C ( G ( V , X , A ) ) G'(V,X',A)=\mathcal{C}(G(V,X,A)) G′(V,X′,A)=C(G(V,X,A)),这种策略通过破坏原始图来生成负样本。破坏函数 C ( . ) \mathcal{C}(.) C(.)保留了原始节点集 V 和邻接矩阵 A,但通过按行洗牌的方式破坏了节点特征矩阵
P. Velickovic, W. Fedus, W. L. Hamilton, P. Li `o, Y. Bengio, and R. D. Hjelm, “Deep graph infomax.” in ICLR, 2019.
3.4.2 Label-Aware MI Enhancement
动机: 为了提取与任务相关的子图,鼓励检测到的子图能够预测图的标签
方法: 使用Label-Aware MI Enhancement机制来大化子图嵌入
z
g
z^g
zg与与图标签
Y
Y
Y之间的相关性
I ( Y , z g ) = ∫ p ( Y , z g ) log p ( y ∣ z g ) p ( y ) d Y d z g = ∫ p ( Y , z g ) log p ( y ∣ z g ) d Y d z g − ∫ p ( Y , z g ) log p ( y ) d Y d z g = ∫ p ( Y , z g ) log p ( Y ∣ z g ) d Y d z g + H ( Y ) (20) \begin{aligned} \mathcal{I}(Y,z^g) &= \int p(Y,z^g)\log {p(y|z^g)\over p(y)}dYdz^g\\ &= \int p(Y,z^g)\log {p(y|z^g)}dYdz^g- \int p(Y,z^g)\log { p(y)}dYdz^g \\ &= \int p(Y,z^g)\log {p(Y|z^g)}dYdz^g+H(Y) \end{aligned} \tag{20} I(Y,zg)=∫p(Y,zg)logp(y)p(y∣zg)dYdzg=∫p(Y,zg)logp(y∣zg)dYdzg−∫p(Y,zg)logp(y)dYdzg=∫p(Y,zg)logp(Y∣zg)dYdzg+H(Y)(20)
其中,
H
(
Y
)
H(Y)
H(Y)表示标签集
Y
Y
Y的熵,在优化过程中可以忽略; 实践中,通过对训练数据进行抽样得到一经验分布来近似
p
(
Y
,
z
g
)
p(Y,z^g)
p(Y,zg),从而可以将真实的后验概率
p
(
Y
,
z
g
)
p(Y,z^g)
p(Y,zg)替换为一个变分近似
q
ϕ
(
Y
∣
z
g
)
q_{\phi}(Y|z^g)
qϕ(Y∣zg)以获得
I
(
Y
,
z
g
)
\mathcal{I}(Y,z^g)
I(Y,zg)的一个可行的下界:
I
(
Y
,
z
g
)
=
∫
p
(
Y
,
z
g
)
log
p
(
Y
∣
z
g
)
d
Y
d
z
g
+
H
(
Y
)
≥
∫
p
(
Y
,
z
g
)
log
q
ϕ
(
Y
∣
z
g
)
d
Y
d
z
g
+
K
L
(
p
(
Y
∣
z
g
)
∣
∣
q
ϕ
(
Y
∣
z
g
)
)
(21)
\begin{aligned} \mathcal{I}(Y,z^g) &= \int p(Y,z^g)\log {p(Y|z^g)}dYdz^g+H(Y)\\ &\geq \int p(Y,z^g)\log {q_{\phi}(Y|z^g)}dYdz^g+KL(p(Y|z^g)||q_{\phi}(Y|z^g)) \end{aligned} \tag{21}
I(Y,zg)=∫p(Y,zg)logp(Y∣zg)dYdzg+H(Y)≥∫p(Y,zg)logqϕ(Y∣zg)dYdzg+KL(p(Y∣zg)∣∣qϕ(Y∣zg))(21)
接着,根据 Kullback Leiber 散度的非负性即 K L ( p ( Y ∣ z g ) ∣ ∣ q ϕ ( Y ∣ z g ) ) ≥ 0 KL(p(Y|z^g)||q_{\phi}(Y|z^g))\geq 0 KL(p(Y∣zg)∣∣qϕ(Y∣zg))≥0,可以继续得到:
I ( Y , z g ) ≥ ∫ p ( Y , z g ) log q ϕ ( Y ∣ z g ) d Y d z g + K L ( p ( Y ∣ z g ) ∣ ∣ q ϕ ( Y ∣ z g ) ) ≥ ∫ p ( Y , z g ) log q ϕ ( Y ∣ z g ) d Y d z g ≈ 1 N ∑ i = 1 N log q ϕ ( Y i ∣ z i g ) = : L M I l a b e l ( z g , Y ) (22) \begin{aligned} \mathcal{I}(Y,z^g) &\geq \int p(Y,z^g)\log {q_{\phi}(Y|z^g)}dYdz^g+KL(p(Y|z^g)||q_{\phi}(Y|z^g))\\ &\geq \int p(Y,z^g)\log {q_{\phi}(Y|z^g)}dYdz^g\\ & \approx {1\over N}\sum_{i=1}^N \log {q_{\phi}(Y_i|z^g_i)}\\ &=:\mathcal{L}_{MI}^{label}(z^g,Y) \end{aligned} \tag{22} I(Y,zg)≥∫p(Y,zg)logqϕ(Y∣zg)dYdzg+KL(p(Y∣zg)∣∣qϕ(Y∣zg))≥∫p(Y,zg)logqϕ(Y∣zg)dYdzg≈N1i=1∑Nlogqϕ(Yi∣zig)=:LMIlabel(zg,Y)(22)
上述式子表明,可以通过最小化 z g z^g zg和 Y Y Y之间的分类损失 L M I l a b e l ( z g , Y ) \mathcal{L}_{MI}^{label}(z^g,Y) LMIlabel(zg,Y)来最大化 I ( Y , z g ) \mathcal{I}(Y,z^g) I(Y,zg) 即 最小化 L M I l a b e l ( z g , Y ) \mathcal{L}_{MI}^{label}(z^g,Y) LMIlabel(zg,Y)就是鼓励子图表示与对应原始图标签相关;作者将 L M I l a b e l ( z g , Y ) \mathcal{L}_{MI}^{label}(z^g,Y) LMIlabel(zg,Y)设置为cross-entropy loss
3.5 Optimization of AdaSNN
L = L c l s + β 1 L M I g l o b a l + β 2 L M I l o c a l (23) \mathcal{L}=\mathcal{L}_{cls}+\beta_1\mathcal{L}_{MI}^{global}+\beta_2\mathcal{L}_{MI}^{local}\tag{23} L=Lcls+β1LMIglobal+β2LMIlocal(23)
其中, L c l s = C E ( z G , Y ) \mathcal{L}_{cls}=CE(z^G,Y) Lcls=CE(zG,Y)是一个用于图分类的cross-entropy loss
训练过程中,了使训练过程更稳定,使用了 内存缓冲机制memory buffer mechanism:为Depth-Agent和Neighbor-Agent分别构建了两个缓冲区
B
d
\mathcal{B}^d
Bd和
B
n
\mathcal{B}^n
Bn;获取的状态和动作存储在这些缓冲区中;当缓冲区满时,从缓冲区中随机抽取经验数据,通过公式(13)和公式(14)优化相应的Q函数,然后清空缓冲区
K.-H. Lai, D. Zha, K. Zhou, and X. Hu, “Policy-gnn: Aggregation optimization for graph neural networks,” in SIGKDD, 2020, pp. 461–471.
4 EXPERIMENTAL ANALYSIS
4.1 Experimental Setups
4.1.1 Datasets
4.1.2 Baselines
- Graph neural networks : GCN、GAT、GIN
- Graph pooling methods :
- DiffPool :为节点学习一个可微的软聚类分配,并将聚类映射到超节点,逐层作为粗化的图层【 R. Ying, J. You, C. Morris, X. Ren, W. L. Hamilton, and J. Leskovec, “Hierarchical graph representation learning with differentiable pooling,” in NeurIPS, 2018.】
- ASAPool :利用注意力机制来捕获节点的重要性,并通过可学习的稀疏软聚类分配将子图汇集到粗糙图中【E. Ranjan, S. Sanyal, and P. P. Talukdar, “Asap: Adaptive structure aware pooling for learning hierarchical graph representations.” in AAAI, 2020, pp. 5470–5477.】
- Top-k Pool:自适应地选择一些关键节点,根据它们的重要性向量形成一个更小的子图【H. Gao and S. Ji, “Graph u-nets,” in ICML, K. Chaudhuri and R. Salakhutdinov, Eds., vol. 97, 2019, pp. 2083–2092.】
- SortPool:按照一致的顺序对图节点进行排序,并设计在节点序列上训练的局部图卷积模型【M. Zhang, Z. Cui, M. Neumann, and Y. Chen, “An end-to-end deep learning architecture for graph classification,” in AAAI, 2018.】
- SAGPool:使用自注意力机制来保留一些节点并删除其他节点【J. Lee, I. Lee, and J. Kang, “Self-attention graph pooling,” in ICML, vol. 97, 2019, pp. 3734–3743.】
- EdgePool:通过边收缩学习局部和稀疏池化变换【F. Diehl, T. Brunner, M. T. Le, and A. Knoll, “Towards graph pooling by edge contraction,” in ICML 2019 Workshop on Learning and Reasoning with Graph-Structured Data, 2019.】
- Critical structure detection methods :
- Ego-CNN :在每一层都采用ego-convolutions,并通过堆叠层以ego-centric的方式检测精确的关键结构【R.-C. Tzeng and S.-H. Wu, “Distributed, egocentric representations of graphs for detecting critical structures,” in ICML, 2019, pp. 6354–6362.】
- SIB:将一般信息瓶颈原则扩展到图数据,以解决子图识别问题【J. Yu, T. Xu, Y. Rong, Y. Bian, J. Huang, and R. He, “Graph information bottleneck for subgraph recognition,” in ICLR, 2021.】
- SUGAR:首先对一些子图进行采样,然后使用DQN算法选择top-k关键子图作为整个图的代表性抽象【Q. Sun, J. Li, H. Peng, J. Wu, Y. Ning, P. S. Yu, and L. He, “Sugar: Subgraph neural network with reinforcement pooling and self-supervised mutual information mechanism,” in The Web Conference, 2021.】
- CAL:提出因果注意力学习(CAL)策略,通过注意力模块估计因果和shortcut features来发现关键子图【Y. Sui, X. Wang, J. Wu, M. Lin, X. He, and T.-S. Chua, “Causal attention for interpretable and generalizable graph classification,” in SIGKDD, 2022, pp. 1696–1705.】
- Graph transformer:
- SAT:通过提取每个节点的 k-hop 子图或 k 子树,然后再计算注意力,将结构信息融入原始自注意力中【D. Chen, L. O’Bray, and K. Borgwardt, “Structure-aware transformer for graph representation learning,” in ICML. PMLR, 2022, pp. 3469–3489.】
- Graph reinforcement learning method:
- PolicyGNN:使用强化学习算法来自适应地确定每个节点的聚合深度【K.-H. Lai, D. Zha, K. Zhou, and X. Hu, “Policy-gnn: Aggregation optimization for graph neural networks,” in SIGKDD, 2020, pp. 461–471.】
4.1.3 Implementation Details
4.2 Overall Evaluation (Q1)
评估 AdaSNN 在图分类和图去噪任务上的能力,以验证 AdaSNN 提高图学习质量和鲁棒性的能力
4.2.1 Graph Classification
- 子图级信息去噪的直觉
- 利用任意大小和形状的子图
4.2.2 Graph Denoising
为了评估AdaSNN的鲁棒性,我们通过在REDDITB数据集中删除或添加边来生成合成数据集。具体来说,对于每个图形,我们随机删除(如果存在边)或添加(如果没有这样的边)25%、50% 和 75% 的边
4.3 Analysis of the Reinforced Subgraph Detection Module (Q2)
从有效性、稳定性和参数灵敏度方面分析了增强子图检测模块的影响
4.3.1 Impact of the Reinforced Subgraph Detection Module
设计了AdaSNN 的两种变体:
- AdaSNN(2hop) :固定 2 跳子图作为关键子图
- AdaSNN(random) :将随机选择深度的子图作为关键子图
由于将关键子图作为整个图的代表性抽象,因此检测到的子图的质量直接决定了图表示的质量
SUGAR是一个两阶段框架,通过固定规则对子图进行采样,然后选择关键子图,其中使用强化学习算法来确定关键子图的数量——SUGAR检测到的关键子图受采样规则的约束
封闭的阴影区域是三次训练运行的精度范围,中间实线是平均精度,虚线水平线是过去 10 个时期的平均精度值
正如我们所观察到的,AdaSNN的训练过程不如SUGAR稳定,这可能是因为关键子图检测的强化学习算法更复杂。与SUGAR相比,AdaSNN的平均准确率提高了约0.78%,这支持了我们对关键子图检测的直觉
4.3.2 Reinforcement Learning Process
由于增强子图检测模块中的RL算法和子图神经网络是联合训练的,因此它们的更新和收敛很重要
阴影区域由最小和最大奖励包围,中间实线是五次运行的平均奖励。水平虚线表示过去 10 个时期的平均奖励
MUTAG的平均奖励收敛到0.4243,在IMDB-B上收敛到0.4852,在30个epoch内有一个稳定的学习曲线,这意味着该框架可以根据检测到的子图预测真实的标签
表明所提出的增强子图检测模块可以与子图神经网络一起稳定地进行训练,并且收敛速度快
4.3.3 Parameter Sensitivity of the Number of Subgraphs and the Maximum Subgraph Depth
分析检测到的子图数量 N 和最大子图深度 K 的影响
4.4 Analysis of the Bi-Level MI Enhancement Mechanism (Q3)
从有效性、负采样策略和参数敏感性等方面分析了Bi-Level MI Enhancement机制
4.4.1 Impact of the Bi-Level MI Enhancement Mechanism
引入了以下三种AdaSNN变体:
- AdaSNN(w/o Bi-Level):无Bi-Level MI Enhancement机制的AdaSNN, L = L c l s \mathcal{L}=\mathcal{L}_{cls} L=Lcls
- AdaSNN(w/o LA):不带Label-Aware MI Enhancement的 AdaSNN,即具有Global-Aware MI enhancement , L = L + β 1 L M I g l o b a l \mathcal{L}=\mathcal{L}+\beta_1\mathcal{L}_{MI}^{global} L=L+β1LMIglobal
- AdaSNN(w/o GA):不带Global-Aware MI enhancement的 AdaSNN,即具有Label-Aware MI Enhancement , L = L + β 2 L M I l a b e l \mathcal{L}=\mathcal{L}+\beta_2\mathcal{L}_{MI}^{label} L=L+β2LMIlabel
- AdaSNN(w/o sub):没有子图检测和草图化过程,使用GIN作为图编码器,直接最大化了节点与图之间的Global-Aware互信息以及节点与图标签之间的LabelAware互信息
标签感知MI在增强子图的批判性和判别性方面发挥着更重要的作用
强制单个节点同时保留图形属性和标签信息,显示了不好的性能
所提出的Bi-Level MI Enhancement 机制可以通过两种增强方式捕获不同类型数据集的不同关键信息
4.4.2 Impact of the Negative Sampling Strategy
负采样策略即得到
G
′
G′
G′是Global-Aware MI Enhancement的一个关键实现细节,它控制了捕获结构信息的特定类型
可能的解释是图破坏负采样策略会使G′失去重要的结构属性,只能给出弱监督
应仔细设计负抽样策略,以便子图表示可以区分其他图实例
4.4.3 Parameter Sensitivity of the Negative Sampling Ratio
Global-Aware MI 增强机制旨在以对比方式最大化关键子图和图之间的互信息。人们普遍认为,竞争性对比方法需要大量的负样本
较大的负采样率似乎并不能显著提高AdaSNN的性能。一个可能的原因是,为每个检测到的关键子图绘制负样本,即使负采样率很小,这也已经提供了足够的自我监督。考虑到大量负样本造成的计算开销,我们在其他实验中将负采样率设置为1
4.5 Training Stability of AdaSNN (Q4)
AdaSNN的核心思想是通过增强子图检测模块进行关键子图抽象。将GNN和强化学习算法相结合确实很复杂且具有挑战性。此外,自监督双级MI增强机制中互信息的估计始终受到训练不稳定的影响。在本小节中,我们分析了AdaSNN的收敛性
即使结合了RL算法、自监督MI增强机制和GNN的复杂组合,所提出的AdaSNN也能得到稳定的训练
4.6 Complexity and Time Analysis
-
AdaSNN图上的总体时间复杂度为 O ( N b ‾ K + N b ‾ 2 + N 2 ) O(N\overline{b}^K+N\overline{b}^2+N^2) O(NbK+Nb2+N2);其中, N N N是子图的个数, b ‾ \overline{b} b是平均节点度, K K K是组大子图深度
- 增强子图检测模块的时间复杂度 O ( N b ‾ K ) O(N\overline{b}^K) O(NbK)
- 2 层 GIN 编码器的时间复杂度 O ( N b ‾ 2 ) O(N\overline{b}^2) O(Nb2)
- 子图草图化的时间复杂度 O ( N 2 ) O(N^2) O(N2)
- 对于Bi-Level MI Enhancement Mechanism,损失计算需要 O ( N ) O(N) O(N)
- 实验中,计算了 10 个 epoch 的时间消耗并报告一个时期的平均时间
-
AdaSNN 的整体内存复杂度为 O ( N b ‾ K ) O(N\overline{b}^K) O(NbK)
- 实验中,子图个数 N从 5 到 20 中选择, K 设置为 4 或 5
4.7 Visualization (Q5)
将结果可视化以直观地深入了解 AdaSNN 带来的变化 —— 检验AdaSNN在解释图属性方面的能力
节点颜色表示节点上标记的元素类型
在MUTAG数据集中,有188个分子图通过它们对细菌的诱变作用进行标记,致突变分子的主要决定因素是硝基元素和连接到碳环的NO2
节点颜色的阴影与关键子图中节点的频率成正比
MDB-B 是一个电影合作数据集,由在 IMDB 中出演电影的 1,000 个男演员和女演员的自我网络组成。这些自我网络被标记为动作片或浪漫片类型,其中节点代表男演员/女演员,边代表演员在同一部电影中的共同出演。如图 15 所示,AdaSNN 能够发现一些节点(即一些重要演员)之间的密切关系,而不是平等对待所有节点。此外,大多数检测到的子图包含了原始图中两个社区之间的桥接节点。草图也反映了演员群体之间的互动
视化结果表明,所提出的AdaSNN可以检测判别性子图,并且具有为学习结果提供可解释性的潜力