精读Relational Embedding for Few-Shot Classification (ICCV 2021)

Relational Embedding for Few-Shot Classification (ICCV 2021)

一、摘要

该研究提出了一种针对少样本分类问题的新方法,通过元学习策略来学习“观察什么”和“在哪里关注”。这种方法依赖于两个关键模块:自相关表示(SCR)和交叉相关注意力(CCA),来分别处理图像内部和图像之间的关系模式。

  • 自相关表示(SCR)模块:用于捕捉单个图像内的结构化模式,通过转换基础特征图为自相关张量,从而提取出图像内部的关系信息。
  • 交叉相关注意力(CCA)模块:旨在学习不同图像之间的关系,通过计算和学习两个图像表示之间的交叉相关性,以及它们之间的共同注意力。

这两个模块被集成在关系嵌入网络(RENet)中,该网络能够端到端地学习图像的关系嵌入。这种关系嵌入有助于在处理少样本学习任务时,更好地识别和分类图像。

在四个广泛使用的少样本分类基准数据集(miniImageNet, tieredImageNet, CUB-200-2011, 和CIFAR-FS)上的实验评估显示,该方法与现有的最先进方法相比,取得了一致的性能提升。

简而言之,这项研究通过深入挖掘图像内外的关系模式,为解决少样本分类问题提供了一种新的视角和有效方法。

二、引言

该研究针对少样本图像分类问题,提出了一种基于关系模式学习的新方法。这种方法通过元学习深度嵌入函数来解决从极少量样本中学习新视觉概念的挑战,同时克服了传统方法中的过拟合问题。研究的核心理念是,相比于单个特征模式,关系模式(即元模式)具有更好的泛化能力,因为一个项目的意义是通过与系统中其他项目的比较来获得的。基于这个原理,提出了从关系角度学习“观察什么”和“在哪里关注”的策略,并将其融合以生成少样本学习的关系嵌入。

解决方案主要包含两个模块:

  1. 自相关表示(SCR)模块:转换基础表示为自相关张量,并学习从中提取结构化模式,捕获特征图中每个激活与其邻域的相关性,从而编码丰富的语义结构。
  2. 交叉相关注意力(CCA)模块:计算两个图像表示之间的交叉相关性,并从中学习产生共注意力,捕捉两图像间的语义对应关系。

这两个模块的结合,以端到端的方式学习关系嵌入,旨在图像内部提取自相关模式(通过SCR),在图像之间生成关系注意力(通过CCA),并整合这些信息来产生用于少样本分类的嵌入。通过在几个标准数据集上的实验验证,该方法有效地提高了少样本图像分类的准确性,展示了利用图像内部和图像间关系模式的强大能力。

三、相关工作

在“相关工作”部分,作者概述了针对少样本分类问题的现有方法,并将这些方法大致分为三类:基于度量的方法、基于优化的方法和基于迁移学习的方法。此外,该部分还特别讨论了自相关和交叉相关的概念及其在视觉任务中的应用,从而为提出的方法提供了理论和技术背景。

少样本分类方法的三种主要方向:

  1. 基于度量的方法:旨在学习将图像映射到一个度量空间的嵌入函数,其中图像对的相关性基于它们之间的距离来区分。这是作者所采用的方法。
  2. 基于优化的方法:通过元学习的方式,学习如何根据少量支持样本在线快速更新模型。
  3. 基于迁移学习的方法:表明通过早期的预训练和随后的微调,标准的迁移学习程序对于使用深度骨干网络进行少样本学习是一个强大的基线。

特殊关注的技术概念:

  • 自相关(Self-correlation):通过测量图像内局部区域与其邻域的相似性,揭示图像的结构布局。近期的工作将自相关作为深度神经网络中的中间特征转换,证明它有助于学习有效的语义对应、图像翻译和视频理解的表示。
  • 交叉相关(Cross-correlation):长期以来被用作计算机视觉中广泛的对应相关问题的核心组件。近期的少样本分类方法采用查询和每个支持之间的交叉相关,以识别分类的相关区域,但这些方法常常受到外观变化大导致的不可靠相关的影响。

本文贡献的总结:

  • 提出了用于少样本分类的自相关表示方法,从图像内部提取可迁移的结构模式。
  • 提出了用于少样本分类的交叉相关注意力模块,通过卷积滤波学习图像之间的可靠共注意力。
  • 在四个标准基准数据集上的实验显示,本文方法达到了最先进的水平,且通过消融研究验证了组件的有效性。

这一部分为读者提供了该研究背景的深入理解,展示了其相对于现有工作的创新点和优势,特别是在处理自相关和交叉相关以提高少样本分类性能方面的新颖贡献。

四、Renet的整体架构

在这里插入图片描述

在少样本学习和元学习领域,"episodes"的概念是模仿人类学习方式而设计的一种训练策略。这种策略旨在让模型通过处理多个小任务(即episodes),来提高其对新任务的适应能力,尤其是在数据量有限的情况下。每个episode都旨在模拟一个小的学习任务,包含从多个类别中选取的少量样本,这些样本被分为support set和query set。

Support Set

Support set(支持集合)包含了一定数量的样本和对应的标签,这些样本代表了当前episode中模型需要学习的类别。在N-way K-shot任务中,support set包含了N个类别,每个类别有K个样本,模型使用这些有标签的样本来学习或调整其参数。

Query Set

Query set(查询集合)包含了另外一些样本(不包括在support set中),模型需要使用在support set上学到的知识来预测这些样本的标签。这些样本用于评估模型在学习了support set提供的信息后,对未见过的样本进行分类的能力。

Episodes 的工作流程

  1. 采样:在训练阶段,从整个训练数据集中随机选择N个类别,并从每个类别中随机选择K个样本构成support set,再选择更多的样本构成query set。

  2. 学习:模型使用support set中的样本和标签来学习或调整其参数。

  3. 测试:然后,模型在query set上进行测试,使用它在support set上学到的知识来预测query set中样本的类别。

  4. 迭代:此过程重复进行,每次都从数据集中采样不同的类别和样本来构建新的episodes,以此方式模型经历了多种不同的学习任务,目的是提高其泛化能力。

为什么使用Episodes

使用episodes的目的是让模型能够适应在只有少量样本可用时对新类别进行学习和分类的场景,即模拟真实世界中经常遇到的学习情况。这种方法尤其适用于少样本学习和元学习任务,因为它强调了模型从每个任务中快速适应和学习的能力,而不是在海量数据上进行长时间的训练。通过这种方式,模型能够在面对新类别时,更好地泛化其之前学到的知识。

五、SCR模块:增强特征

在这里插入图片描述

六、CCA模块

在这里插入图片描述

七、dataset

在评估中,我们使用四个标准基准数据集来进行小样本分类:miniImageNet、tieredImageNet、CUB-200-2011(简称CUB)和CIFAR-FS。

miniImageNet

  • 来源:miniImageNet是ImageNet的一个子集,由72个研究提出。它包含60,000张图像,这些图像均匀分布在100个对象类别中。
  • 数据集划分:训练/验证/测试划分分别包含64/16/20个对象类别。

tieredImageNet

  • 特点:tieredImageNet是一个挑战性的数据集,由55个研究提出。其训练/验证/测试划分在ImageNet层次结构的超类别上是不相交的,这通常要求比其他数据集更好的泛化能力。
  • 数据集划分:各自的训练/验证/测试划分包含20/6/8个超类别,这些超类别是351/97/160个子类别的超集。

CUB-200-2011 (CUB)

  • 应用:CUB是用于鸟类细粒度分类的数据集,由73个研究提出。它包含100/50/50个对象类别的训练/验证/测试划分。
  • 特殊处理:遵循最近的研究[80, 84],我们使用预裁剪到人工标注的边界框的图像。

CIFAR-FS

  • 基础:CIFAR-FS是基于CIFAR-100数据集构建的,由3个研究提出。遵循最近的研究[3],我们使用相同的训练/验证/测试划分,分别包含64/16/20个对象类别。

在这里插入图片描述
未完待续…

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

统一数据返回格式 及 可能遇到的问题;统一异常处理

统一数据返回格式 统一数据返回格式就像我们寄快递一样&#xff0c;不管你需要寄的东西具体是什么都需要将它打包到统一的快递箱中。 此时我们需要一个“快递箱”用来将返回的数据“装”在里面。这个类是根据业务情况来自行定义的。 Data public class Resp<T> {//200…

[嵌入式AI从0开始到入土]14_orangepi_aipro小修补含yolov7多线程案例

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注&#xff1a;等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间&#xff0c;后期会考虑出视频教程&#xff0c;务必催更&#xff0c;以防我变身鸽王。 第1期 昇腾Altas 200 DK上手 第2期 下载昇腾案例并运行 第3期 官…

【30秒看懂大数据】数据标准

知幽科技是一家专注企业数字/智化&#xff0c;围绕数据价值应用的一站式数智化解决方案的咨询公司&#xff0c;也包括了为企业提供定制化数据培训&#xff0c;力求做企业最好的数智化决策伙伴。 点击上方「蓝字」关注我们 30秒看懂大数据专栏 让您在有限的碎片化时间&#xf…

2024.2.15 寒假训练记录(25)

文章目录 CF 1917C Watering an ArrayCF 1894C Anonymous Informant CF 1917C Watering an Array 题目链接 稍微被卡到的点是&#xff0c;想到要枚举一开始进行多少次操作1的时候&#xff0c;没想到最多枚举2n次&#xff0c;因为n个元素带来的最大贡献就是n了&#xff0c;如果…

深度学习中的鲁棒性和泛化性有什么区别

鲁棒性&#xff08;Robustness&#xff09;和泛化性&#xff08;Generalization&#xff09;是评估模型性能时常用的两个术语&#xff0c;尤其在机器学习和统计建模领域。虽然这两个概念相关&#xff0c;但它们关注的方面有所不同。 鲁棒性 鲁棒性指的是模型在面对输入数据的…

PHP毕业设计图片分享网站76t17

图片分享网站主要是为了提高工作人员的工作效率和更方便快捷的满足用户&#xff0c;更好存储所有数据信息及快速方便的检索功能&#xff0c;对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性&#xff0c;遵循开发的系统优化的原则&#xff0c;…

浏览器扩展API 知识介绍

浏览器扩展API允许开发人员创建自定义的浏览器功能&#xff0c;以增强和个性化Web浏览体验。不同的浏览器提供不同的扩展API&#xff0c;但它们通常包括以下几个关键组件&#xff1a; 1. **Manifest文件**&#xff1a; - Manifest文件是扩展的配置文件&#xff0c;它定义了扩…

【C语言】Linux内核bind系统调用代码

一、Linux 4.9内核bind系统调用代码注释 int __sys_bind(int fd, struct sockaddr __user *umyaddr, int addrlen) {struct socket *sock; // 定义socket对象的指针struct sockaddr_storage address; // 用于存储从用户空间复制过来的地址int err…

谷歌搜索技巧与 ChatGPT 实用指南:提升你的在线生产力

探索谷歌搜索技巧&#xff0c;提升搜索效率 前言 在搜索三巨头百度、必应、谷歌中&#xff0c;谷歌在搜索精确度以及多语言兼容性方面有明显的优势。其次在国内想要使用谷歌搜索你需要会科学上网&#xff08;这里不说&#xff09;。 一.排除干扰内容&#xff08;广告&#xff…

【实战】一、Jest 前端自动化测试框架基础入门(四) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(四)

文章目录 一、Jest 前端自动化测试框架基础入门10.Jest 中的 Mock&#xff08;1&#xff09;toBeCalled&#xff08;2&#xff09;func.mock&#xff08;3&#xff09;mockReturnValue & mockReturnValueOnce 学习内容来源&#xff1a;Jest入门到TDD/BDD双实战_前端要学的测…

算法训练day29Leetcode491递增子序列46全排列47全排列Ⅱ

491 递增子序列 题目描述 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数相等&#xff0c;也可以视作递增序列的一…

【自我介绍】计算机软件工程人工智能研究生复试资料整理

1、JAVA 2、计算机网络 3、计算机体系结构 4、数据库 5、计算机租场原理 6、软件工程 7、大数据 8、英文 自我介绍 自我介绍 英文 自我介绍 英文 第一段: Good afternoon, dear professors, thank you for the chance to introduce myself. My name is Yan Zhen Xing, and I a…

已解决AttributeError: ‘str‘ object has no attribute ‘decode‘异常的正确解决方法,亲测有效!!!

已解决AttributeError: str object has no attribute decode异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 文章目录 问题分析 报错原因 解决思路 解决方法 总结 当你在Python编程时碰到“AttributeError: str object has no attribute d…

UVA1449 Dominating Patterns 题解

UVA1449 Dominating Patterns 题解 板子题诶。 解法 AC 自动机模板题&#xff0c;因为数据范围比较小&#xff0c;所以不加拓扑排序优化建图即可通过本题。这里简单介绍一下拓扑排序优化建图。 在查找时&#xff0c;每次都暴力的条 f a i l fail fail 指针是很消耗时间的&…

vue-进阶语法(四)

目录 v-model原理 v-model应用于组件 sync修饰符 ref 和 $refs&#xff08;重点&#xff09; $nextTick v-model原理 原理&#xff1a;v-model本质上是一个语法糖。例如应用在输入框上&#xff0c;就是 value属性 和 input事件 的合写。 作用&#xff1a;提供数据的双向…

压缩PDF的大小-Adobe Acrobat Pro

经常遇到上传的pdf太大&#xff0c;无法成功上传。 今天找到一个方法&#xff1a; 打开Adobe Acrobat Pro软件 → 文件 → 另存为其他&#xff08;H&#xff09;... →缩小大小的PDF 版本选择 4.0 最低的版本。 文件由9M变为1.5M。

Codeforces Round 924 (Div. 2) B - D

B. Equalize 题目&#xff1a; 思路&#xff1a;首先排序然后去重&#xff08;可以用set来去重&#xff09;&#xff0c;我们可以肯定的是&#xff0c;如果连续k个数最大值最小值的差小于等于n的话&#xff0c;那么这个长度为k的区间就符合答案要求&#xff0c;那么k就和答案…

###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯

前言&#xff1a;感谢您的关注哦&#xff0c;我会持续更新编程相关知识&#xff0c;愿您在这里有所收获。如果有任何问题&#xff0c;欢迎沟通交流&#xff01;期待与您在学习编程的道路上共同进步。 目录 一. 延时函数的生成 1.通过延时计算器得到延时函数 2.可赋值改变…

Linux释放内存

free -m是Linux上查看内存的指令&#xff0c;其中-m是以兆&#xff08;MB&#xff09;为单位&#xff0c;如果不加则以KB为单位。 如下图表示&#xff0c;&#xff08;total&#xff09;总物理内存是809MB&#xff0c;&#xff08;used&#xff09;已使用167MB&#xff0c;&…

【AI视野·今日NLP 自然语言处理论文速览 第七十九期】Thu, 18 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Thu, 18 Jan 2024 Totally 35 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Deciphering Textual Authenticity: A Generalized Strategy through the Lens of Large Language Semantics …