【多视图学习】CONAN:用于多视图聚类的对比融合网络

embedded/2024/12/26 13:31:12/

CONAN:Contrastive Fusion Networks for Multi-view Clustering
论文链接

0.论文摘要

摘要——随着大数据的发展,深度学习在多视图聚类上取得了显著进展。多视图融合是模型获得公共表示的关键技术。然而,现有文献采用的是浅层融合策略,如加权和融合和级联融合,这些策略无法从多个视图捕获复杂信息。在本文中,我们提出了一种新的融合技术,称为对比融合,它可以从多个视图中提取一致的表示,并保持特定视图表示的特性。具体来说,我们从信息瓶颈的角度研究多视图对齐,并引入一个中间变量来对齐每个视图特定的表示。此外,我们利用单视图聚类方法作为预测任务,以确保对比融合工作。我们将所有组件集成到一个名为对比融合网络(CONAN)的统一框架中。在五个多视图数据集上的实验结果表明,CONAN优于最先进的方法。

索引术语-聚类、多视图融合、对比学习

代理地址

1.引言

在现实世界的场景中,数据经常被表示为多个视图或模态。例如,各种描述符可以表征图像,诸如SIFT[1]或定向梯度直方图(HoG)[2]。多视图学习是从多个视图中获得良好表示的一种很有前途的方法。由于现实世界中大量的未标记数据,无监督多视图学习,例如多视图聚类,已经引起了机器学习界的关注。

多视图聚类和单视图聚类的显著区别在于前者需要从多个视图中提取共享的有价值的表示。这意味着融合是多视图聚类的关键技术。以往的工作集中在一些简单的融合策略上[3],例如加权融合[4]、[5]和级联融合[6]-[8]。这些方法很难从多个视图中捕获高层语义,因为它们在融合过程中忽略了公共表示和视图特定表示的关系。另一种融合技术,神经网络融合,侧重于捕捉从多个视图共享的潜在结构[9],[10]。它可以捕获比前者更复杂的结构,但可能会在融合过程中损害视图特定的表示,称为过度融合。为了防止过度融合,他们对约束条件[11]采用生成对抗网络(GAN)来维护特定于视图的表示[4], [6], [12]。然而,这个技巧带来了一个潜在的风险:不一致的优化目标。我们观察到聚类侧重于提取类级信息,但GAN旨在从像素级信息重建原始空间。导致网络在优化过程中被迫学习一些对预测标签无用的信息。

在本文中,我们确定了多视图聚类融合中的主要挑战:我们能否在保持特定视图表示的同时,从每个视图中提取和谐的公共表示?简单的想法是,我们可以引入一个新的表示空间来对齐每个特定于视图的表示。为了保持每个视图的独立表示空间,我们阻止了视图特定表示的交互。我们从信息瓶颈的角度研究这一思想[13]。受前人工作[14]、[15]的启发,我们可以引入一个额外的中间变量(表示空间)来对齐每个视图特定的表示。我们发现对比学习方法可以是一种合适的对齐方法。因此,我们利用对比学习方法[16]来改进多视图融合,称为对比融合,在第三节中讨论。

然而,我们发现对比融合组件不能很好地工作,因为它缺乏提取任务相关信息的目标。换句话说,它无法识别对于特定于对齐视图的表示来说,这是一个多么好的方向。根据[15]的建议,我们观察到合适的预测任务,例如单视图聚类方法,可以帮助对比融合组件提取和谐的公共表示,这在第III-C节中讨论。为此,我们将这些组件集成到一个统一的框架中,即对比融合网络(CONAN)。本文的主要贡献总结如下:

1)我们提出了一种新的融合技术,该技术从视图特定的表示中提取公共表示,并保持每个视图空间的独立性。
2)我们将所有组件集成到一个统一的框架中,如图1所示。我们提出的框架比以前的工作[4],[6]更轻量级。

在这里插入图片描述图1。CONAN的插图。它包括 V V V个特定于视图的编码器网络 e v ( ⋅ ) e_v(·) ev()以获得特定于视图的表示 h v h^v hv,一个融合网络 f ( ⋅ ) f(·) f()以通过融合级联向量 h ˉ \bar{h} hˉ获得公共表示 z z z,一个小神经网络投影头 p ( ⋅ ) p(·) p()以将表示映射到应用对比损失的空间,以及一个聚类 g ( ⋅ ) g(·) g()以获得软赋值 Y = g ( z ) Y = g(z) Y=g(z) I ( ⋅ ; ⋅ ) I(·; ·) I(⋅;⋅)表示互信息。

2.相关工作

在本节中,我们简要总结了关于对比学习和多视图聚类的现有工作。

A.对比学习

对比学习[16]是近年来发展较快的无监督方法之一,尤其是在视觉表征方面[17]-[19]。对比学习旨在将正样本对分组并排斥负样本对,其中正样本对表示图像的不同增强视图。负样本对是其他图像的增强视图。有一些文献从信息瓶颈理论出发研究对比学习和多视图学习之间的关系[14]、[15]、[20]。在[15]中,作者提出了对比多视图编码(CMC),它通过图像(两个以上视图)的多视图增强来获得鲁棒的表示。他们发现,可以通过增加视图的数量来提高表示的鲁棒性。另一方面,文献[14]、[20]发现,通过在多个视图上应用对比方法,可以帮助提取一致的信息。在前人工作的基础上,我们引入了一个中间变量,并在该变量和每个视图特定表示之间应用了一种对比方法,称为对比融合。直观地,视图特定的表示在新的表示空间中对齐。这样做的优点是不破坏视图特定的表示,可以实现多视图融合。

B.多视图聚类

多视图聚类分类法涉及传统方法和深度学习方法两大类。传统方法依赖于统计理论,例如多核学习方法[21]、[22],其中不同视图的特征可以非线性地映射到公共表示中。然而,这些方法需要为每个视图仔细选择适当的内核。基于子空间的方法[23]–[25]将多视图数据投影到低维共享子空间中,以获得标准表示。也有利用非负矩阵分解[26]和基于图的模型[27]。这些统计模型有一个共同的缺点,因为它们不能提取数据中的复杂结构。因此,出现了许多与传统方法相结合的深层方法,如[9]、[28]、[29]。这些通过神经网络提取更高级的语义特征,然后应用统计模型来提取这些特征的公共表示。

近年来,完整的深度学习方法已经被提出,如[4]、[6]-[8]、[12]。这些方法具有更重要的表达数据结构的能力,在许多基准数据集上获得更高的性能。文献[4]、[6]、[12]采用GAN作为多视图融合约束,防止过度融合。在生成式任务中可能是有益的,但在多视图聚类任务中会出现退化解。使用GAN约束似乎可以学习判别特征,但仍然需要网络学习像素级特征。这种现象我们称之为优化目标不一致,我们之前提到过。与以往的方法相比,我们提出的对比融合不需要网络学习像素级特征,与聚类属于同一类,即判别模型。

3.方法

我们的目标是将由 V V V个视图 D = { X 1 , X 2 , . . . , X V } \mathcal{D} = \{X^1, X^2, ..., X^V \} D={X1,X2,...,XV}组成的 n n n个数据点集合分组为 c c c聚类,其中 X v ∈ R n × d v X^v ∈ \mathbb{R}^{n×d_v} XvRn×dv表示来自第 v v v个视图的维数 d v d_v dv的样本。

A.网络架构

所提出的方法CONAN由 V V V个特定于视图的编码器网络 e v ( ⋅ ) e_v(·) ev()、融合网络 f ( ⋅ ) f(·) f()、小神经网络投影头 p ( ⋅ ) p(·) p()聚类 g ( ⋅ ) g(·) g()组成,如图1所示。

•视图特定编码器网络 e v ( ⋅ ) e_v(·) ev(),其从每个视图数据点提取视图特定表示(向量) h h h,即 h v = e v ( X v ) h^v = e_v(X_v) hv=ev(Xv)。根据数据类型,CONAN允许各种形式的网络架构作为编码器,例如全连接网络(FCN)或卷积神经网络(CNN)。在实践中,我们采用CNN来处理图像数据,采用FCNs来处理矢量数据。

•融合网络 f ( ⋅ ) f(·) f():它融合级联向量 h ˉ = c a t ( h 1 , . . . , h v ) \bar{h} = cat(h^1, ..., h^v) hˉ=cat(h1,...,hv)以获得公共表示 z = f ( h ˉ ) z = f(\bar{h}) z=f(hˉ).我们采用两个以ReLU为融合网络的全连接层。我们的融合网络的主要优点是,与加权和方法相比,它可以更好地拟合任何复杂函数[30]。

•投影头 p ( ⋅ ) p(·) p():它将表示映射到应用对比度损失的空间。我们在之前的工作[17]中采用相同的设置来构建我们的投影头。我们将在下一节讨论它的细节。

•一个聚类 g ( ⋅ ) g(·) g():它根据 z z z将每个数据点分配到一个紧致空间,换句话说,我们可以从中获得聚类标签,即 Y = g ( z ) Y=g(z) Y=g(z)。该组件可以采用任何单视图聚类方法,如深度发散聚类(DDC)[31]或深度嵌入聚类(DEC)[32]。

总之,我们提出的框架CONAN比以前基于AE的[9]、[29]、[33]或基于GAN的[4]、[6]、[12]框架更轻、更灵活。此外,由于我们通过对比融合网络获得的公共表示z,柯南适应了任何在线聚类方法。

B.对比融合

我们的目标是提取视图特定表示 h h h之间共享的任务相关信息(一致性),并丢弃与任务无关的信息。为了方便起见,我们讨论了两个视图的情况,但是它可以很容易地扩展到多个视图的情况。根据前人工作[14]、[15]、[20]的结论,我们可以从信息瓶颈的角度将我们的目标表述为以下定义:

在这里插入图片描述
当(1)和(2)都最大化时,有利于提取任务相关信息,但我们不能在无监督环境下直接最大化它们。然而,根据文献[14]的结论,我们可以最小化(1)和(2)中的第二项,以最大化互信息 I ( X 1 ; h 2 ) I(X^1; h^2) I(X1;h2) I ( X 2 ; h 1 ) I(X^2; h^1) I(X2;h1).我们将在下一节讨论最小化条件互信息的策略。

根据上述理论,我们引入了一个中间变量 z z z,它可以同时最大化 I ( z ; h 1 ) I(z; h^1) I(z;h1) I ( z ; h 2 ) I(z; h^2) I(z;h2)。因此,我们可以将原始定义重写如下:

在这里插入图片描述

其中 z z z是我们需要的公共表示。我们称最大化的过程为 I ( z ; h 1 ) I(z; h^1) I(z;h1) I ( z ; h 2 ) I(z; h^2) I(z;h2)作为对比融合,然后我们重点研究如何测量 z z z和每个 h h h,即最大 I ( z ; h v ) I(z; h^v) I(z;hv)。受对比学习方法[17], [18]的启发,我们引入余弦相似性来计算 z z z h v h^v hv之间的分数,即 s i m ( z , h v ) = z T h v / ‖ z ‖‖ h v ‖ sim(z, h^v) = z^Th^v/‖z‖‖h^v‖ sim(z,hv)=zThv/‖z‖‖hv。然后,我们将[17]中的损失函数扩展到多视图设置:

在这里插入图片描述
其中 p ( ⋅ ) p(·) p()是投影头, ( i , j ) (i, j) (i,j)是一对正样本, 1 [ k ≠ i ] ∈ { 0 , 1 } 1_{[k\neq i]} ∈ \{0, 1\} 1[k=i]{0,1}表示如果 k ≠ i k\neq i k=i则评估为1的指示函数, τ τ τ表示温度参数,我们在实验中采用[17]建议的最佳设置为 τ = 0.1 τ=0.1 τ=0.1。根据[15]的结论,我们可以通过最小化对比损失来最大化 I ( z ; h v ) I(z; h^v) I(z;hv)

另一方面,还有另一种不需要负样本的对比目标版本,称为SimSiam[18],如下所示:

在这里插入图片描述
其中 q ( ⋅ ) q(·) q()是由两个全连接层组成的预测头,注意 q ( ⋅ ) q(·) q()的输出向量可以被视为常数,这意味着 q ( ⋅ ) q(·) q()的输出向量在反向传播期间不能接收任何梯度。这似乎是[18]实现最先进性能的关键技巧,称为停止梯度。我们在第四节中使用两个不同的目标来研究融合的影响。根据第四节消融研究的建议,我们采用CONAN中默认的对比目标为(4)。

损失函数

在本节中,我们讨论最小化 I ( X 2 ; z ∣ X 1 ) I(X^2; z|X^1) I(X2;zX1)在(3)中。在无监督设置中,常见的解决方案是像autoencoder那样重建原始数据空间。重建试图最小化 I ( X ; z ∣ X ˉ ) I(X; z| \bar{X}) I(X;zXˉ),其 X ˉ \bar{X} Xˉ需要近似原始数据空间 X X X。从高层次来看,重建或其他下游任务,例如聚类或分类,可以大致视为预测学习任务[15],[20]。根据这些假设[15], [20],我们可以给出一个一般定义来代替 I ( X 2 ; z ∣ X 1 ) I(X^2; z|X^1) I(X2;zX1),如下所示:
在这里插入图片描述
其中 T T T表示替代预测任务, ϵ i n f o \epsilon_{info} ϵinfo T T T和原始预测任务之间的差距。然而,在无监督学习中,选择合适的预测任务仍然是一个悬而未决的问题。我们凭经验选择在线聚类任务作为替代预测任务,以最大化(3)。我们在中使用了两种常见的聚类任务这项工作,称为DDC[31]和DEC[32]。DDC是一种基于散度的聚类方法,它使用柯西-施瓦茨散度(CS-divergence)[34]来加强聚类的可分离性和紧凑性。另一种方法DEC是一种基于KL散度的方法,它使用学生的t分布作为核来测量隐藏表示 z i z_i zi和质心 μ j μ_j μj之间的相似性。接下来,我们分别描述DDC和DEC的损失函数。

DDC的损失函数由三项组成,如下所示:
在这里插入图片描述
DEC的损失函数如下所示:

在这里插入图片描述
其中 q i j q_{ij} qij表示将数据点 i i i分配给聚类 j j j的概率,并且它通过以下方式计算:

在这里插入图片描述
并且

在这里插入图片描述
根据DEC的建议,我们将整个数据集通过初始化的视图特定编码器以获得公共表示 z z z,然后在 z z z中执行标准的k-means算法以获得 k k k个初始质心 { μ j } j = 1 k \{μ_j\}^k_{j=1} {μj}j=1k

最后,我们将所有组件集成到一个统一的框架中,即CONAN。默认情况下,我们采用DDC作为预测任务,(4)作为融合视图特定表示期间的对比测量,如下所示:

在这里插入图片描述
在这里插入图片描述

4.实验

4.1 数据集

我们使用包含原始图像和矢量数据的五个众所周知的多视图数据集来评估CONAN和其他竞争对手,并在表I中报告数据集描述。

•Edge-MNIST(E-MNIST)[35],这是一个大规模且广泛使用的基准数据集,由70,000个28 × 28像素的手写数字图像组成。视图分别包含原始数字和边缘检测版本。在无监督设置中,我们只需要训练集来评估模型。
•Edge-FMNIST(E-FMNIST)[36],其是比由服装物品的28 × 28灰度图像组成的标准MNIST更复杂的数据集。我们通过运行用于创建Edge-MNIST的相同边缘检测器来合成第二个视图。
•COIL-20[37]和COIL-100[38],其分别从包含20个项目的灰度图像和100个项目的RGB图像的不同角度描绘。我们通过将项目的图像随机分组为三个一组来创建一个三视图数据集。
• PASCAL VOC 2007(VOC)[39]。我们使用[40]提供的多视图版本,它由来自手动标记的自然图像的要点特征和词频计数组成。

在这里插入图片描述

B.基线模型

我们根据一组广泛的基线模型来评估我们的框架,这些模型代表了多视图聚类的最新技术:1)深度典型相关分析(DCCA)[28];2)深度典型相关自动编码器(DCCAE)[29];3)深度多模态子空间聚类(DMSC)[9];4)深度对抗性多视图聚类(DAMC)[6];5)用于多模态聚类的端到端对抗性注意力网络(EAMC)[4];6)自动编码器网络(Ae2-Nets)中的自动编码器[33]。此外,为了证明柯南可以提高聚类性能,与单视图设置相比。我们使用标准谱聚类算法[41]对每个视图和级联视图进行,然后我们报告谱聚类中的最佳结果(SC-best)。

C.实施细节

我们在PyTorch[42]平台上实现了柯南和竞争对手的非线性方法,运行在CentOS Linux 7上,利用两个内存大小为16 GB的NVIDIA Quadro P5000图形处理单元(GPU)。我们使用带有默认参数的Adam优化技术[43],并使用初始学习速率为0.001的余弦退火学习速率调度器[44],训练我们的模型100个时期。我们利用网格搜索来找到从 1 0 − 3 10^{−3} 103到1的最佳权衡参数 λ λ λ范围。我们观察到,将 λ λ λ值设置得太小会抑制融合过程,而太大则对预测任务有害。因此,我们在所有实验中将 λ λ λ设置为0.01。对于Edge-MNIST和Edge-FMNIST,我们采用[9]中提出的CNN作为视图特定编码器。我们将训练数据集的批量大小设置为128,将隐藏表示的维数(即 h v h^v hv z z z)设置为288。对于COIL-20和COIL-100,我们采用AlexNet[45]作为视图特定编码器。我们将批处理大小设置为24,将隐藏表示设置为1024。请注意,[45]中建议的输入形状是3 × 144 × 144,但我们观察到它在COIL-(20/100)数据集上也很好地工作。对于VOC,我们采用三个全连接层,ReLU作为视图特定编码器,即x-512-512-256,其中 x x x表示输入维度。批量大小设置为100。由于无监督的不稳定性,我们训练CONAN20次,并报告运行结果,导致最低值(9)。

D.评价指标

聚类性能使用两个标准评估矩阵来测量,即聚类精度(ACC)和归一化互信息(NMI),其中值越高表示性能越好。关于这些评估指标的更多细节,读者可以参考[46]。应该注意的是,聚类方法的验证过程仅涉及真实标签可用的情况。

E.与基线模型的比较

我们在五个众所周知的数据集上评估了我们的模型和基线模型,并在表II中报告了ACC和NMI结果。结果表明,与基线模型相比,我们的模型可以有显著的改进。值得注意的是,就ACC和NMI指标而言,与第二好的方法相比,所提出的方法分别管理了23.7%(0.905-0.668)和23.2%(0.861-0.628)的性能改进。我们认为,我们提出的对比融合优于浅层融合方法,如级联(DAMC)和权重和(EAMC)。另一方面,与DMSC中的自表达层相比,我们的方法是一种资源友好的算法。

在这里插入图片描述

F.不同对比损失的影响

对比测量是我们方法的重要组成部分。根据对比学习的最新技术[18]的结论,有两种不同类型的测量,即需要阴性样本 ( L c o n t r a s t s i m c l r ) (L^{simclr}_{contrast}) (Lcontrastsimclr)和仅阳性样本 ( L c o n t r a s t s i m s i a m ) (L^{simsiam}_{contrast}) (Lcontrastsimsiam),这可能导致不同的融合过程中的性能。因此,我们在EFMNIST和COIL-20/100数据集上研究了两种测量的代表性方法,如表III所示。结果表明,对比融合可以显著提高聚类性能。此外,我们可以看到,没有压倒性的结果。使用(9)中的 ( L c o n t r a s t s i m c l r ) (L^{simclr}_{contrast}) (Lcontrastsimclr)对比度或 ( L c o n t r a s t s i m s i a m ) (L^{simsiam}_{contrast}) (Lcontrastsimsiam)对比度在E-FMNIST数据集上实现了几乎相同的性能,但前者在COIL-20/100数据集上几乎完全超过后者。

我们的结论是,由于对比学习依赖于数据集的质量(数据扩充)和数量[47],两者都可以在数量和质量足够的E-FMNIST数据集上实现几乎相同的性能。反之,如果数据质量和数量不足,性能则依赖于建立负样本,这在COIL-100上尤为明显。

在这里插入图片描述

G.不同预测任务的影响

我们研究了E-FMNIST上的不同预测任务,以了解良好的预测任务对我们模型的重要性,结果如表IV所示。我们发现,如果我们去掉聚类头,它将接近于随机模型。这与我们在III-C节中的结论是一致的。此外, L d d c \mathcal{L}_{ddc} Lddc L d e c \mathcal{L}_{dec} Ldec之间存在显著差距。结果表明,合适的预测任务对于最小化(6)至关重要。然而,预测任务的选择仍然是一个悬而未决的问题。

在这里插入图片描述

H.对比融合的可视化

我们展示了E-MNIST数据集对比融合前后表征的变化,如图2所示。为了方便起见,我们随机选择1K个使用T-SNE投影到二维的样本[48]。我们可以看到,特定于视图的表示h1和h2总是保持它们唯一的特征。另一方面,随着训练时期的增加,公共表示z变得更加分离和紧凑。结果表明,对比融合可以提高聚类性能,并且不会损害视图特定表示。

在这里插入图片描述
图2。在第1、5、15、25和100个时期使用T-SNE在融合之前(第一行)和之后(第二行)的E-MNIST数据集上的表示的可视化。

5.结论

在这项工作中,我们提出了一种对比融合策略,将视图特定的表示排列到一个新的表示空间(公共表示)中。我们应用现有的单视图在线聚类方法来帮助对比融合网络从多视图中提取有价值的信息。在五个真实世界数据集上的实验结果表明,对比融合提高了无监督表示的质量。


http://www.ppmy.cn/embedded/148905.html

相关文章

alpha第五章 多态

1.instanceof Cat 2.Cat final 修饰符在 Java 中是用来表示不可修改或不可继承的意思。我们来逐一分析 final 修饰符在不同情况下的使用: 类:final 可以修饰类,表示该类不能被继承。 例如:final class MyClass { }这种情况下&…

前端工程化是什么?

‌前端工程化‌是指将前端开发的流程、工具和规范化进行系统化和自动化,以提高开发效率、代码质量和项目的可维护性。它涉及多个关键方面,包括模块化、打包构建、自动化测试、代码规范和持续集成/持续交付(CI/CD)等‌。 前端工程…

Intellij配置scala运行环境

文章目录 Intellij配置scala运行环境下载地址安装插件设置sdk与scala scala项目创建安装可能出现的错误 Intellij配置scala运行环境 下载地址 在centos7上安装intellij https://www.jetbrains.com/idea/download/other.html解压后进入文件夹启动打开ide ./idea-IC-232.1033…

ELK系列-(六)Redis也能作为消息队列?(下)

一、前文回顾 🔍 在前面的ELK系列中,我们已经搭建了ELK的核心组件,包括: ELK系列-(一)Docker部署ELK核心组件ELK系列-(二)LogStash数据处理的瑞士军刀ELK系列-(三&…

helm函数

默认函数介绍 在 Helm 中,default 函数用于为变量提供默认值,以确保模板渲染不会因为变量未定义或为空值而失败。基本语法如下: {{ default "默认值" .变量 }} 或者: {{ .Valumes.XX | default "latest" }}…

aws(学习笔记第十九课) 使用ECS和Fargate进行容器开发

aws(学习笔记第十九课) 使用ECS和Fargate进行容器开发 学习内容: 使用本地EC2中部署docker应用使用ECS的EC2模式进行容器开发使用ECS的Fargate模式进行容器开发 1. 使用本地EC2中部署docker应用 docker整体 这里展示了docker的整体流程。 开发阶段 编写dockerfile…

比 SaaS 更具性价比,火山引擎云数仓 ByteHouse 上新“云托管”模式

本地部署、SaaS 部署、私有化部署.....都是常见的软件部署方式。企业往往从安全、成本、易用性等多角度综合选择部署方式。SaaS 往往被认为初始成本更低、具备更强扩展性,但由于数据存储在软件供应商的服务器上,一些对数据安全和隐私要求高的企业会对此存…

HarmonyOS NEXT 实战之元服务:静态案例效果--- 手机一键加速、手机垃圾清理

背景: 前几篇学习了元服务,后面几期就让我们开发简单的元服务吧,里面丰富的内容大家自己加,本期案例 仅供参考 先上本期效果图 ,里面图片自行替换 效果图1完整代码案例如下: import { authentication } …