是聚类让我们“聚类”,我整理了部分深度图聚类代码,希望大家多多支持(GitHub代码):A-Unified-Framework-for-Deep-Attribute-Graph-Clustering!❤️
原文地址:论文阅读10——《Adversarially regularized joint structured clustering network》
作者:Yachao Yang, Fujiao Ju, Yanfeng Sun, Junbin Gao, Baocai Yin
发表时间:2022年10月3日
论文地址:Adversarially regularized joint structured clustering network
作者认为之前的方法,如GAE、DAE、SDCN、IGAE等都是非正则化
方法,主要采用GAE或GCN来提取图的嵌入,因此学习到的次优映射
会导致隐藏嵌入无任何结构
,在现实世界中处理含有噪声的图数据
时容易造成性能不佳
。
图自编码器
和深度自编码器结合
,构造一个对抗正则化
的联合聚类网络(AJSCN)。该框架通过将DAE学到的表示传递到GAE相应层,将GAE和DAE联合在一起,以缓解过度平滑问题
。对抗性训练方案
,使GAE
学习到的潜在表示
与先验分布
相匹配
,以避免潜在空间的任何结构自由。自监督
和互监督
的联合监督机制,自监督学习更紧凑的表征
,互监督使不同表征更加一致
。最经典的嵌入拓扑信息方法可以追溯到局部保持投影(LPP)
和谱聚类
:
局部保持投影相关文章:
《Enhenced and parameterless locality preserving projections for face recognition》
《A novel process monitoring and fault detection approach based on statistics locality preserving projections》
《Locality preserving projections》
谱聚类相关文章:
《Deep spectral clustering learning》
《Large-scale spectral clustring on graphs》
《Deep spectral clustering usign dual autoencoder network》
以重建邻接矩阵
为目标的方法,很大程度上忽略了节点特征的表示
。
自编码器
可以有效地将数据通过非线性变换
转化到低维空间
。
该部分可以说与之前的文章(类似SDCN结构的文章)相比没有任何变化,同样是通过重建
X
X
X来计算重建损失
:
L
d
a
t
a
=
1
2
N
∥
X
−
X
^
∥
F
2
\mathscr{L}_{data}=\frac{1}{2N}\| X-\hat{X}\|_F^2
Ldata=2N1∥X−X^∥F2
从上面的图可以看出,GAE部分仍然使用SDCN中GCN模块,然后通过计算嵌入表示
Z
Z
Z的内积
来获得重建邻接矩阵
,这在之前的文章中也有同样的方法。
A
^
i
j
=
sigmoid
(
Z
i
⊤
Z
j
)
\hat{A}_{ij}=\text{sigmoid}(Z_i^\top Z_j)
A^ij=sigmoid(Zi⊤Zj)
邻接矩阵的重建损失:
L
1
=
∑
i
=
1
N
∑
j
=
1
N
loss
(
A
i
j
,
A
^
i
j
)
\mathscr{L}_1=\sum\limits_{i=1}^N\sum\limits_{j=1}^N \text{loss}(A_{ij}, \hat{A}_{ij})
L1=i=1∑Nj=1∑Nloss(Aij,A^ij)
上述体系结构是一种非正则化
的嵌入方法,主要侧重于保持数据的结构
,它忽略了潜在嵌入的数据分布,导致了较差
的表示。从而作者添加了一个对抗性正则化
来学习一个鲁棒
的潜在表示。在对抗性框架中,作者将上面图中的GCN结构视为生成器
G
(
X
,
A
,
H
)
\mathscr{G}(X,A,H)
G(X,A,H),模型图中的绿线
表示一个转换
操作,在GCN产生输出以后,为了获得数据的结构
信息,对其进行转置
操作(这个操作由于本人才疏学浅,属实没有理解其中的原理),增强
隐层的结构信息表示
。
Z
^
=
A
Z
\hat{Z}=AZ
Z^=AZ
准换后的
Z
^
\hat{Z}
Z^包含更多结构信息。对于给定的潜在变量的分布,判别器
D
(
Z
^
)
\mathscr{D}(\hat{Z})
D(Z^)学习判别潜在变量是来自先验分布
还是图自编码器
。
损失函数:
L
2
=
min
G
max
D
E
Z
^
∼
p
(
z
)
[
log
D
(
Z
^
)
]
+
E
X
∼
p
(
X
)
[
log
(
1
−
D
(
G
(
X
,
A
,
H
)
)
)
]
\mathscr{L}_2=\min_\mathscr{G}\max_\mathscr{D}\mathbb{E}_{\hat{Z}\sim p(z)}[\log\mathscr{D}(\hat{Z})] + \mathbb{E}_{X\sim p(X)}[\log(1-\mathscr{D}(\mathscr{G}(X,A,H)))]
L2=GminDmaxEZ^∼p(z)[logD(Z^)]+EX∼p(X)[log(1−D(G(X,A,H)))]
为了获得更好的图嵌入,在一个统一的框架中联合优化GAE和对抗性正则化,损失函数如下:
L
a
d
v
=
α
1
L
1
+
α
2
L
2
\mathscr{L}_{adv}=\alpha_1\mathscr{L}_1+\alpha_2\mathscr{L}_2
Ladv=α1L1+α2L2
该部分包括两个机制:自监督机制和互监督机制。
通过学生 t t t分布分别计算 H H H和 Z Z Z的目标分布 Q H Q_H QH和 Q Z Q_Z QZ,以及辅助分布 P H P_H PH和 P Z P_Z PZ。
优化H的损失函数:
L
3
=
K
L
(
P
H
∥
Q
H
)
=
∑
i
∑
j
P
h
∣
i
j
⋅
log
P
h
∣
i
j
Q
h
∣
i
j
\mathscr{L}_3=KL(P_H\|Q_H)=\sum\limits_i\sum\limits_j P_{h|ij}\cdot\log\frac{P_{h|ij}}{Q_{h|ij}}
L3=KL(PH∥QH)=i∑j∑Ph∣ij⋅logQh∣ijPh∣ij
类似地,优化
Z
Z
Z的损失函数:
L
4
=
K
L
(
P
Z
∥
Q
Z
)
=
∑
i
∑
j
P
z
∣
i
j
⋅
log
P
z
∣
i
j
Q
z
∣
i
j
\mathscr{L}_4=KL(P_Z\|Q_Z)=\sum\limits_i\sum\limits_j P_{z|ij}\cdot\log\frac{P_{z|ij}}{Q_{z|ij}}
L4=KL(PZ∥QZ)=i∑j∑Pz∣ij⋅logQz∣ijPz∣ij
然后使用互监督机制,用
P
H
P_H
PH监督
Q
Z
Q_Z
QZ,使
H
H
H和
Z
Z
Z在训练过程中趋于一致:
L
5
=
K
L
(
P
H
∥
Q
Z
)
=
∑
i
∑
j
P
h
∣
i
j
⋅
log
P
h
∣
i
j
Q
z
∣
i
j
\mathscr{L}_5=KL(P_H\|Q_Z)=\sum\limits_i\sum\limits_j P_{h|ij} \cdot\log\frac{P_{h|ij}}{Q_{z|ij}}
L5=KL(PH∥QZ)=i∑j∑Ph∣ij⋅logQz∣ijPh∣ij
总的聚类损失:
L
c
l
u
=
L
3
+
α
3
L
4
+
α
4
L
5
\mathscr{L}_{clu}=\mathscr{L}_3+\alpha_3\mathscr{L}_4+\alpha_4\mathscr{L}_5
Lclu=L3+α3L4+α4L5
总的损失函数:
L
l
o
s
s
=
L
d
a
t
a
+
L
a
d
v
+
L
c
l
u
\mathscr{L}_{loss}=\mathscr{L}_{data}+\mathscr{L}_{adv}+\mathscr{L}_{clu}
Lloss=Ldata+Ladv+Lclu
与其他文章中不同的是,该方法将自编码器的目标分布
Q
H
Q_H
QH作为聚类结果,取其中最大的一个概率的索引作为该类的标签。
r
i
=
arg
max
j
Q
h
∣
i
j
r_i=\arg\max_jQ_{h|ij}
ri=argjmaxQh∣ij
作者提出了一种新的对抗正则化联合结构聚类网络(AJSCN)。 为了避免嵌入的自由结构,它被强制遵循一个先验分布。 对于聚类任务,构造了一个联合监督机制,其中包括学习更紧密表示的自我监督和使不同表示趋于一致的相互监督。