论文解读:Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning

文章汇总

总体问题

通过对整体分类的训练(文章结构图中ClassifierBaseline),即在整个标签集上进行分类,它可以得到与许多元学习算法相当甚至更好的嵌入。这两种工作之间的界限尚未得到充分的探索,元学习在少样本学习中的有效性仍然不清楚

动机

我们观察到元学习和整体分类目标之间的权衡,这可能解释了元基线的成功,并重新思考了这两个目标在少样本学习中的有效性。

解决办法

为了了解与全分类相比元学习是否仍然有效,一个自然的实验是看看如果我们在收敛分类器基线的评估指标(即余弦最近质心)上执行进一步的元学习会发生什么。

实现方法

用质心的概念来代表一个类别的高度,f_\theta

为去掉最后一个FC层的编码器

通过质心算概率

流程图如下

摘要

元学习是近年来最常见的少样本学习框架。它从少量分类任务的集合中学习模型,这被认为具有使训练目标与测试目标一致的关键优势。然而,最近的一些研究报道,通过对整体分类的训练,即在整个标签集上进行分类,它可以得到与许多元学习算法相当甚至更好的嵌入。这两种工作之间的界限尚未得到充分的探索,元学习在少样本学习中的有效性仍然不清楚。在本文中,我们探索了一个简单的过程:对其评估指标的整体分类预训练模型进行元学习。

我们观察到,这种简单的方法在标准基准测试中取得了与最先进的方法相比具有竞争力的性能。我们进一步的分析有助于理解元学习目标和全分类目标之间的取舍。

1. 介绍

虽然人类已经表现出了令人难以置信的能力,可以从很少的例子中学习,并推广到许多不同的新例子,但目前的深度学习方法仍然依赖于大规模的训练数据。为了模仿这种人类的泛化能力,提出了few-shot学习[4,29],用于训练网络基于几个标记示例来理解新概念。虽然用很少的样本直接学习大量的参数是非常具有挑战性的,而且很可能导致过拟合,但一个实用的设置是应用迁移学习:用足够的样本在常见类(也称为基类)上训练网络,然后用少量的样本转移模型来学习新的类。

少样本学习的元学习框架遵循了“学会学习”的关键思想。具体来说,它从属于基类的训练样本中采样少量分类任务,并优化模型以在这些任务上表现良好。

一个任务通常采用N-way和K-shot的形式,其中包含N个类,每个类中有K个支持样本和Q个查询样本。目标是根据N × K个支持样本将这N × Q个查询样本分类为N个类。在此框架下,模型直接针对少量分类任务进行优化。训练目标和测试目标之间的一致性被认为是元学习的关键优势。在这一思想的推动下,最近的许多研究[26,6,25,30,5,22,11,33]关注于改进元学习结构,而few-shot学习本身已经成为评估元学习算法的通用测试平台。

然而,最近的一些研究发现,整体分类的训练,即在整个训练标签集(基类)上的分类,提供了与许多最近的元学习算法相当甚至更好的嵌入。整体分类模型的有效性在之前的研究[6,1]和一些并行研究[31,27]中都有报道。元学习使训练目标的形式与测试一致,但为什么它跟简单的整体分类学习比有更糟糕的嵌入呢?虽然有几个可能的原因,如优化困难或过拟合,但答案尚未得到明确的研究。元学习是否仍然比全分类在少样本学习中有效还不清楚。

在这项工作中,我们旨在通过解耦差异来探索整体分类和元学习之间的优势。我们从分类器-基线(Classifier-Baseline)开始:这是一种整体分类方法,在并行工作中也被类似地提出[31,27]。在分类器-基线中,我们首先在基类上训练分类器,然后去除最后一个完全连接(FC)层,该层是类相关的。在测试期间,计算每个新类的支持样本均值嵌入作为其质心,并将查询样本分类到距离最近的余弦距离质心。我们观察到这种基线方法优于许多最近的元学习算法。

为了了解与全分类相比元学习是否仍然有效,一个自然的实验是看看如果我们在收敛分类器基线的评估指标(即余弦最近质心)上执行进一步的元学习会发生什么。作为一种结果方法,它类似于MatchingNet[29]或ProtoNet[24],但增加了分类预训练阶段。我们观察到元学习仍然可以提高ClassifierBaseline,并且它在标准基准上达到了与最先进的方法竞争的性能。我们称这个简单的方法为Meta-Baseline。我们强调,作为一种方法,Meta-Baseline的所有单独组成部分都已在先前的工作中提出,但据我们所知,它被忽视了,先前的工作都没有将它们作为一个整体进行研究。我们通过对两种类型的泛化进行评估来进一步解耦差异:

基类泛化表示在基类中未见数据的少量分类任务上的性能,它遵循泛化的常见定义(即在训练分布中进行评估);

新类泛化是指在新类数据的少数样本分类任务上的性能,这是少数样本学习问题的目标。

研究发现:

(1)元学习过程中,基类泛化程度的提高会导致新类泛化程度的降低;

(2)当从头开始训练Meta-Baseline(即不进行整个分类训练)时,它的基类泛化率更高,但新类泛化率要低得多。

我们的观察表明,在元学习和整体分类的目标之间可能存在权衡。可能元学习学习的是对N-way K-shot任务效果更好的嵌入,而全分类学习的是类可转移性更强的嵌入。我们发现,在元学习之前进行整体分类训练的主要优势有可能提高类的可转移性(性能)。我们进一步的实验为Meta-Baseline成为强基线的原因提供了一个潜在的解释:通过继承整个分类模型中最有效的评估指标之一,它最大限度地重用了具有强类可转移性的嵌入。从另一个角度来看,我们的研究结果也从数据集的角度重新思考了元学习和整体分类的比较。

当收集基类以覆盖新类的分布时,新类泛化会收敛于基类泛化,元学习的强度可能会超过整体分类的强度。

总之,我们的贡献如下:

我们提出了一个简单的元基线,这在以前的工作中被忽视了。它在标准基准上实现了具有竞争力的性能,并且易于遵循。

我们观察到元学习和整体分类目标之间的权衡,这可能解释了元基线的成功,并重新思考了这两个目标在少样本学习中的有效性。

3. 方法

3.1. 问题定义

在标准的few-shot分类中,给定一个带有大量图像的基类C_{base}的标记数据集,目标是使用少量样本学习新颖类C_{novel}中的概念。在N向K次少射分类任务中,支持集包含N个类,每个类有K个样本,查询集包含来自相同N个类的样本,每个类有Q个样本,目标是将N × Q个查询图像分类为N个类。

3.2. Classifier-Baseline

Classifier-Baseline是一个整体分类模型,即为整个标签集训练的分类模型。它是指训练一个在所有基类上都有分类损失的分类器,并使用余弦最近邻质心方法执行少射任务。具体来说,我们在所有基类上训练一个具有标准交叉熵损失的分类器,然后去除它的最后一个FC层并得到编码器
f_\theta,它将输入映射到嵌入。给定几个镜头的任务设支持集S,S_c为c类的少次样本,计算平均嵌入
w_c作为c类的质心(公式1)

然后对于少样本任务中的查询样本x,根据样本x的嵌入与c类质心的余弦相似度预测样本x属于c类的概率:

<\cdot,\cdot>表示两个向量的余弦相似度。

在并行研究中也提出了与Classifier-Baseline类似的方法[31,27]。与Baseline++[1]相比,classifier-Baseline不使用余弦分类器进行训练或在测试期间进行微调,而它在标准基准测试中表现更好。在这项工作中,我们选择Classifier-Baseline作为全分类模型的代表进行少镜头学习。为了简单明了,我们不为这个全分类训练引入额外的复杂技术。

3.3. Meta-Baseline

图1显示了元基线。

第一阶段是分类训练阶段,它训练一个ClassifierBaseline,即在所有基类上训练一个分类器,并去除它的最后一层FC得到f_\theta

第二阶段是元学习阶段,在分类器-基线评价指标上对模型进行优化。具体来说,给定分类训练的特征编码器f_\theta,它从基类的训练样本中采样N次k次任务(带有N × Q个查询样本me:也就是第二阶段的训练数据是从查询集里面抽出来的)。为了计算每个任务的损失,在support-set中计算公式1中定义的N个类的质心,然后使用这些质心计算公式2中定义的queryset中每个样本的预测概率分布。损失是由p和查询集中样本的标签计算得出的交叉熵损失。在训练过程中,每个训练批可以包含多个任务,并计算平均损失。

由于余弦相似度的取值范围为[−1;1],当它用于计算对数时,在训练过程中,在应用Softmax函数之前它可以帮助对值进行缩放(最近的工作中常见的做法[6,17,16])。我们将余弦相似度乘以一个可学习的标量\tau,则训练中的概率预测变为:

在这项工作中,Meta-Baseline的主要目的是研究元学习目标在整体分类模型上是否仍然有效。作为一种方法,虽然Meta-Baseline中的每个组件都在之前的工作中提出过,但我们发现之前的工作都没有将它们作为一个整体进行研究。因此,元基线也应该是一个被忽视的重要基线。

4. 标准基准测试结果

4.1. 数据集

miniImageNet数据集[29]是一个常用的少镜头学习基准。它包含从ILSVRC-2012中采样的100个类[21],然后将其随机分成64、16、20个类分别作为训练集、验证集和测试集。每个类包含600张大小为84 × 84的图像。

tieredImageNet数据集[20]是最近提出的另一个规模更大的常见基准。它是ILSVRC-2012的一个子集,包含来自34个超类别的608个类,然后将这些超类别分成20个、6个、8个超类别,分别得到351个、97个、160个类作为训练集、验证集、测试集。图像大小为84 × 84。

这种设置更具挑战性,因为基类和新类来自不同的超类别。

除了上述数据集之外,我们还在ImageNet-800上评估了我们的模型,ImageNet-800是从ILSVRC-2012 1K类中衍生出来的,随机划分了800个类作为基类,200个类作为新类。基类包含来自原始训练集的图像,新类包含来自原始验证集的图像。这个更大的数据集旨在将训练设置标准作为ImageNet 1K分类任务[8]。

4.2. 实现细节

我们在miniImageNet和tieredImageNet上使用ResNet-12,它遵循了最近的大部分作品[16,25,11,33],在ImageNet800上使用ResNet-18, ResNet-50[8]。对于分类训练阶段,我们使用动量为0.9的SGD优化器,学习率从0.1开始,衰减因子为0.1。在miniImageNet上,我们在4个gpu上训练100个epoch,批处理大小为128,学习率在epoch 90时下降。在tieredImageNet上,我们在4个gpu上训练了120个epoch,批处理大小为512,学习率在第40和第80时期下降。在ImageNet-800上,我们在8个gpu上训练90个epoch,批大小为256,学习率在epoch 30和60时下降。ResNet-12的权重衰减为0.0005,ResNet-18或ResNet-50的权重衰减为0.0001。应用标准数据增强,包括随机调整大小的裁剪和水平翻转。对于元学习阶段,我们使用动量为0.9的SGD优化器。学习率固定为0.001。batch大小为4,即每个training batch包含4个few-shot task来计算平均损失。

余弦缩放参数τ初始化为10。

我们还应用一致抽样来评估性能。对于数据集中的新类拆分,采样少量测试任务遵循确定的顺序。一致采样使我们能够得到更好的模型比较使用相同数量的采样任务。在下面部分中,如果在表中省略置信区间,则表示对固定的800个测试任务进行采样以估计性能。

4.3. 结果

7. 总结与讨论

在这项工作中,我们提出了一个简单的元基线,它被忽视的少样本学习。没有任何额外的参数或复杂的设计选择,它是竞争的最先进的方法在标准基准。

我们的实验表明,对于少样本学习,元学习框架可能存在客观差异,即一个元学习模型在基类的未见任务上泛化得更好,而在新类的任务上泛化得更差。这可能解释了为什么一些复杂的元学习方法不能获得比简单的整体分类明显更好的性能。虽然最近的研究集中在改进元学习结构上,但其中许多并没有明确地解决班级可转移性的问题。我们的观察表明,客观差异可能是一个需要解决的潜在关键挑战。

虽然人们提出了许多新的元学习算法,并且最近的一些研究报告表明,简单的整体分类训练足以用于少量学习,但我们表明,元学习在整体分类模型上仍然有效。我们观察到元学习和整体分类目标之间的潜在权衡。从数据集的角度,我们展示了元学习和整体分类之间的偏好是如何随着类相似度等因素的变化而变化的,这表明这些因素在未来的模型比较中可能需要更多的关注。

参考资料

文章下载(ICCV 2021)

https://arxiv.org/abs/2003.04390

📎Meta-Baseline Exploring Simple Meta-Learning for Few-Shot Learning.pdf

代码地址

GitHub - yinboc/few-shot-meta-baseline: Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning, in ICCV 2021

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/436057.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(亲测可用)Adobe Photoshop 2024下载与安装

背景介绍&#xff1a;Adobe Photoshop 2024 是全球最受欢迎的图像编辑软件之一&#xff0c;2024年的版本带来了一系列令人印象深刻的功能&#xff1a; AI增强的自动选择和蒙版工具&#xff1a;现在&#xff0c;用户可以更轻松地选择和处理复杂的图像元素。更多的3D渲染功能&…

算法刷题day23:双指针

目录 引言概念一、牛的学术圈I二、最长连续不重复序列三、数组元素的目标和四、判断子序列五、日志统计六、统计子矩阵 引言 关于这个双指针算法&#xff0c;主要是用来处理枚举子区间的事&#xff0c;时间复杂度从 O ( N 2 ) O(N^2) O(N2) 降为 O ( N ) O(N) O(N) &#xf…

全志D1s开发板裸机开发之坏境搭建

环境搭建 开发板介绍 张天飞老师编写的《RISC-V体系结构编程与实践》&#xff0c;里面的源码是基于 QEMU 模拟器的&#xff0c;可以认为它是一款虚拟的开发板。如果需要在真实开发板上学习&#xff0c;可以使用百问网的 DongshanPI-D1S 开发板。 DongshanPI-D1S 是百问网推出…

六、矩阵问题

73、矩阵置零&#xff08;中等&#xff09; 题目描述 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a…

探索AI视频创新:Sora的奇迹

探索AI视频创新&#xff1a;Sora的奇迹 随着科技的不断演进&#xff0c;AI视频模型已经成为人工智能领域的一颗新星。在这场技术的风暴中&#xff0c;OpenAI的Sora模型以其杰出的性能和前瞻性的技术脱颖而出&#xff0c;正引领着AI视频领域的全新创新浪潮。 Sora的技术之光 …

Net8集成AutoMap

一、概述 使用Net8 搭建WebApi&#xff0c;需要集成AutoMap&#xff0c;方便开发。 二、实现 2.1 安装 AutoMapper 2.2 创建AutoProfile配置类继承Profile namespace AnNeng.Cad.WebApi.Config {using AnNeng.Service.Application.CadAndOss.Dto;using AnNeng.Service.Appl…

BUUCTF---[极客大挑战 2019]BabySQL1

1.这道题和之前做的几道题是相似的&#xff0c;这道题考的知识点更多。难度也比之前的大一些 2.尝试万能密码 or 1#发现过滤了or,使用1和1,发现他对单引号也进行了过滤。于是我尝试进行双写绕过&#xff0c;发现可以通过了。 3.由之前的做题经验可知&#xff0c;这道题会涉及到…

电动车着火事故,敲响梯控安全警钟

文章来源&#xff1a;电动车着火事故&#xff0c;敲响梯控安全警钟_专栏_易百纳技术社区 方案背景&#xff1a; 近年来&#xff0c;电动车起火事故屡有发生。如南京雨花台“223”火灾事故&#xff0c;造成了重大的人员伤亡。还有北京在 2023 年 12 月 28 日发生了一起村民自建…

工业以太网交换机助力电力综合自动化系统卓越运行

随着电力行业不断迈向数字化和自动化时代&#xff0c;电力综合自动化系统逐渐成为实现电网智能化管理的核心。在这一复杂而庞大的系统中&#xff0c;工业以太网交换机扮演着至关重要的角色&#xff0c;连接着各种智能设备&#xff0c;实现数据的快速传输和高效管理&#xff0c;…

共用体union

一、共用体的特性 共用体又叫做联合体&#xff0c;共用体的特性如下&#xff1a; 1.共用体的所有成员共用一段内存空间&#xff0c;且所有成员的起始位置是一致的 2.共用体的值由最后赋值的成员决定 3.共用体的内存大小 共用体的内存必须大于或等于其他成员变量中最大数据类型…

NineData与OceanBase完成产品兼容认证,共筑企业级数据库新生态

近日&#xff0c;云原生智能数据管理平台 NineData 和北京奥星贝斯科技有限公司的 OceanBase 数据库完成产品兼容互认证。经过严格的联合测试&#xff0c;双方软件完全相互兼容、功能完善、整体运行稳定且性能表现优异。 此次 NineData 与 OceanBase 完成产品兼容认证&#xf…

泰迪·上海杉达学院大数据与智能技术工作室挂牌签约仪式圆满结束

2024年3月5日&#xff0c;上海杉达学院邀请广东泰迪智能科技股份有限公司上海分公司总经理彭艳昆一行出席“泰迪上海杉达学院大数据与智能技术工作室”签约挂牌仪式。上海杉达学院副校长兼信息科学与技术学院院长陈瑛、信息科学与技术学院副院长于晓东、信息科学与技术学院党总…

Diffusion Models for Implicit Image Segmentation Ensembles

隐式图像分割集成的扩散模型 摘要 扩散模型在图像生成建模方面表现出令人印象深刻的性能。本文提出了一种新的基于扩散模型的语义分割方法。通过改进训练和采样方案&#xff0c;我们证明了扩散模型可以对医学图像进行病灶分割。为了生成特定于图像的分割&#xff0c;我们在地…

SpringCloud(20)之Skywalking Agent原理剖析

一、Agent原理剖析 使用Skywalking的时候&#xff0c;并没有修改程序中任何一行 Java 代码&#xff0c;这里便使用到了 Java Agent 技术&#xff0c;我 们接下来展开对Java Agent 技术的学习。 1.1 Java Agent Java Agent 是从 JDK1.5 开始引入的&#xff0c;算是一个比较老的…

直播预告|小白开箱: 云数据库在五朵云上的评测

3 月 7 日&#xff0c;周四晚上 19:00-20:30 由明说三人行组织&#xff0c;邀请了 NineData 国际总经理(GM) Ni Demai、云猿生数据 CTO &#xff06; 联合创始人子嘉&#xff0c;和《明说三人行》创始人 &主持人明叔&#xff0c;共同围绕《小白开箱: 云数据库在五朵云上的评…

红帆ioffice-udfGetDocStep.asmx存在SQL注入漏洞

产品简介 红帆iOffice.net从最早满足医院行政办公需求&#xff08;传统OA&#xff09;&#xff0c;到目前融合了卫生主管部门的管理规范和众多行业特色应用&#xff0c;是目前唯一定位于解决医院综合业务管理的软件&#xff0c;是最符合医院行业特点的医院综合业务管理平台&am…

Qt插件之输入法插件的构建和使用(一)

文章目录 输入法概述输入法插件实现及调用输入键盘搭建定义样式自定义按钮实现自定义可拖动标签数字符号键盘候选显示控件滑动控件手绘输入控件输入法概述 常见的输入法有三种形式: 1.系统级输入法 2.普通程序输入法 3.程序自带的输入法 系统级输入法就是咱们通常意义上的输入…

SpringBoot3整合Mybatis-plus报错IllegalArgumentException

错误信息 使用的SpringBoot3版本&#xff1a;3.2.3 java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanObjectType: java.lang.String 第一想法就是感觉是版本太低导致和SpringBoot3不兼容。 查询mybatis-plus最高的版本 <!-- https://m…

“安康杯”安全知识竞赛活动方案

“安康杯”知识竞赛&#xff0c;顾名思义也就是把竞争机制、奖励机制、激励机制应用于安全生产活动中的群众性“安全”与“健康”竞赛。本次竞赛包括 4 个竞赛环节&#xff0c;分别是胜券在握&#xff08;必答题&#xff09;、 刻不容缓&#xff08;抢答题&#xff09;、披荆斩…

volatile关键字的作用 以及 单例模式(饿汉模式与懒汉模式的区别及改进)

文章目录 &#x1f4a1;volatile保证内存可见性&#x1f4a1;单例模式&#x1f4a1;饿汉模式&#x1f4a1;懒汉模式&#x1f4a1;懒汉模式多线程版&#x1f4a1;volatile防止指令重排序 &#x1f4a1;volatile保证内存可见性 Volatile 修饰的变量能够保证“内存可见性”以及防…