论文阅读笔记(17):GAN-based Enhanced Deep Subspace Clustering Networks,基于GAN的增强深度子空间聚类网络
摘要
在本文中,我们提出了两种基于GAN的深子空间聚类方法:基于对偶对抗生成(dual adversarial generative)网络的深度子空间聚类(DSC-DAG)和基于对抗生成网络的自监督深度子空间聚类(S 2 ^2 2DSC-AG)。在DSC-DAG中,通过对抗训练同时学习输入和相应潜在表征的分布。此外,有两种合成表示有助于编码器的fine-tuning :具有随机组合系数的潜在表示组合、和来自噪声变量的real-like输入的表示。在S 2 ^2 2DSC-AG中,一个自监督信息学习模块代替了潜在空间中的对抗性学习,因为两者在学习区别性潜在表征方面起着相同的作用。我们分析了这些方法之间的联系,并证明了它们的等价性。我们针对最先进的子空间聚类方法在准确性、规范化互信息和纯度方面对多个真实数据集进行了广泛的实验。实验结果证明了本文方法的有效性和优越性。
1 介绍
子空间聚类已在图像处理中的图像内容压缩和表示学习,计算机视觉中的图像/视频分割以及生物信息学中的基因表达谱聚类中进行了研究。这些数据的高维特性导致时间和硬件成本的增加,并可能对性能产生负面影响。这些数据通常是低维子空间的并集,而不是均匀分布在高维空间中。例如,当在各种照明条件下对人的面部图像进行聚类或在时间序列中跟踪运动对象的轨迹时,属于类内的数据可以由低维子空间表示。在此设置下,搜索低维子空间以探索数据中的结构不仅降低了时间复杂度和硬件要求,而且有助于减轻高维噪声的负面影响,从而获得更好的性能。由于传统的聚类方法通过利用属于每个类的数据的接近距离将数据划分为类,而上述数据在高维环境空间而不是质心周围任意分布,因此这些方法不适用于子空间聚类。有必要开发考虑多个子空间结构信息的算法。
子空间聚类包括:基于因式分解、代数、统计和谱聚类的方法。基于因式分解的方法通过搜索输入的适当低秩因子分解来获得分割。然而,这类方法对噪声和异常值很敏感。此外,还需要知道子空间的个数和维数等先验知识。代数方法不太可能通过将多项式拟合到输入来解决子空间聚类问题。这类方法受到拟合多项式计算复杂度的限制,因为随着子空间数目和维数的增加,复杂度将呈指数增长。统计方法使用概率框架处理子空间聚类,其中数据来自高斯分布的混合。但是,这种类型的方法依赖于初始化。基于谱聚类的方法在子空间聚类中占主导地位,包括对亲和矩阵的学习和对亲和矩阵进行谱聚类。在这些方法中,稀疏子空间聚类(SSC)和低秩表示(LRR)是两种典型的方法。它们之间的区别在于对仿射矩阵施加了不同的正则化项。最近,结构化稀疏子空间聚类(S 3 ^3 3C)通过引入结构化范数正则化来量化亲和矩阵和划分矩阵之间的不一致性,从而联合执行亲和矩阵学习和子空间聚类。
虽然子空间聚类方法已经取得了令人满意的性能,但是它们无法学习原始输入的分布,这可能会影响特征提取从高维到潜在嵌入空间的效果。为了解决这些问题,我们提出了两种方法:在DSC-DAG中,我们利用输入空间和潜在空间中的两种对抗性学习来模拟输入和相应表示的分布。更具体地说,有两种合成表示法:前者是将原始输入的表示法与随机组合系数相结合得到的;后者是通过学习输入的分布和合成来自噪声的类实输入来生成的。这两种合成表示都有助于对编码器进行微调,以学习信息性和鉴别性知识。在S 2 ^2 2DSC-AG中,我们将在DSC-DAG的潜在空间中工作的对抗性学习替换为有助于捕获区分性标签空间特征的自我监督信息学习模块,该模块产生一个二进制指示矩阵,其元素指示一对样本的相似程度。同时,划分矩阵产生结构范数矩阵,其元素表示一对样本是否属于同一子空间。该二进制指示符矩阵和结构化范数矩阵是协作学习的,这有助于编码器的微调。
本文的主要贡献总结如下
- 我们提出了一种具有对偶对抗生成网络的深子空间聚类方法,该方法允许对真实数据的分布和相应的潜在表示进行建模;
- 提出了一种基于对抗生成网络的自监督深子空间聚类方法,该方法能够模拟真实数据的分布,挖掘自监督信息;
- 我们对这两种方法的等效性进行了分析,并在多个数据集上与最先进的方法进行了对比实验,以验证其有效性。
2 相关工作
略
3 提议的方法
在本节中,我们介绍了基于对偶对抗生成网络的深子空间聚类(DSC-DAG)和基于对抗生成网络的自监督深子空间聚类(S 2 ^2 2DSC-AG),然后分析了这些方法之间的联系。两种方法的框架分别如图1和图2所示。
3.1 DSC-DAG
图1:具有双生成对抗网络的子空间聚类框架(DSC-DAG)。鉴别器1和2分别在输入空间和潜在空间中工作。噪声z从均匀分布或高斯分布中采样。两个编码器共享相同的参数。
对DSC-DAG的个人理解:将X进行编码到潜在空间中的Z,对Z用全连接层深度学习得到相似性矩阵C,解码器1同时也是一个生成器1,将Z重构为 X r e c X_{rec} Xrec。然后我们再从噪声中构建一个解码器2(其实也是生成器2),让生成器2合成的伪造X去和生成器1的 X r e c X_{rec} Xrec进行对抗训练,以混淆鉴别器1为优化目标,这便是第一重对抗学习。在得到足够优秀的伪造X之后,把这个伪造X用编码器也映射到潜在空间,用这两个Z混淆鉴别器2,也就是第二重对抗学习。
如图1所示,DSC-DAG包括编码器、两个解码器、全连接层和两个鉴别器。首先,我们使用第一个自动编码器和鉴别器2学习输入的潜在表示。同时,全连接层学习自表达矩阵。该阶段基于深度对抗子空间聚类。其次,我们使用解码器2作为生成器,并结合鉴别器1来模拟原始输入的分布。通过学习输入分布,我们可以合成更均匀地覆盖输入空间的真实数据。第三,我们通过将合成数据压缩为与潜在表示具有相同维度的变量,然后将压缩的变量输入鉴别器2中,从而对编码器进行细化,从而对潜在表示的分布进行建模。
3.1.1 学习潜在表示
给定输入
X
\bf X
X,使用自动编码器和全连接层学习潜在表示
Z
\bf Z
Z:
其中
Z
=
F
θ
(
X
)
\textbf Z=F_\theta(\textbf X)
Z=Fθ(X),
F
θ
(
X
)
F_\theta(\textbf X)
Fθ(X)代表了带参数
θ
\theta
θ编码器而
G
ω
1
(
⋅
)
G_{\omega1}(\cdot)
Gω1(⋅)为带参数
ω
1
\omega1
ω1的解码器1,
Θ
s
\Theta_s
Θs为带参数
s
s
s的全连接层。编码器将输入映射到低维子空间,其中每个输入的表示可以通过其他表示的组合(也就是自表达模型)来重建。这些重构系数通过
Θ
s
Θs
Θs获得,对应于等式(1)中的第二项和第三项(具体来说第三项是为了解决子空间保持和连通性问题)。等式(1)中的第一项通过最小化解码器的重构损失鼓励从X学习有意义的潜在特征
Z
Z
Z。上述约束是为了避免平凡解(也就是
Θ
s
=
I
Θs=I
Θs=I)。
虽然通过公式(1)学习到的
Z
Z
Z可能有利于聚类,但对于具有复杂子空间或难分布的数据,它们的识别能力不够。我们使用鉴别器2对Z的处理来解决此问题。具体地说,我们对Z的亲和矩阵采用规范化分割。然后,通过线性组合分配给同一子空间的表示,我们生成
m
i
∗
m_i^∗
mi∗个假表示,记为
{
z
^
t
}
t
=
1
m
i
∗
\{\hat z_t\}^{m_i^∗}_{t=1}
{z^t}t=1mi∗,其中
z
^
t
\hat z_t
z^t的定义如下:
其中 n j n_j nj为指派到第 i t h i^{th} ith个子空间的样本数量, α t ∈ R n i \alpha_{t}\in\mathbb R^{n_i} αt∈Rni从属于(0,1]的高斯分布中采样, α t i \alpha_{ti} αti是 α t \alpha_{t} αt的第 i i i个元素。
接下来,我们训练鉴别器2使
Z
Z
Z更具辨别力。对于高质量的聚类,每个表示都可以由同一子空间中其他表示的线性组合完美表示。然而,当有一些数据被错误地分配给该聚类时,或当该聚类偏离ground-truth时,它们的线性组合将在正确分配的数据所张成的子空间之外生成新的聚类。为了量化子空间的质量,我们用鉴别器2的损失:
其中 [ x ] + = m a x ( 0 , x ) [x]_+=max(0,x) [x]+=max(0,x)为正半轴半波整流, U i , U j \textbf U_i,\textbf U_j Ui,Uj为鉴别器2学到的第 i i i和第 j j j个子空间的基向量。损失函数的最后两项分别促约束子空间间的可分性和子空间基的正交性。
3.1.2 对原始输入数据分布的建模
虽然潜在表征的学习已经取得了令人满意的性能,但人们可能会忽略输入数据的分布。在处理高维数据时,它希望使用均匀分布在输入空间中的足够数据,这会带来高昂的成本。然而,一旦我们使用生成性对抗网络(GAN)对其进行建模,我们就可以通过从其分布中取样来生成各种数据,其目标函数如下:
其中,真实数据是对输入的重构,
p
n
p_n
pn是从均匀分布或高斯分布中采样的变量。因此,它允许合成在原始空间中均匀分布的更多样的数据,从而细化有利于子空间聚类的潜在空间。我们采用谱归范化来控制生成器1的解码器2、和鉴别器1的权重,以提高训练的稳定性。
3.1.3 潜在表示分布的建模
在学习原始输入的分布后,我们生成更真实的原始数据并将其输入编码器1以获得足够的表示,以便微调潜在子空间的学习。虽然通过等式(3)获得的潜在表示的区分促进了类间的可分性,但是可以通过以下方式对其分布进行建模来进一步增强可分性:
应该注意,鉴别器2分为两个阶段进行训练。第一阶段学习每个子空间的最具有判别力的特征。第二阶段将真实数据的潜在表示作为伪样本,将噪声产生的合成类真实数据的潜在表示作为真实样本,以微调鉴别器2。此类操作允许合成数据保留原始结构信息,同时使其在潜在子空间中更可分离,因为属于不同聚类的合成数据的表示更容易区分。因此,原始数据的表示可以接近合成数据的潜在表示分布,这有助于细化聚类之间的决策边界。DSC-DAG的伪代码如算法1所示。
个人解释:step1首先用公式1预训练一个基本的深度子空间聚类网络,FC层就是自表示层,要求最小化重构损失并且对FC层的参数施加范数惩罚和对角约束;step2从高斯或均匀分布的噪声中初始化用于对抗学习的编码器2,两个鉴别器也被初始化了;step3开始迭代;step4用预训练得到的聚类标签对编码器2和鉴别器1进行更新;step5通过最小化公式3,使用鉴别器2更新编码器和自表达层;step6最后通过最小化公式5更新编码器和鉴别器2
3.2 S 2 ^2 2DSC-AG
图2:基于生成对抗网络的自监督子空间聚类框架(S 2 ^2 2DSC-AG)。分类器1在原始空间中工作,并对生成器的解码器2进行对抗性训练。 A c \textbf A_c Ac和 Υ P \Upsilon_P ΥP之间的协作学习探索用于微调编码器的自监督信息。噪声z从均匀分布或高斯分布中采样。两个编码器共享相同的参数。
在这一部分中,我们详细阐述了图2所示的S2DSC-AG。与DSC-DAG相比,我们删除了鉴别器2,并引入了自我监督信息学习模块。给定一对样本 x i x_i xi和 x j x_j xj,它们之间的相似性 s i j s_{ij} sij可以用二进制表示,即,如果 x i x_i xi和 x j x_j xj属于同一子空间,则 s i j = 1 s_{ij}=1 sij=1,否则 s i j = 0 s_{ij}=0 sij=0。优秀的特征变换器应鼓励成对特征之间的相似性满足上述划分,相似性和划分之间的冲突可向特征transformer提供反馈。
3.2.1 学习自监督信息
我们首先再使用一个全连接层将
Z
=
F
θ
(
X
)
Z=F_\theta (X)
Z=Fθ(X)投影到label空间,label空间的维度记为子空间的个数。然后将每个标签的特征进行规范化到单位长度,即:
其中
F
L
(
Z
)
=
[
v
1
,
v
2
,
.
.
.
,
v
N
]
∈
R
k
×
N
F_L(Z)=[v_1,v_2,...,v_N]\in\mathbb R^{k\times N}
FL(Z)=[v1,v2,...,vN]∈Rk×N,
v
i
∈
R
k
×
1
v_i\in\mathbb R^{k\times 1}
vi∈Rk×1表示第i个样本的标签特征。利用$
F
L
(
Z
)
F_L(Z)
FL(Z)我们可以计算二进制指示矩阵
A
c
∈
R
N
×
N
A_c\in\mathbb R^{N\times N}
Ac∈RN×N的元素:
同时,我们按照以下目标指导最后的FC层训练:
其中,
P
∈
R
N
×
N
P\in\mathbb R^{N\times N}
P∈RN×N和
C
∈
R
k
×
k
C\in\mathbb R^{k\times k}
C∈Rk×k分别代表分割矩阵和聚类中心矩阵。该式第一项减少每个样本与其指定类之间的平方距离之和。第二项鼓励尽可能远离彼此的聚类中心。
P
P
P的每列中值最大的索引表示相应样本所属的类或子空间。
基于矩阵 P P P,我们定义子空间分配的指示矩阵 Υ P ∈ R N × N \Upsilon_P\in\mathbb R^{N\times N} ΥP∈RN×N为:
其中
p
i
p_i
pi表示矩阵
P
P
P的第i列。在得到了
Υ
P
\Upsilon_P
ΥP和
A
c
A_c
Ac之后,我们假定:
- 当 v i , v j v_i,v_j vi,vj对应的向量来自相同的子空间时, A c ( i , j ) A_c(i,j) Ac(i,j)是非零的;
- 当 v i , v j v_i,v_j vi,vj对应的向量来自不同的子空间时, A c ( i , j ) A_c(i,j) Ac(i,j)为零。
一个完美的分割矩阵、或者对聚类友好的label向量应当使得 Υ P \Upsilon_P ΥP和 A c A_c Ac尽可能接近,即 ∣ ∣ Υ P − A c ∣ ∣ 2 2 ||\Upsilon_P-A_c||_2^2 ∣∣ΥP−Ac∣∣22尽可能接近0。从协同学习的角度来看, Υ P \Upsilon_P ΥP和 A c A_c Ac之间存在交互机制,即label特征可以促进聚类,聚类结果反过来有助于学习标签特征。
接下来,我们结合
F
C
w
(
Z
,
k
)
FC_w(Z,k)
FCw(Z,k)和
P
P
P之间的交叉熵以及聚类的成本函数,将
Υ
P
\Upsilon_P
ΥP和
A
c
A_c
Ac之间的不一致量化为自监督信息,以完善编码器和FC模块,定义如下:
其中
c
i
∗
c_i^*
ci∗是分配给
v
i
v_i
vi的聚类的中心。第二项鼓励同一类内的点更加集中。式(10)中的第二项等价于实现了式(8)中的第一项。
3.2.2 使用合成的 Z e n Z_{en} Zen微调FC层
我们通过在解码器2(作为生成器)和鉴别器1之间进行对抗性训练,然后 Z e n Z_{en} Zen为合成的潜在表示,来模拟真实数据的分布。 Z e n Z_{en} Zen在自监督信息学习模块中促进了FC的微调,因为它们是由特定分布的噪声产生的,这鼓励了它们在嵌入空间中均匀分布。 Z e n Z_{en} Zen和真实数据得到的 Z Z Z都被送入FC层,然后在相应的标签特征上进行聚类,定义如下:
其中
Z
s
=
S
F
(
Z
e
n
,
Z
)
Z^s=SF(Z_{en},Z)
Zs=SF(Zen,Z)表示将
Z
e
n
Z_{en}
Zen和
Z
Z
Z打乱(SF=shuffle),
Z
e
n
=
F
θ
(
G
w
2
(
Z
n
)
)
Z_{en}=F_\theta(G_{w2}(Z_n))
Zen=Fθ(Gw2(Zn))表示通过对解码器2生成的数据进行编码得到的合成潜在表示,解码器2的输入
Z
n
Z_n
Zn(n=noise)是从特定分布中提取的。在此设置中,可以通过以下方式定义聚类质量:
其中
v
i
s
v^s_i
vis为对应于
F
C
(
Z
s
)
FC(Z^s)
FC(Zs)中第i个表示的label特征。
p
i
s
p^s_i
pis即对应的第i个预测向量。
总的来说, Z e n Z_{en} Zen和 Z Z Z上的聚类促进了FC的微调, Υ P \Upsilon_P ΥP和 A c A_c Ac之间的协同学习促进了编码器1的微调。与DSC-DAG类似,我们对解码器2和鉴别器1的权重采用了谱归范化,其对抗机制在输入空间中工作。
3.3 与之前工作的相关性
我们首先分析了我们提出的DSC-DAG和S2DSC-AG之间的关系,然后对 Υ P \Upsilon_P ΥP和 A c A_c Ac之间的协同学习进行了理论分析。这种协同学习本质上与子空间结构规范化相同。我们还提出了一系列与子空间结构范数具有相同作用的等价量化测度。最后,我们将证明等式(10)中的第二项等同于等式(8)中的第一项。
引理1
DSC-DAG中的鉴别器2(在原始空间的对抗学习)的作用等价于S 2 ^2 2DSC-AG中的自监督学习信息模块。
证明
给定鉴别器2,公式3的目标是鼓励每个子空间的基与其它子空间的基正交。当下列表达式成立时,满足这些要求:
对于最优的基
U
U
U的集合:
- 第j个子空间的 Z j Z_j Zj可以由 U j U_j Uj中的基线性表出,即 Z j = U j C j \bf Z_j=U_jC_j Zj=UjCj。其中 C j C_j Cj即为affinity的系数矩阵。
- 同时还要保证 Z j Z_j Zj不能由其它子空间的基线性表出,如 Z j ≠ U i C i \bf Z_j\neq U_iC_i Zj=UiCi。
- 最后,不同子空间的基不能互相转化。
基于以上观察,这些观察结果对应于等式(13)中两项惩罚项。
如引理1所述,DSC-DAG的鉴别器2相当于S2DSC-AG中的自我监督信息模型。换句话说,当潜在空间中的GAN参数为最优时,鉴别器2学习的子空间的鉴别特征强制每个子空间的基与其他子空间的基正交。基的正交性反映在S2DSC-AG中的自监督信息学习模块学习的亲和矩阵中,其中一个样本可以由属于同一子空间的其他样本表示。然而,在DSC-DAG中有两个GAN,而在S2DSC-AG中只有一个GAN。GAN的优化涉及到生成器和鉴别器之间的对抗性学习过程。因此,尽管从理论角度来看存在最佳参数,但在实际中很难找到GAN的最佳参数。DSC-DAG和S2DSC-AG在获得最佳GAN的难度上的差异导致了它们的性能差异。
引理2
对任意实矩阵 P ∈ R k × N P\in\mathbb R^{k\times N} P∈Rk×N和 V ∈ R k × N V\in\mathbb R^{k\times N} V∈Rk×N,最小化F范数 ∣ ∣ A c − Υ p ∣ ∣ F 2 ||A_c-\Upsilon _p||_F^2 ∣∣Ac−Υp∣∣F2的最优解可通过交替优化 P P P和 V V V得到,其中 A c = V ⊤ V , Υ p = P ⊤ P A_c=V^\top V,\Upsilon _p=P^\top P Ac=V⊤V,Υp=P⊤P。
证明