Shukla A, Cheema G S, Anand S. Semi-supervised clustering with neural networks[C]//2020 IEEE Sixth International Conference on Multimedia Big Data (BigMM). IEEE, 2020: 152-161.
摘要翻译
使用神经网络的聚类最近在机器学习和计算机视觉应用中取得了良好的性能。然而,目前的方法的性能也存在一定的局限,因为这些方法大多通过无监督学习或依赖于大量的标记数据样本。由此作者提出了ClusterNet,使用很少标记数据样本(< 总数据量的5% )的成对语义约束,并利用大量的未标记数据来驱动聚类。论文中定义了一个新损失函数,它使用对象之间的成对语义相似性结合constrained k-means可以在同一框架中有效地利用标记和未标记数据。该网络使用卷积自编码器来学习数据的潜在表示从而将其分组到个指定的类簇,同时学习集群中心。经评估比较,该模型具有很好的聚类效果。
核心思想从半监督方法出发,利用少量的标注数据中包含的有效信息(成对语义相似性),构造相关损失函数,同时利用标记和未标记数据驱动聚类。
<---是坏家伙,喜欢你家人~我可是小可爱呀!>
Intro
ClusterNet是一种基于自动编码器的架构,用于学习适合聚类的潜在表示。整个训练工作在一个半监督的环境中,利用大量的未标记数据和由少量标记样本生成的成对语义约束进行驱动。除了常用的重建误差外,ClusterNet还使用了一个包含两个补充项的目标函数:一个基于k-means的聚类项,用于惩罚高聚类内变量 ;一个基于成对KL散度的项,鼓励相似的对具有相似的类簇概率。主要的贡献点如下:
- ClusterNet是一种半监督的聚类方法,它依赖于一个简单的卷积自编码器体系结构,以端到端的方式学习可集群的潜在表示。
- ClusterNet提出了一个损失函数,该函数将分配概率上定义的成对散度与互补的k-means损失结合起来,以同时学习聚类中心以及有意义的语义特征表示。
- ClusterNet需要较少的超参数调整,并且易于训练,这是由于在训练过程中该网络使用了自适应地权衡标记和未标记数据的重要性的退火策略。
Related相关
- 无监督策略学习的聚类
Many of the clustering approaches leverage the autoencoder due to its ability to learn representations in an unsupervised manner. //
Apart from encoder-decoder architectures, convolutional neural network (CNN) based architectures have also been applied to the clustering problem. // - 过渡到半监督聚类
More recently, several deep learning approaches have utilized both labeled and unlabeled data for classification, however, semi-supervised clustering is not well explored.
Background介绍
由于作者利用了基于KL散度的软-成对约束的k-means聚类框架。随后作者介绍了ClusterNet的基础算法和相关Loss的概念。
Constrained KMeans
首先与传统k-means中对类簇中心的随机初始化不同,引入的标记样本
用于在Constrained KMeans中初始化类簇中心。其次,在每次k-means迭代中,类簇的重新分配仅限于未标记的样本,而已标记的样本的成员身份是固定的。其对应的算法如下:
Pairwise KL Divergence
KL散度经常被用于聚类方法。给定点和对应的维向量,和之间的KL散度计算如下:
该损失通过首先固定并计算与的KL散度得到,反之亦然。
Proposed Approach浅析
参数说明:
表示与个类簇对应的标记数据集。是第类中的标记点集。
表示一组未标记的数据点。
所提方法的目标是学习一种特征表示,可以形成个类簇,相似的数据点对往往属于同一簇。
类簇中心:由给出,其中是设置的隐藏空间的维数。
样本标记:One-hot向量来表示第个样本点的类簇标记,如意味着数据点位于类簇中。
1. Network Architecture
作者在结构设置上特意指出实验中,所使用的网络结构参数都是一致的。意在进一步说明提出思想的鲁棒性。
2. Loss Function
整个模型由半监督聚类损失函数驱动,其损失函数由三部分组成:成对损失、聚类损失和重建损失,每部分的损失同时由标记数据和未标记数据定义。
其中,
重建损失
不区分数据是否标记,在模型训练的过程中重构损失作为一个正则化项
来确保学习到的潜在空间表示具有高保真度。成对损失
、聚类损失
均由标记数据(上标为)和未标记数据(上标为)构成;其作用是使潜在空间更容易形成语义一致的类簇分配
。
作者指出作为一个平衡系数,对算法的性能很重要。值较大会抑制标记数据的作用,而非常小的值在训练过程中无法有效地使用未标记的数据。因此,论文采用deterministic annealing策略,随着时间的推移逐渐增加的值,并往往避免较差的局部极小值。
- Cluster Loss
类似于k-means损失,Cluster Loss的目的是最小化样本与相应类簇中心的潜在空间表示之间的距离,以鼓励学习适用于聚类的数据表示。
- Pairwise Loss
KL散度损失构造使用了相似对和不相似对,并鼓励相似的点对具有相似的聚类分配概率,同时确保了不相似对在分配中具有较大的散度。
- Reconstruction Loss
3. Network Optimization
算法中交替优化网络参数和类簇中心参数。对于固定的类簇中心参数,即给定和,使用标准 backpropagation更新网络参数和 。
-
Cluster Center Initialization
与约束的k-means算法一致,所提算法只使用标记数据来初始化聚类中心:
-
Cluster Assignment
-
Cluster Center Updates
虽然信息丰富,表示真实的类簇成员身份,但预测的未标记数据分配可能不准确,可能在更新的类簇中心引入显著的偏差。因此,模型中没有采用k-means方法中类簇更新的方式;而是使用具有自适应学习率的梯度更新来更新类簇中心。因此还是对标记数据和未标记数据分别使用进行更新:
-
Pairwise Constraints
这部分主要计算标记数据的相似对和不相似对:
和未标记数据的相似对和不相似对:(箭头所指应该是$u$作为上标)
-
Assignment Probabilities
由上诉的算法可以得出每个类簇对应的簇中心表示,不同于DEC,作者根据离集群中心的距离来定义分配概率:
整体的算法优化步骤如下:(看个大概就好了,里面有些公式的引用不太明确)
在网络的设计上,作者也是沿用了传统的AE结构,而在loss的构造上引入由标记数据给出的成对指导语义和聚类损失。使得整体模型有了可行性。