ICLR23
推荐指数: #paper/⭐
原因的话,可以找找前人的一篇文章(可以看,但是当你阅读前人文章会发现。)
动机/优点
很明确,时序图只需要考虑时间相近的点,因此开销特别小。但是邻接矩阵,就要考虑所有点的关系,这样,耗时就特别大。
基础时序损失
在t时节点x和节点y的关系可以表示为:
λ
(
x
,
y
,
t
)
=
μ
(
x
,
y
,
t
)
+
h
(
x
,
y
,
t
)
\lambda_{(x,y,t)}=\mu_{(x,y,t)}+h_{(x,y,t)}
λ(x,y,t)=μ(x,y,t)+h(x,y,t)
其中,基础干涉是没有其他外部干涉的关系:
μ
(
x
,
y
,
t
)
=
−
∣
∣
z
x
t
−
z
y
t
∣
∣
2
\mu_{(x,y,t)}=-||z_x^t-z_y^t||^2
μ(x,y,t)=−∣∣zxt−zyt∣∣2
z
x
t
z_{x}^t
zxt 是节点x在t时刻的表征hawkes intensity是历史干涉的影响:
h
(
x
,
y
,
t
)
=
∑
i
∈
N
x
α
(
i
,
y
,
t
)
⋅
μ
(
i
,
y
,
t
)
,
α
(
i
,
y
,
t
)
=
ω
(
i
,
x
)
⋅
f
(
t
c
−
t
i
)
h_{(x,y,t)}=\sum_{i\in N_x}\alpha_{(i,y,t)}\cdot\mu_{(i,y,t)},\quad\alpha_{(i,y,t)}=\omega_{(i,x)}\cdot f(t_c-t_i)
h(x,y,t)=i∈Nx∑α(i,y,t)⋅μ(i,y,t),α(i,y,t)=ω(i,x)⋅f(tc−ti)
其中,
w
(
i
,
x
)
w(i,x)
w(i,x) 是节点相似性权重,评价邻居节点在所有邻居的重要性
f
(
t
c
−
t
i
)
f(t_{c}-t_{i})
f(tc−ti) 表示邻居的影响随着时间的推移而减弱。时间越早,影响越小。
δ
t
\delta_{t}
δt是可学习的参数。
t
c
t_{c}
tc 表示当前时间戳
ω
(
i
,
x
)
=
exp
(
μ
(
i
,
x
)
)
∑
i
′
∈
N
x
exp
(
μ
(
i
′
,
x
)
)
,
f
(
t
c
−
t
i
)
=
exp
(
−
δ
t
(
t
c
−
t
i
)
)
\omega_{(i,x)}=\frac{\exp(\mu_{(i,x)})}{\sum_{i^{\prime}\in N_x}\exp(\mu_{(i^{\prime},x)})},\quad f(t_c-t_i)=\exp(-\delta_t(t_c-t_i))
ω(i,x)=∑i′∈Nxexp(μ(i′,x))exp(μ(i,x)),f(tc−ti)=exp(−δt(tc−ti))
最终,给定节点x和y在时间t下的相互作用,他们的条件强度应该尽可能大,且x与其他节点的强度尽可能小,因此我们采取负采样技术:其对不相关节点进行负采样:其中,
P
(
x
)
P(x)
P(x)是与节点x相关的节点的负采样分布
L
t
e
m
=
−
log
σ
(
λ
(
x
,
y
,
t
)
)
−
∑
n
∼
P
(
x
)
log
σ
(
1
−
λ
(
x
,
n
,
t
)
)
L_{tem}=-\log\sigma(\lambda_{(x,y,t)})-\sum_{n\thicksim P(x)}\log\sigma(1-\lambda_{(x,n,t)})
Ltem=−logσ(λ(x,y,t))−n∼P(x)∑logσ(1−λ(x,n,t))
批损失:
时态图集群面临着基于静态邻近矩阵的深度集群模块不再适用的挑战。由于时态图方法批量训练数据,因此我们提出了两个新的基于批量的模块用于节点集群,即节点级分布和批级重建。
节点级分布(kl散度:)(常用于聚类优化)
q
(
x
,
k
,
t
)
=
(
1
+
∣
∣
z
x
0
−
z
c
k
t
∣
∣
2
/
v
)
−
v
+
1
2
∑
c
j
∈
C
(
1
+
∣
∣
z
x
0
−
z
c
j
t
∣
∣
2
/
v
)
−
v
+
1
2
q_{(x,k,t)}=\frac{(1+||\boldsymbol{z}_x^0-\boldsymbol{z}_{c_k}^t||^2/v)^{-\frac{v+1}2}}{\sum_{c_j\in C}(1+||\boldsymbol{z}_x^0-\boldsymbol{z}_{c_j}^t||^2/v)^{-\frac{v+1}2}}
q(x,k,t)=∑cj∈C(1+∣∣zx0−zcjt∣∣2/v)−2v+1(1+∣∣zx0−zckt∣∣2/v)−2v+1
p
(
x
,
k
,
t
)
=
q
(
x
,
k
,
t
)
2
/
∑
i
∈
V
q
(
i
,
k
,
t
)
∑
c
j
∈
C
(
q
(
x
,
j
,
t
)
2
/
∑
i
∈
V
q
(
i
,
j
,
t
)
)
p_{(x,k,t)}=\frac{q_{(x,k,t)}^2/\sum_{i\in V}q_{(i,k,t)}}{\sum_{c_j\in C}(q_{(x,j,t)}^2/\sum_{i\in V}q_{(i,j,t)})}
p(x,k,t)=∑cj∈C(q(x,j,t)2/∑i∈Vq(i,j,t))q(x,k,t)2/∑i∈Vq(i,k,t)
L
n
o
d
e
=
∑
c
k
∈
C
p
(
x
,
k
,
t
)
log
p
(
x
,
k
,
t
)
q
(
x
,
k
,
t
)
′
L_{node}=\sum_{c_k\in C}p_{(x,k,t)}\log\frac{p_{(x,k,t)}}{q_{(x,k,t)}^{\prime}}
Lnode=ck∈C∑p(x,k,t)logq(x,k,t)′p(x,k,t)
batch级别的重建
L
b
a
t
c
h
=
∣
1
−
cos
(
z
x
t
,
z
y
t
)
∣
+
∣
1
−
cos
(
z
x
t
,
z
h
t
)
∣
+
∣
0
−
cos
(
z
x
t
,
z
n
t
)
∣
L_{batch}=|1-\cos(\boldsymbol{z}_x^t,\boldsymbol{z}_y^t)|+|1-\cos(\boldsymbol{z}_x^t,\boldsymbol{z}_h^t)|+|0-\cos(\boldsymbol{z}_x^t,\boldsymbol{z}_n^t)|
Lbatch=∣1−cos(zxt,zyt)∣+∣1−cos(zxt,zht)∣+∣0−cos(zxt,znt)∣
如何理解呢,y和h是x的正样本,n是负样本。其中,n是负样本采样:
n
∼
P
(
x
)
n\sim P(x)
n∼P(x)。h是x的其他邻居节点。
其实,这个就相当于变相的对比损失(建议找一下相关的损失,一起理解)