【报告】Fast Few-Shot Classification by Few-Iteration Meta-Learning(FIML)

2023-10-28 13:20

本文主要是介绍【报告】Fast Few-Shot Classification by Few-Iteration Meta-Learning(FIML),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
报告文章来源于ICRA 2021,题为 Fast Few-Shot Classification by Few-Iteration Meta-Learning, 通过少量迭代的元学习实现的一种快速小样本分类方法 ,作者来自瑞士苏黎世联邦理工学院计算机视觉实验室。
在这里插入图片描述
内容分为以上5个部分
在这里插入图片描述
few-shot classification 是要在仅给出少量带标注样本的情况下学习分类器。

meta-learning 元学习,从学习解决其他类似任务中获得经验,以便更好地学习目标特定的任务

现有的元学习方法可以分为两类。 基于度量的、和基于优化的。

基于度量的方法,是在其他任务上学习一个嵌入空间,利用目标任务在该嵌入空间上的特征距离,来进行标签的估计。
基于优化的方法,是在经过其他任务学习后的模型的基础上,对参数进行优化,使其能适应目标特定任务。

本文的方法,属于后者。 以上是文章作者,给出相关背景的解释。

在这里插入图片描述
下面,我结合元学习的数据集构造来给大家介绍一下元学习以及我们常说的C-way k-shot问题。
我们用这些小方块来表示样本,同一列是同一个类别,我这里没有用省略号来表示,真实的数据集的类别数量和样本数量都远不止这个规模。
下面我们以类别为单位,划分出元训练集、元验证集和元测试集,这一点呢,和传统的深度学习数据集是一样的,验证集用来在训练过程中评估性能,测试集用于评估模型最终的泛化性能。
不一样的地方是,我们以元训练集为例,我们从中选了4个类别组成一个任务,我图上画了两个没有类别重复的两个任务,实际上,这里可以构成 C 8 4 C_8^4 C84个任务。
接下来,我们在每个任务中,从每个类别中选出5个样本来构造支撑集,剩下的样本构成查询集。 这样的数据集就是一个4-way 5-shot的元学习数据集

在这里插入图片描述
本文方法的出发点有两个。 一个提高分类准确率,二是减少训练所需的时间。

文章主要提出了一种迭代的基于优化的元学习方法, 简称FIML。
这个方法的框架包含了两个部分: 是一个嵌入网络,一个是base学习器,嵌入网络是用来提供输入图像的特征表达的,base学习器通过展开优化程序在推断过程学习线性分类器。

训练的目标函数主要两个部分损失组成,一个是支撑集上的分类损失,另一个是允许从未标记的查询样本进行直推学习的交叉熵损失。 这两个目标分别是后文提到 inductive loss 和 transductive loss

在训练策略和算法方面:文章应用了一个有效的初始化模块 ,采用的是基于最速下降的优化算法。

在这里插入图片描述文章方法在四个数据集上对 速度和 效果进行了验证,结果表明,FIML创造了基于优化的元学习领域新的state of the art 性能。

作者自评,本研究首次在基于优化的元学习框架中将归纳和传导结合到base学习器中

在这里插入图片描述
对于任务T,他由支撑集和查询集两部分数据构成。查询集是那些需要被分类,且只给出了少量标记的图像样本的数据,x都表示图像样本,y表示标签。 N
= k x n 表示的是样本-标签对的数量,k x n的含义是 有k个类别,每个类别有n个样本,所以这里是 k-way, n-shot分类问题。

前面我们说方法框架主要包含了两个模块嘛,一个是base 学习器,还有一个是元学习器,他们分别可以用公式1和2来表示。其中D表示整个元训练集,它包含了很多个任务,元学习是希望学习一个通用的网络参数 ϕ ∗ \phi* ϕ,使得在大多数任务上表现得很好,而base 学习器是针对任务T来进行学习的。

如1 展示了FIML的框架,这是一个3-way 2-shot的分类任务。 体现在支撑集包含3个类别,每个类别2张图像。元学习器提供特征表示,Base 网络对查询的图像进行分类。
每次训练输入的是 6张支撑集图像和1张查询集图像, 模型回答了 查询图像是 三个类别中的哪个类别的问题。

在这里插入图片描述
在inductive 损失中,对于任务T,我们要学习base分类器的参数 b θ b_\theta bθ
base 网络对样本x的预测用 b θ ( m ( ϕ ( x ) ) b_\theta (m(\phi (x)) bθ(m(ϕ(x))来表示。
base 学习器的目标函数,根据给出的支撑集样本标签和base学习器的预测结构求损失, 如公式3所示。 其中,r可以是一般的残差函数,文中,r被定义为公式4。。
其中, zj = 2倍标签-1, s j = b θ ( x j ) sj = b_\theta (x_j) sj=bθ(xj) ,表示学习器的预测结果。 l j l_j lj由两个部分组成,其中l+和l- 分别为正类和负类的目标回归得分,分别为正类和负类定义了分类器的边界。 a j a_j aj也由两个部分组成,其中(a+和a−)和目标回归分数(l+和l−)是我们的base损失公式中的自由参数,使得损失具有更强的自适应性和鲁棒性。

在这里插入图片描述
我们虽然不知道 查询图像属于那个类别,但很明确的是 它只可能属于一个类别,所以这构造了一个约束,可以用来作为目标函数。
在本文的工作中,我们惩罚查询样本上预测的香农熵,促进Base学习器来寻找对查询集可靠的分类参数。

transductive 项 表示为 所有查询样本分类概率的香农熵之和,公式5 的推导是代入pj = softmax的过程。
这里sj不一样的是增加了一个温度尺度参数beta。sjc 是属于类别c的分量。

最终的目标函数是 如公式6所示。
两个lambda值都是权重。
在这里插入图片描述

下面是base学习器的优化。 优化迭代可以表示为 公式7所示。
其中, α ( d ) \alpha^{(d)} α(d)是步长,d表示迭代的次数。

为了进一步较少公式7所需要的迭代步数,文章提出了有效的初始化策略 来获取 θ 0 \theta^0 θ0

θ c 0 = k c f p o s c – τ c f n e g c \theta_c^0 = k^c f_{pos}^c – \tau^c f_{neg}^c θc0=kcfposcτcfnegc。从正样本和负样本两方面进行考虑,文中也给出了 f p o s c f_{pos}^c fposc f n e g c f_{neg}^c fnegc 的计算,其中大 N为 任务T的支持集S中的样本数。n为n-shot的n的大小。

在这里插入图片描述

Dense 分类这部分内容通过整合Dense分类策略,利用不同空间位置提取的样本,进一步解决了标记数据的缺失问题。
文章在全局平均池化层之前 使用Dense的空间特征,用m phi l表示空间索引L处的特征向量。 这个策略允许我们从多个区域样本中学习,我们的任务是为每个查询图像生成一个最终的预测结果。
这将通过一个 空间融合程序实现,如公式8所示。 预测分数sj 由 各个空间位置的预测结果加权求和得到,
其中, { v l } \left\{v_l\right\} {vl} 是元训练中学习到的空间权值的集合,表示对某个空间位置,base网络的预测结果给予了多大的重视。

在元训练阶段,我们最小化任务中查询样本的概率向量的交叉熵 为公式9所示,其中, p j p_j pj还是等于softmax(sj)。

在这里插入图片描述
文章实验用pytorch框架实现。对miniImageNet和tieredImageNet这两个较大的few-shot分类数据集进行了消融研究

表1是 ablation study的实验结果。分别测试了本文提出了各个模块逐一加入后的效果。
可以看出,每个模块的加入,都为性能的增长做出了贡献。

在这里插入图片描述

实验结果表明,本文的方法明显优于其他方法。值得注意的是,当使用相同的ResNet-12作为骨干网络时,我们的方法在更大的tieredImageNet数据集上的1-shot和5-shot性能分别实现了3.6%和2.4%的相对改进。
此外,本文的框架可以利用更广泛的目标函数类,可以元学习目标和base学习器本身的重要参数。
在这里插入图片描述

文章还在tieredImageNet上 比较了FIML 和 MetaOptNet+Dense 方法的计算时间。
表4 以毫秒(ms)为单位, 显示了 1-shot、5-shot,15-shot任务的时间。很明显,FIML比MetaOptNet+Dense在推理过程中计算得更快。。。

至于Trans-FT,我们可以看到在tiredImagenet的上的性能方面,与本文是不相上下的,我们的方法在5-shot的情况下优于Trans-FT,但在1-shot的情况下,性能略有下降。
但是,计算时间上,我们的方法比trans-TF快了200倍。他用时 20800ms 也就是是 20.8 s,而本文方法仅用了 107 ms

在这里插入图片描述
总结一下,这篇文章在few-shot分类性能和计算时间两个方面都取得了进步,采用的是基于优化的元学习方法。 文章将Dense特征与一种新的自适应融合模块集成在few-shot的设置中。inductive和transductive 损失同时也被集成到框架中,迫使base网络对查询样本做出可靠的预测。此外,基于支撑集的线性base网络初始化有助于迭代展开优化器,使得base网络更快地收敛。

The Code is available at https://github.com/4rdhendu/FIML.

这篇关于【报告】Fast Few-Shot Classification by Few-Iteration Meta-Learning(FIML)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/293516

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

开题报告中的研究方法设计:AI能帮你做什么?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 大家都准备开题报告了吗?研究方法部分是不是已经让你头疼到抓狂? 别急,这可是大多数人都会遇到的难题!尤其是研究方法设计这一块,选定性还是定量,怎么搞才能符合老师的要求? 每次到这儿,头脑一片空白。 好消息是,现在AI工具火得一塌糊涂,比如ChatGPT,居然能帮你在研究方法这块儿上出点主意。是不

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

速通GPT-3:Language Models are Few-Shot Learners全文解读

文章目录 论文实验总览1. 任务设置与测试策略2. 任务类别3. 关键实验结果4. 数据污染与实验局限性5. 总结与贡献 Abstract1. 概括2. 具体分析3. 摘要全文翻译4. 为什么不需要梯度更新或微调⭐ Introduction1. 概括2. 具体分析3. 进一步分析 Approach1. 概括2. 具体分析3. 进一步分析 Results1. 概括2. 具体分析2.1 语言模型

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减