【image clustering】Instance Similarity Learning for Unsupervised Feature Representation(2020)

原文:https://arxiv.org/pdf/2108.02721.pdf

无监督特征表示(unsupervised feature representation)算是无监督聚类任务比较重要的一部分,其需要特征满足相同类别样本尽可能的靠近,不属于一个类别的样本特征之间尽可能远离。现有方法大致的思路都是先用encoder进行特征提取,之后利用相关方法寻找属于相同类别的样本集合,之后再返回去fine-tune之前的encoder,以此类推迭代训练。

可以发现这其中一个较为重要的点就是:如何正确的找到样本的正样本(具有相同类别)集合。传统方法是利用欧式距离度量每个样本的距离,并且认为距离较近的样本拥有相同的类标签,但作者认为,在样本映射到的流形空间上,样本之间的真实距离无法简单的用欧式距离来衡量,具体来说,如果我们用欧式距离去衡量较近的区域距离其实是可以近似真实距离,但如果两个样本间隔较远,则欧式度量与真实距离之间的差距就会很大,因此以往的方法会导致寻找到的距离较近的 k 个样本中存在不同类别的样本。

作者提出一个instance similatity learning(ISL)方法,利用GAN去挖掘潜在的流形空间,具体方法如图所示。
在这里插入图片描述

问题定义

X ϵ { x 1 , . . . , x N } X\epsilon\left\{ x_{1},...,x_{N}\right\} Xϵ{ x1,...,xN}是大小为N的样本集合。
F ϵ { f 1 , . . . , f N } F\epsilon\left\{ f_{1},...,f_{N}\right\} Fϵ{ f1,...,fN}是对应的特征表示。
S ϵ { 0 , 1 } N × N S\epsilon\left\{ 0,1\right\}^{N\times N} Sϵ{ 0,1}N×N是样本语义间相似度矩阵(初始时为单位矩阵,代表每个样本只与自己语义相似度为1,与其余样本都为0),其中 S i j S_{ij} Sij表示样本 x i , x j x_{i},x_{j} xi,xj之间的语义相似度。

方法

对于每个样本,根据S采样一个包含anchor、正样本、负样本的三元组集合 { f i a , f i p , f i n } \left\{ f_{i}^{a},f_{i}^{p},f_{i}^{n}\right\} { fia,fip,fin},之后根据该三元组,Generator网络G生成一个proxy feature f i g f_{i}^{g} fig,其主要有两个作用:

  • 给定anchor f i a f_{i}^{a} fia时辅助其扩大对应的正样本集合 P i P_{i} Pi
  • 更新样本的特征表示。

为了能够更好的挖掘到anchor对应的正样本, f i g f_{i}^{g} fig需要具有以下两个属性:

  • f i g f_{i}^{g} fig需要与三元组中的负样本语义相似。
    最开始时每个anchor的正样本集合中只有自己(即S初始化为单位矩阵),为了能够尽可能扩大正样本集合,需要让 f i g f_{i}^{g} fig与当前三元组中的负样本语义相似(因为当前的负样本有可能其实是正样本,只不过还没被识别出来)。论文的观点:迫使网络积极的去探索潜在的流形。
  • f i g f_{i}^{g} fig需要与三元组中的正样本语义相似。
    让生成的proxy能够代表正样本。论文的观点:迫使网络能够更加精确的学习潜在的流形。

为了能够达到上述两个属性,作者同时构建了一个Discriminator网络D,其目的是计算 f i g f_{i}^{g} fig和正样本(或负样本)之间的语义相似度。具体方式:D需要区分真三元组 T r = { f i a , f i p , f i n } T_{r}=\left\{ f_{i}^{a},f_{i}^{p},f_{i}^{n}\right\} Tr

### Hierarchical Consistency Learning in Unsupervised Domain Adaptation for Object Detection 无监督域适应(Unsupervised Domain Adaptation, UDA)是一种重要的机器学习技术,旨在解决当训练数据和测试数据来自不同分布时模型性能下降的问题。在目标检测领域,UDA 的研究主要集中在如何减少源域和目标域之间的差异,从而提高模型在未标注的目标域上的泛化能力。 #### 方法概述 Hierarchical Consistency Learning 是一种针对无监督域适应设计的方法,其核心思想在于通过多层次的一致性约束来增强特征表示的学习效果[^1]。具体来说,该方法利用了以下两个层次的一致性: 1. **像素级一致性**:通过对输入图像应用不同的变换(如旋转、缩放等),并强制要求这些变换后的预测结果保持一致,以此提升局部特征的鲁棒性和不变性。 2. **实例级一致性**:对于同一对象的不同视图或上下文变化,算法会施加额外的约束条件以确保它们对应相同的类别标签。这种机制有助于捕获更高级别的语义信息,并进一步缩小跨域差距[^3]。 此外,在实际实现过程中,通常还会引入对抗训练策略或者熵最小化原则作为辅助手段,共同促进全局最优解的收敛过程[^2]。 #### 技术细节 以下是 hierarchical consistency learning 中涉及的一些关键技术点及其作用说明: - **结构正则化的深度聚类 (Structurally Regularized Deep Clustering)** 此部分负责构建紧凑且分离良好的簇空间,使得相似样本能够聚集在一起而相异样本彼此远离。这一步骤可以看作是从低维嵌入向量中提取潜在模式的过程之一。 - **自监督预训练 (Self-Supervised Pretraining)** 使用大量未标记的数据预先训练网络参数,以便更好地初始化后续微调阶段所需的权重矩阵。这种方法不仅减少了对手动标注的需求,同时也提高了最终系统的稳定性与效率。 - **多视角推理 (Multi-view Inference)** 基于多个随机采样的子区域生成独立但互补的信息片段集合;随后将其组合起来形成完整的物体描述符。此操作有效缓解了因遮挡等因素引起的误判风险。 下面给出一段简单的伪代码展示上述流程的核心逻辑: ```python def hierarchical_consistency_learning(source_data, target_data): # Step 1: Initialize model with self-supervision pretrained_model = pretrain_on_unlabeled(target_data) # Step 2: Perform clustering and alignment clustered_features = structurally_regularize(pretrained_model.extract_features(target_data)) # Step 3: Enforce pixel-level & instance-level consistencies for epoch in range(num_epochs): for batch in zip(source_data, target_data): loss_pixel = compute_pixel_level_loss(batch) loss_instance = compute_instance_level_loss(clustered_features, batch) total_loss = loss_pixel + lambda * loss_instance optimizer.zero_grad() total_loss.backward() optimizer.step() return pretrained_model.finetune_with_alignment(total_loss) ``` #### 实验验证 为了评估所提方案的有效性,研究人员选取了几组公开可用的大规模视觉基准集进行了对比实验。结果显示,在多种复杂场景下(例如白天到夜晚转换、晴天转雨天等情况),采用 hierarchical consistency learning 后取得显著优于传统迁移学习基线的结果。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值