Advertisement

论文阅读笔记 [ICLR 2018] Meta-Learning For Semi-Supervised Few-Shot classification

阅读量:

半监督小样本分类的元学习

论文原文链接:https://arxiv.org/abs/1803.00676

摘要

在小样本分类领域中

1 引言

近年来,在元学习领域取得了显著进展的小样本分类任务中取得突破性成果。然而,在每个小样本学习片段中所面临的限制却与人类通过多维度学习新概念的方式存在显著差异。本文探讨了两种方法来扩展这一框架(具体内容是什么?)。首先,在存在额外未标记数据的情况下探讨新类别学到的可能性。其次,在分析新类别时将其视为相互关联的问题。

在这里插入图片描述

图1中所展示的是一个设置:其核心在于训练一个分类器以区分两类从未见过的对象(金鱼与鲨鱼)。该设置不仅提供了这两类对象的有标签样例(即明确归类的对象),而且还包含了许多未标注样本(即尚未明确归类的对象),其中一些可能属于这两者中的某一类。在本研究中所关注的核心问题是:通过整合未标注数据的小样本学习片段这一创新方法是否能进一步推动小样本学习的发展?这些数据来源于我们希望学习的具体类别(如用红色虚线标注区域所示)以及可能存在干扰影响的其他类别。

这项研究首次系统性地探讨了一种具有挑战性的半监督小样本学习方法。该研究首先明确了问题的核心,并设计了一个基于 Omniglot 和 miniImageNet 数据集的评估标准。该研究系统性地考察了包含与不包含干扰类别两种情况下的模型性能。进一步探讨并发展出了原型网络的三种新型变体。经过实验验证,这种半监督方法有效地利用了未标记数据,并且在性能上超越了传统纯监督的方法。

2 研究背景

2.1 小样本学习

C_{train}用于训练的类别

C_{test}用于测试的类别(与训练中的类别不同)

在 N-way K-shot 结构的片段上训练模型,训练片段的构造过程如下:

  • 利用训练集 C_{train} 中采样生成了 N 类别。
    • 针对这 N 类别:

      • 每一类中抽取 K 样本构建支持集 S= { (x₁¹,y₁¹),(x₁²,y₁²),…,(x_NK,y_NK) }
      • 从每个类别采样若干样例组成查询集 Q=\{(x_1^1, y_1^1), (x_1^2, y_1^2),...,(x_N^*, y_N^*)\}

其中每个样本 x_i 属于实数空间 R^D ,每个样本对应的类别标签 y_i 层属于集合 \{1,2,…,N\} 。在这些学习片段上进行训练 ,具体是指通过提供支持集 S 和更新模型参数来最小化预测损失 ,其中支持集 S 包含用于学习的片段集合 Q 。

2.2 原型网络(Snell 等人, 2017)

目前最先进的小样本学习模型。

3 半监督小样本学习

训练集通常由一个双元素集合(S,R)来表示,在此表示中,S是由传统带标签的支持集构成的,而R则为新引入的无标签数据集。

在这里插入图片描述

图2展示了半监督小样本学习的一个实例设置。训练片段包含支持集S、无标签样集合R以及查询集合Q。其中,在R集合中的样本可能与S集合中的样本相关联(如绿色加号所示),也可能作为干扰项存在(如红色减号所示)。需要注意的是,在该模型中,并不知道每个未标记样本是否为干扰项;加号和减号仅为说明目的而添加。在测试阶段,片段中涉及的所有类别均为训练过程中未曾见过的新类别,并被用来评估元学习方法的效果。

3.1 半监督原型网络

作者提出了一种基于原型 p_c 的扩展方法。开发了一个工具用于在 R 无标签数据中生成优化后的原型 \tilde{p}_c。在训练过程中,在所有层中采用了相同的损失函数以优化原始 prototypes p_c 转换为改进型 \tilde{p}_c

作者提出了一种基于原型 p_c 的扩展方法。开发了一个工具用于在 R 无标签数据中生成优化后的原型 \tilde{p}_c。在训练过程中,在所有层中采用了相同的损失函数以优化原始 prototypes p_c 转换为改进型 \tilde{p}_c

在这里插入图片描述

图3:左图:普通原型网络通过对应类别样例的均值特征初始化其原型参数,并分别以实线、虚线和白线为边框表示支持样本、无标签样本和查询样本;右图:通过引入无标签样本优化生成改进型原型,并实现对所有查询样本的准确分类。

3.1.1 具有软聚类的原型网络

首先探讨基于半监督学习策略的一种改进原始数据集 prototype 的简单方法。这一发现源自于半监督学习领域的研究。将每个类别对应的数据群组视为一个潜在的 cluster center,在改进过程中, 我们旨在通过优化 cluster center 的位置参数使其更好地反映数据分布特征, 以便能够涵盖支持样本以及未标注样本的影响因素。从这个角度来看, 支持样本对应的 cluster assignment 被预先设定为已知信息, 且保持不变(针对每个样本的真实类别标签)。为了实现这一目标, 我们需要推导出未标注样本对应的 cluster assignment, 并据此动态优化原始数据集中的 cluster center 位置参数。

基于软聚类的推理策略是一种自然的选择。由于硬聚类会导致推理过程不可微分这一缺陷,在实际应用中较少采用。具体而言,在改进型算法中首先设定常规原型 p_c 作为各聚类中心的基础代表点;然后通过计算无标签样例至各聚类中心的欧氏距离来确定每个样本对各类别的隶属程度值 (\tilde{z}_j, c);最后将所有这些无标签样本重新计算出新的聚类中心 \tilde{p}_c 以实现分类效果的提升。其数学表达式如下:

在计算目标类别c的条件概率\tilde{p}_c时,
我们采用如下公式:
分子由两部分组成,
第一部分为各训练样本x_i对应特征h(x_i)与类别中心z_{i,c}的乘积累加,
第二部分则基于潜在表示\tilde{x}_j与其对应类别中心\tilde{z}_{j,c}的指数加权平均值累加;
而分母则是这两部分累加值之和,
用于归一化计算概率值。
具体而言,
每一项\exp(-||h(\tilde{x}_j)-p_c||_2^2)代表了样本点与目标类别中心之间的相似度度量,
而分母则是所有可能类别中心对应的相似度指数函数之总和。

采用多轮优化策略是惯用的做法,在k-means算法中尤其常见。然而,在本研究中作者尝试了若干不同数量的迭代次数,并未发现其效果明显优于仅进行一次优化。

3.1.2 带有干扰簇的软聚类的原型网络

没有干扰类,只是一种假设的理想情况,更加普遍的情况是有干扰类。

鉴于软聚类的取值范围覆盖所有类别,在这种情况下异常数据点可能导致负面影响并干扰原型优化效果。一种可行的方法是引入一个额外的簇来识别并隔离这些异常数据点以保护有用类别不受污染

p_c=\left\{_{0 for c=N+1}^{\frac{\sum_ih(x_i)z_{i,c}}{\sum_iz_{i,c}} for c=1...N}\right. (5)

在该方法中,作者采用了简化的假设。该干扰类簇具有一个以原点为中心的典型形态,并通过引入长度尺度 r_c 来量化该类簇内部的距离变化。特别地,在处理干扰簇时:

\tilde{z}_{j,c}等于将分子部分\text{exponential}\left(-\frac{1}{r_c^2}\cdot \left|\left|h(\tilde{x}_j)-p_c\right|\right|^2 - A(r_c)\right)与分母部分的所有分子分别相除的结果。其中,A(r) = \frac{1}{2}\ln(2\pi) + \ln r (6)

为了简化起见,在实验中将变量r_{1...N}赋值为 1,并仅用于训练模型学习变量r_{N+1}的长度尺度

3.1.3 具有软聚类和软屏蔽的原型网络

将所有干扰项集中归为一类的做法过于简略,并未能满足实际需求。这些干扰项可能源自不同类别,在实验过程中研究者从多个不同的类别中选取了若干个样本作为干扰实例。

为了解决这一问题,研究者提出了一个改进型方案。该方案的具体实现方式是在未标记样本对整体贡献的基础上引入软屏蔽机制。当无标签样本与原型的距离从近向远变化时,其屏蔽力度也随之递增。具体来说,在未标记样本对整体贡献的基础上引入软屏蔽机制,并根据无标签样本与原型的距离变化动态调整其屏蔽力度。详细说明了对软聚类优化流程的调整。

首先,计算样例 \tilde x_j 和原型 p_c 之间的归一化距离 \tilde d_{j,c}

\tilde d_{j,c}=\frac{d_{j,c}}{\frac{1}{M}\sum_jd_{j,c}} 其中 d_{j,c}=||h(\tilde{x}_j)-p_c||_2^2 (7)

然后,在小型神经网络中输入 \tilde d_{j,c} 的各项统计指标(包括最小值、最大值、方差、偏度和峰度),以便于计算每个原型的软阈值 \beta_c 和斜率 \gamma_c

[\beta_c,\gamma_c]=MLP\left(\left[min_j(\tilde{d}_{j,c}),max_j(\tilde{d}_{j,c}),var_j(\tilde{d}_{j,c}),skew_j(\tilde{d}_{j,c}),kurt_j(\tilde{d}_{j,c})\right]\right) (8)

基于此,在每一个阈值下都可以依据簇内部变化量的信息来计算出应该去除无标签样例的数量。

随后,在基于 \beta_c 的基础上进行对比分析和计算后,则可获得每个样例对各原型所对应的软阴影系数 m_{j,c}

其中\tilde{p}_c等于分子部分与分母部分的比例关系。分子由两部分组成:第一部分是对各个i应用h函数后再乘以对应的z值求和;第二部分是对各个j应用h函数到\tilde{x}后再乘以\tilde{z}以及m系数求和。分母则是对各个iz值求和再加上对各个j\tilde{z}m系数以及相关参数求和的结果。
其中m\textsubscript{,c}等于σ函数作用于负的γ_c(距离项减去β$_c})的结果。(9)

其中 \sigma(.) 是 sigmoid 函数。

在训练过程中,模型能够通过式(8)中的多层感知机(MLP)识别和应用特定无标签样例或放弃分析它们。采用软屏蔽技术能够实现全可微性。

在最后阶段,类似于软聚类的方法,尽管可以通过反复地通过迭代过程来进行优化来提高性能水平,但作者发现即使采用单步优化的方式也能够达到预期的效果.

4 相关工作

小样本学习,半监督学习,聚类。

5 实验

5.1 数据集

对三个测试平台进行模型性能评估。其中两个基准数据集为小样本分类标准(Omniglot与miniImageNet)。此外,引入一个新的大型分类基准数据库(tieredImageNet),旨在为未来的小样本学习研究提供参考价值。

5.2 让数据集适应半监督学习

在每个数据集中,在第一步中,在每个类别中设置一个专门设置的分类以将有标签和无标签的数据分别归入各自的类别中。

对于 Omniglot 和 tieredImageNet 数据集中的每一类别的10%,会被分配为有标签训练集;剩余的90%,则会被用作无监督学习的数据集。

在 miniImageNet 数据集中,在40%的数据被分配为有标签样本中使用了该比例指标,并且剩下的60%则作为无标签样本进行处理。由于作者观察到10%的数据量过小,在这种情况下无法获得足够的训练效果,并且会导致模型出现欠拟合的问题。

训练片段的构造过程如下:

  • 针对训练类集 C_{train} 中的各类别进行无放回地选取操作。
    • 针对所选的 N 个类别:

      • 基于每个类别的标注数据进行无放回地选取 K 样本作为支撑集。
      • 从每个类别的无标签数据中随机采样 M 个样例,构成无标签集。
      • 从每个类别的有标签数据中随机采样固定数量的样例,构成查询集。

在训练数据集 C_{train} 中选取了与之前提到的 N 个类别不同的 H 个其他类别。

  • 针对这 H 个类别,在每个类别中的无标签数据中被选作干扰样本使用的M 个样本点。

将这些干扰因素纳入上述 N 个类别中的无标签数据集,并保证其中共计 MN+MH 个样本属于无标签数据

在实验设计中采用的片段构建方式与前一阶段基本一致,在这一过程中分类任务中的类别分布来自测试类集 C_{test} 的数据样本选取机制进行了优化调整。
在实验设置中我们设定变量 H=N=5 用于监督学习阶段的数据生成,在训练模型时采用了大小为 M=5 的批量数据,在模型验证环节则扩大采样规模至 M=20 以考察模型对更大规模无标签数据集的适应能力。

在各个数据集上均进行了对比分析,并对现有方法进行了系统性评估。

5.3 实验结果

在这里插入图片描述

表1:Omniglot 1-shot 分类结果。

在这里插入图片描述

表2:miniImageNet 1/5-shot 分类结果

在这里插入图片描述

表3:tieredImageNet 1/5-shot 分类结果

在这里插入图片描述

表5:小样本学习基线,使用有标签/无标签划分的实验结果。

6 结论

【本期作者主页】<>

全部评论 (0)

还没有任何评论哟~