【嵌入传播】Embedding Propagation: Smoother Manifold for Few-Shot Classification

Abstract

少样本分类具有挑战性,因为训练集的数据分布可能与测试集大不相同,因为它们的类不相交。这种分布变化通常会导致泛化能力差。流形平滑已被证明可以通过扩展决策边界和减少类表示的噪声来解决分布偏移问题。此外,流形平滑度是半监督学习和转导学习算法的关键因素。在这项工作中,我们建议使用嵌入传播作为无监督的非参数正则化器,用于小样本分类中的流形平滑。嵌入传播利用基于相似图的神经网络提取特征之间的插值。我们凭经验表明嵌入传播会产生更平滑的嵌入流形。我们还表明,将嵌入传播应用于转导分类器在 miniImagenet、tieredImagenet、Imagenet-FS 和 CUB 中实现了新的最先进的结果。此外,我们表明嵌入传播在多个半监督学习场景中始终将模型的准确性提高了 16%。所提出的嵌入传播操作可以很容易地作为非参数层集成到神经网络中。

代码:

GitHub - ElementAI/embedding-propagation: Codebase for Embedding Propagation: Smoother Manifold for Few-Shot Classificationicon-default.png?t=M1L8https://github.com/ElementAI/embedding-propagation

Contributions

  1. 以无监督的方式对流形进行正则化。
  2. 利用嵌入插值来捕获更高阶的特征交互。
  3. 为直推式和半监督学习设置实现最先进的少样本分类结果。

Method

1、嵌入传播

接下来我们计算邻接矩阵的拉普拉斯算子,

最后,使用标签传播公式,我们得到传播矩阵P为,

其中 α ∈ R 是比例因子,I 是单位矩阵。然后,嵌入可通过如下获得,

2、推理阶段

给定一个情节,我们通过提取输入图像的特征,在这些特征上应用嵌入传播,然后应用标签传播来执行推理。更正式地,这是如下执行的。

3、训练步骤

EPNet 分两个阶段进行训练:

  1. 首先,使用用于小样本分类的通用预训练程序 [41] 在 Db 上对模型进行训练,以学习一般特征表示。
  2. 其次,使用情节对模型进行微调,以便学习泛化到新类别。eposides来自同一数据集 Db。

在这两个阶段,EPNet 使用相同的特征提取器𝑓𝜃(𝑥)来获得为给定输入图像 x 提取的特征  𝑧。但是,每个阶段都依赖于不同的目标。

3.1 预训练阶段

如图 2a 所示,我们使用两个线性分类器训练𝑓𝜃,它们是由softmax激活且分别被 Wl 和 Wr 参数化的线性层。

第一个分类器被训练来预测 Db 中示例的类标签。它通过最小化交叉熵损失进行优化:

其中 yi ∈ Yb 和概率是通过将 softmax 应用于神经网络提供的 logits 获得的。

为了与最近的文献进行公平比较,我们还添加了自我监督损失以获得更稳健的特征表示。因此,我们使用第二个分类器来预测图像的旋转度数并使用以下损失:

总体而言,我们使用随机梯度下降 (SGD),批量大小为 128,每张图像旋转 4 次,以优化以下损失,

3.2 情景学习

如图 2b 所示,在预训练阶段之后,我们使用情景训练来学习识别新类。在这个阶段,我们还使用两个分类器优化 EPNet。

第一个分类器基于标签传播。它通过对第二节中定义的查询集 logits 𝑌𝑄 应用 softmax 来计算类概率:

第二个分类器与预训练中使用的基于 Wl 的分类器相同。包含它是为了保留有区别的特征表示。因此,我们最小化以下损失:

 实验

 

 

 

### 基于渐进式机器学习的少量样本图像分类 Few-shot 图像分类是一种旨在利用极少量标注数据来训练模型的技术。这种方法通常依赖元学习 (meta-learning) 或迁移学习 (transfer learning),以便在新任务上快速适应并实现高效的学习过程。 #### 渐进式机器学习的核心概念 渐进式机器学习通过逐步增加复杂度的方式优化模型性能,从而减少过拟合的风险,并提高泛化能力。这一技术特别适用于 few-shot 学习场景,在这种情况下,可用的数据量非常有限[^1]。具体而言: - **元学习框架**:该方法允许模型从先前的任务中提取通用特征表示,这些特征可以迁移到新的类别或任务中。例如,MAML(Model-Agnostic Meta-Learning)算法能够通过对参数空间的小幅调整迅速适配到新任务。 - **自监督预训练**:为了增强模型对未见过类别的理解力,可以通过无标签数据执行自监督学习任务。这有助于构建更强大的基础网络结构,进而提升后续 fine-tuning 的效果。 #### Few-Shot Learning 方法概述 针对少样本情况下的对象检测与分类问题,研究者提出了多种解决方案,其中包括但不限于以下几种策略: - **原型网络(Prototypical Networks)**: 这种架构计算支持集(support set)里各类别嵌入(embedding)向量中心位置作为其代表点(protoype), 测试样本则分配给距离最近的那个prototype所属类别. - **关系网络(Relation Network)**: 不仅考虑单个实例与其对应类别之间的相似程度, 而且还评估两两之间相互作用强度大小的关系得分矩阵(relational score matrix). ```python import torch.nn as nn class RelationNetwork(nn.Module): """定义了一个简单的双线性层用于衡量两个输入间的关联程度""" def __init__(self, input_size=640, hidden_size=8): super(RelationNetwork,self).__init__() self.fc1 = nn.Linear(input_size*2 ,hidden_size ) self.relu = nn.ReLU() self.fc2 = nn.Linear(hidden_size,1) def forward(self,x1,x2): combined_feature=torch.cat((x1,x2),dim=-1) out=self.relu(self.fc1(combined_feature)) relation_score=self.sigmoid(self.fc2(out)) return relation_score ``` 上述代码片段展示如何创建一个基本的关系评分函数,它接受一对特征向量作为输入,并输出它们彼此匹配的可能性分数。 #### 自动重平衡自我训练(Self-training with adaptive class-rebalancing) 对于半监督目标检测领域内的挑战之一是如何有效处理正负样例分布不平衡现象。论文《Semi-Supervised Object Detection with Adaptive Class-Rebalancing Self-Training》介绍了一种新颖的方法论——即采用动态权重机制重新校准伪标记(pseudo-labels)质量差异带来的偏差影响 。此方案显著提升了弱监管条件下系统的整体表现水平。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值