Advertisement

论文笔记 Meta-Learning for Batch Mode Active Learning

阅读量:

batch 模式主动学习的元学习方法

摘要

什么是 batch 模式主动学习?挑选一批样例,立刻标注用于训练。

  • 优点:

    • 最符合逻辑。不必等整个挑选过程完成后,再训练。而是边挑选,边训练。
    • 能够最高效地利用人力进行标注。

本文致力于利用元学习技术发展主动学习算法,在有限的小训练集中筛选出一组最佳未标注样例,并将其补充至完整训练集。
实验结果表明所提出的方法在性能上显著地超越了传统启发式方法,并且对于构建高质量的有标签训练集具有重要意义。
通过该方法构建的有标签训练集能够显著提升分类器的性能能力。

本文的缺点是没有提供源代码。

1 引言

主动学习的主要策略多为启发式方案,在选择样本时需考虑其信息含量、多样性以及代表性。基于启发式的筛选机制,在批次中识别最具代表性的样本这一策略可推广至批量模式下。然而这可能导致模型性能略逊一筹,并在数据量上产生过多冗余样本。现有研究多基于假设未标注数据至少与目标类别相关联的观点.而这些假设在真实场景中往往难以满足.因为实际中的未标注数据通常由一些干扰项构成,这些干扰项并不属于我们要考察的任何类别.因此作者对 batch 模式主动学习方法的研究兴趣集中在如何在这种复杂背景下优化算法性能方面.

  1. 应致力于提升该算法在样本选择能力方面的表现。
  2. 样本筛选过程的计算复杂度应维持在O(n)水平。
  3. 应具备有效抑制干扰因素的能力。

已有相关研究对主动学习的元学习方法进行了深入探讨。然而,在 batch 模式场景中及其在干扰项环境中的应用仍待进一步拓展。

研究者在小样本数据框架中设计了批次主动学习任务,并旨在训练一个元学习器以提升该问题的解决效果。基于Prototypical Networks构建了一个主动学习模块,并通过选择代表性样本来辅助标注过程,并显著提升了分类精度。实验结果表明该方法在性能上超越了传统启发式策略。

2 batch 模式主动学习的元学习方法

在这里插入图片描述

本文的另一个缺点是没有给出结构图。这张图是我根据自己的理解画的。

未标注数据集 U=\{\tilde x_1, ..., \tilde x_M\}

小样本学习任务参数 N-way,K-shot,B-batch

从集合U中选择一个子集A用于生成标注标记,并将其加入到支持集合S中以形成新的支持集合S’

S中的元素总数等于N乘以K。经过主动学习策略挑选出一批样本之后,在选择样本时是否仅选择该部分类别中的样本?或者是否需要涵盖所有类别?不同类别中被选中的样本数量是否存在差异?如何确定参数B的具体取值?

目标是用 S’ 最大限度地提高分类器在查询集 Q 上的性能。

样例挑选过程:

  • 定义为事件 \{\tilde{x}_1,\dots,\tilde{x}_B\} 的概率:p(A) = p(\{\tilde{x}_1,\dots,\tilde{x}_B\}) = \prod_{i=1}^B p(\tilde{x}_i|\{\tilde{x}_1,\dots,\tilde{x}_{i-1}\})
  • 我们假定已经建立了一个子集 A = \{\tilde{x}_1, \dots, \tilde{x}_j | j < B\}
  • 参数化的概率分布:p(\cdot|A) = p(\cdot|\{\tilde{x}_1, \dots, \tilde{x}_j\})
  • 被挑选下一个未标注样本并加入集合 A
  • 从初始支持集 S 生成一组 prototype 型式:\{c_k\}_{k=1}^K

度量每个无标签样本 \tilde x_i\in U 所对应的统计量集合 \prod\left(\{c_k\}_{k=1}^K, \tilde x_i\right) 以便生成相应的原型。

通过一系列统计量的运用与分析,在此所得出的概率分布包括 p_{quality}(\tilde x)p_{diversity}(\tilde x|\tilde x_1, ..., \tilde x_j) ,随后在每个这样的概率分布下选取下一个未被标注的数据样本,并将其加入集合 A 中。

  • 直到 A 的元素个数达到 B

2.1 质量分布
每个未标注样例都基于其统计特征进行评估(选择具有较高质量的样本),从而确定其出现的概率。

p_{quality}(\tilde x)∝exp(q_i),其中 q_i=f_q\left(\prod\left(\{c_k\}_{k=1}^K, \tilde x_i\right)\right)

f_q 是一个具有参数 q 的多层感知机 MLP。

基于学习到的样例分类统计量P,评估该样本对现有分类器的价值(效能),从而推导出选择该样本的概率分布情况。

训练过程就是学习这个概率分布,让预测概率逼近真实概率。

2.2 多样性分布
任意一个未标注样本的统计量都能够被用来构建特征向量,表征该未标注样本与分类器之间的关联:则基于这些特征向量能够实现对未知类别的识别。

\phi_i=f_\phi\left(\prod\left(\{c_k\}_{k=1}^K, \tilde x_i\right)\right)

其中 \phi_i\in R^{D'}f_\phi 是一个具有参数 φ 的多层感知机 MLP。

目标是通过多样性分布来实现选取那些与类别A中样本最为不同的未标注样本,并且通过计算每个样本与其特征向量之间的相似程度来筛选出具有代表性的数据点。基于这些样本在多样性的基础上确定它们被选中的几率:

p_{diversity}(\tilde x_i|A)∝exp(v(\phi_i)/T),其中 v(\phi_i)= min_{\tilde x_j\in A}\{\sin θ_{ij}\}

其中 θ_{ij} 代表特征向量 \phi_i\phi_j 之间的夹角;T 被视为一个学习到的关键参数;它用于调节这一分布的空间结构。如果某个样本与 A 中样本对应的特征向量越趋近于正交,则该样本被选中的概率会显著提升。

2.3 专家的乘积 (Product of experts)

专家乘积(PoE)是一种经典的机器学习方法。
通过融合多个简单分布在不同特征空间中表示的能力显著提升了生成模型的表现。

怎样结合?从字面看,应该是乘法。概率用乘法更合理。且看公式

未标注样例被选中的最终概率分布,是其质量分布和多样性分布的乘积。

p(\tilde{x}|{A})与质量相关的分布乘以多样性相关的分布再乘以指示函数l_{\{\tilde{x}\notin {A}}}的比例关系成立。

其中 l_{\tilde x\notin A} 是指示变量,强制去除 A 中样例的支持。

2.4 训练
迭代优化模型参数 \theta'=\{\phi, q, T\} 以实现以下目标:针对任意设定的小样本学习任务(支持集合 S、未标注数据集 U 和查询集合 Q),从而能够生成子集 A\subseteq U 并构造新的支持集合 S'=S\bigcup A。这种操作从而使该模型在查询集合 Q 上的分类性能显著提升。我们采用梯度下降算法对模型进行训练:

关于参数θ'的梯度\nabla_{θ'}在概率分布p_{{θ'}}(A)下对成本函数C(Q|S∪A)取期望值的结果约等于,在经过多次采样后计算得到的一个样本均值:即\frac{1}{T}\sum_{{t=1}}^{{T}}[(C(Q|S∪{A}_t)-β_{{-t}})\cdot \nabla_{{θ'}} \ln p_{{θ'}}({A}_t)];其中假设变量序列\{{A}_t\}独立同分布于p_{{θ'}}(A)

其中 C(Q|S\bigcup A) 是支持集为 S'=S\bigcup A 时,模型在查询集 Q 上的准确率。

\beta_{-t}=\frac{1}{T-1}\sum_{t'\neq t}^TC_{\theta}(Q|S\bigcup A_{t'}) 是基线。

因为训练时原本未标记的数据现在已经获得了标签信息, 所以我们可以利用未标记数据集U上的分类准确率来提升在查询集上的准确性. 通过这种补充机制能够为模型提供有效的反馈信息. 选择的样本应有助于区分剩余的无标签样本, 并建议采用C(Q \bigcup U | S \bigcup A)来代替C(Q | S \bigcup A).

3 实验

两个数据集:CIFAR-100 和 miniImageNet,都有 100 个类别,每个类别 600 个样例。

数据集拆分方式,都是训练集 64 个类别,验证集 16 类别,测试集 20 个类别。

基于5-way、1-shot的任务设置训练原始模型后,在支持集中引入不同批次大小的无标签样本进行性能评估。

与 3 种常用的启发式主动学习方法进行对比:

  1. Max-Entropy模型(Maximum Entropy): 选取的样本是基于初始分类器计算出其分类概率熵最大的数据集。
  2. Min-Max Similarity指标(Minimal Maximum Similarity): 选择的目标样本与其余未标注样本间的相似性最低。
  3. 随机采样 (Random Sampling): 采用无监督学习策略,在 unlabeled 数据集中随机选取若干样本作为训练数据。
在这里插入图片描述

实验结果如表1所示,在对比实验中,在左半区域为无干扰数据,在右半区域则含有干扰数据。通过1000次独立运行计算得出的结果表明,在查询集中准确率提升了相应的百分比(具体数值可参考表格)。其中B代表所选子集的具体规模大小,在每个任务中未标注数据样本的数量由M表示。

4 结论与展望

附录A 实验细节

A.1 CIFAR-100 的实验结果

在这里插入图片描述

表2展示了CIFAR-100实验的结果比较分析:左侧区域呈现的是无干扰项的数据分布情况而右侧区域则包含了引入干扰项后的样本集合对比图通过分析不同子集中分类器的表现能够量化引入干扰项对模型性能的影响具体而言在查询集中分类器准确率的增长幅度为基于1000次独立运行计算所得的最佳平均值其中变量B代表所选子集的数量而变量M则代表每个任务中的无标注数据集规模

A.2 模型的架构

原型网络采用 Vinyals et al. (2016) 定义的CNN架构。

f_{\phi} 是一个单层 MLP,用于嵌入样例的分类统计量,维度是 40。

f_{q}由三层MLP构成,在每一层中输入维度均为40,并生成样本质量的logit值。在隐层中对未标注样本应用batch-normalization

A.3 样例分类统计量

距离统计量:无标记样本与对应原型之间的欧氏距离作为计算依据;其包含的统计指标有最小值、最大值、均值以及偏态和峰态特征。

每个原型是指什么?初始的支持样例?

分类概率统计量是基于原型将未标注样本进行分类的方法;其中涉及的概率分布特征值涵盖熵、最小值、最大值、标准差以及偏度和峰度等指标。

附录B 相关工作

基于哪些研究,提出了本文的方法。.

全部评论 (0)

还没有任何评论哟~