Graph OOD Detection
[AAAI’24]GOODAT: Towards Test-time Graph Out-of-Distribution Detection
open-world scenarios
specific model
rely on the training dataset
Challenges
challenge 1: inconsistent learning objective
大部分的GNN都是针对特定的图学习任务(比如图分类)而不是OOD检测进行训练的。
在这种情况下,如何将这些已有的模型与OOD检测的目标结合起来仍然是一个难题。
challenge 2: absence of labels
在测试阶段,图标签的缺乏给无监督检测分布内和分布外图带来了挑战。
设计一个无监督模型。
challenge 3: unavailability of training data
无法了解图神经网络模型原始的训练数据。
限制了我们将OOD检测模型集成到GNN中的能力。
Contributions
- new paradigm
lightweight, training data-independent, and plug-and-play - novel method
利用信息瓶颈原理(GIB),GOODAT 从每个输入图中捕获信息丰富的子图 - extensive experiments
Preliminaries
GIB(graph information bottleneck)
信息瓶颈旨在压缩原始信息来获得与标签相关的关键信息:
m
a
x
Z
I
(
Y
,
Z
)
−
λ
I
(
G
,
Z
)
max_ZI(Y, Z)- \lambda I(G, Z)
maxZI(Y,Z)−λI(G,Z)其中 λ 是拉格朗日乘子。
Definition
Test-time graph OOD detection
well-trained GNN
f
f
f (fixed)
a grapg
G
G
G from the test dataset
OOD detector
D
D
D
D
e
t
e
c
t
i
o
n
l
a
b
e
l
=
{
1
(
O
O
D
)
,
if
D
(
f
,
G
)
≥
η
0
(
I
D
)
,
if
D
(
f
,
G
)
<
η
Detection~label=\begin{cases}1(OOD), & \text{ if } D(f,G)\ge \eta \\ 0(ID), & \text{ if } D(f,G) < \eta \end{cases}
Detection label={1(OOD),0(ID), if D(f,G)≥η if D(f,G)<η
Methods
给定代理标签,GIB用于查找每个输入图与其标签相关性最高的子图。
分布外样本的标签是错误的(不同于分布内样本的标签),因此经过压缩得到的子图也会与分布内样本的子图显著不同,从而区分OOD和ID。即,假设测试集中的所有图都是分布内,由这些ID标签压缩的OOD子图应该和ID子图显著不同。
-
subgraph GIB loss
来求近似 m a x Z I ( Z , Y ) − α I ( Z , G ) , max_ZI(Z,Y)-\alpha I(Z,G), maxZI(Z,Y)−αI(Z,G), -
masked graph GIB loss
来求近似 m a x Z ′ β I ( Z ′ , G ) − I ( Z ′ , Y ) , max_Z{'}\beta I(Z{'},G)-I(Z{'},Y), maxZ′βI(Z′,G)−I(Z′,Y), -
graph distribution separating loss
Experiments
数据集:
采用GOOD-D提出的评估协议
(分布内、分布外是不同数据集)
graph-level?
[WSDM’23]GOOD-D: On Unsupervised Graph Out-of-Distribution Detection
“Can we effectively detect OOD graphs solely based on unlabeled in-distribution data”
图对比学习(GCL)方法
无监督图级分布外检测问题
dataset
D
i
n
=
{
G
1
i
n
,
⋯
,
G
N
1
i
n
}
D^{in}= \left \{ G_1^{in},\cdots ,G^{in}_{N_1} \right \}
Din={G1in,⋯,GN1in} from
P
i
n
\mathbb{P}^{in}
Pin
dataset
D
o
u
t
=
{
G
1
o
u
t
,
⋯
,
G
N
1
o
u
t
}
D^{out}= \left \{ G_1^{out},\cdots ,G^{out}_{N_1} \right \}
Dout={G1out,⋯,GN1out} from
P
o
u
t
\mathbb{P}^{out}
Pout
评分函数
s
=
f
(
G
)
s=f(G)
s=f(G) 越大越是分布外
对比学习的核心是最大化两个不同视图下样本之间的一致性。
-
节点特征
通过集成节点特征和邻接矩阵直接构建feature view -
图结构
从图结构中提取节点级结构编码并将它们与邻接矩阵组合
层次图对比学习
- node-level constrast
InfoNCE-like node-level contrastive loss - Graph-level constrast
- group-level constrast
进行跨数据集的实验