元学习方法解决CDFSL以及两篇SOTA论文讲解

news2024/11/24 4:34:48

来源:投稿 作者:橡皮
编辑:学姐

带你学习跨域小样本系列1-简介篇

跨域小样本系列2-常用数据集与任务设定详解

跨域小样本系列3:元学习方法解决CDFSL以及两篇SOTA论文讲解(本篇)

跨域小样本系列4:finetune方法解决CDFSL以及两篇SOTA论文讲解

跨域小样本系列5:除此之外一些奇门异路的论文讲解

CDFSL设置的SOTA论文选讲

主要贡献: 提出了一种带有批量谱正则化(BSR)的特征变换集成模型。提出了在特征提取网络之后,通过不同的特征变换来构建一个集成预测模型。

然后,提出的模型在目标领域进行微调,以解决小样本分类问题。

进一步添加标签传播、熵最小化和数据增强模块来缓解目标域标记数据的不足。

1.1整体框架:Feature Transformation Ensemble Model

作者通过增加特征表示空间的多样性来构建集成模型,同时保持每个预测分支网络对整个训练数据的使用。

1.2创新1:Batch Spectral Regularization(BSR)

受到先前研究启发:惩罚特征矩阵的较小奇异值可以帮助缓解微调中的负迁移。

作者将该惩罚器扩展到全谱,并提出了一种批处理谱正则化(BSR)机制来抑制批处理特征矩阵在训练前的所有奇异值,旨在避免对源域的过拟合,提高对目标域的泛化能力。

该正则化方法同样适用于集成模型的每个分支网络。

对于一种基于SGD的训练算法,我们使用批量训练。给定一批训练实例(X_B,Y_B)其特征矩阵为A=[f^E_1,...,f^E_b],其中b为batch sizef^E_i=F^E(X_i)为每个batch中第i个实例的特征向量。

BSR:

其中 σ1,σ2,…,σb 为每个batch的特征矩阵A的奇异值,每个batch的谱正则化训练损失为:

1.3创新2:Label Propagation(LP)

由于目标域中缺乏标记数据,使用支持集进行微调的模型很容易对查询实例做出错误的预测。提出了一种标签传播(LP)方法,利用提取的特征空间中未标记的测试数据的语义信息,对原始分类结果进行细化。在使用微调分类器Ct的查询实例上,给定一个预测分数矩阵 ,保持每个类别中预测分数最高的列,并将其他值设置为0,只传播最可信的预测。然后,我们基于提取的特征F^E(X_Q)查询实例上构建k-NN图。

使用每一对图像之间的平方欧氏距离

:确定k-NN图。基于RBF核的亲和力矩阵W的计算方法如下:

然后进行标签传播,提供以下精细化的预测分数矩阵:

其中I为单位矩阵, \alpha \in[0,1]为权衡参数。在LP之后,

被用作第i个图像的预测类。

1.4创新3:Entropy Minimization(EM)

通过最小化无标签查询集上的预测熵,将半监督学习机制扩展到目标域的fine-tuning阶段:

将这一项加入到支持集的每批(XsB, Y sB)上原有的交叉熵损失中,形成一个转导性的微调损失函数:

1.5数据增强Data Augmentation(DA)

利用数据增强(DA)策略,补充支持集,使模型在更多的变化中学习。特别地,作者使用一些操作的组合,如图像缩放,随机裁剪,随机翻转,随机旋转和颜色抖动为每个图像生成一些变体。可以对增强支持集进行微调。同样的增强也可以用于查询集,其中可以生成每个图像的多个变体,以共享相同的标签。因此,对每幅图像的预测结果可以通过平均同一幅图像的所有增强变量的预测结果来确定。

2.实验结果

ACM Multimedia 2021

主要贡献: 为了解决域跨度较大的FSL问题,重新研究了中层特征,以探索其可转移性和可鉴别性,这在主流FSL工作中很少研究。

为了增强中层特征的可分辨性,提出了一个残差预测任务来探索每类特征的独特性。

提出的方法不仅适用于域跨度较大的FSL问题,而且适用于域内FSL和域跨度较小的CDFSL问题。以上两种设定下,在六个公开数据集上进行实验实现SOTA。

1.先验事实

作者首先给出了一些先验事实:

上图:一般域中的样本很容易获得,而在可能远离一般域的特殊域(例如医疗数据)中可能很难获得。为了将知识从一般域中易于获得的基类转移到遥远领域中的新类(跨领域小样本识别的一个具有挑战性的子集),我们重新研究了比高级模式(eg.翅膀、四肢)更具可转移性的中级模式(eg.圆圈、点)。

下图:在将基类的训练模型转移到较远跨域数据集时,对ResNet不同块提取的特征进行定量评估,其中中级特征(第3和第2块)与高级特征(第4块,即最后一层)相比,性能更好。

2.作者的insight:

来自较浅(中层)层的特征比来自较深层层的特征更容易转移。

假设每个类都有其独特的特性,这不能被其他类的高级模式很容易地描述,而中级模式可以更有效地描述它。

直观地说,用狗的知识来描述斑马,很容易把脚、尾巴等高级模式转移到斑马身上。但对于斑马独特的特征,即斑马条纹来说,很难将高级模式特征进行转移,这时候就需要使用中间特征。

为了提高中级特征的可识别性,作者提出了一个使用已知类进行训练的残差预测任务,该任务鼓励中级特征学习每个样本中的判别信息。

3.解决方案:

3.1总体框架:

上图:首先提取每个基类样本(例如,斑马)的特征,骨干网络通过分类损失进行训练。然后,对于每个样本,作者设计使用其他类别(例如狗、鸟、人)的高级模式来重建提取的特征(高级重建),并从提取的特征中删除重建的特征(例如,没有条纹的斑马,可能是白马),输出判别残差特征(例如条纹),包含适用于中级特征学习的该样本的判别信息。最后,作者约束中间层特征来预测这种判别残差特征,从而推动中级层的特征具有判别性。

下图:在测试新类时,分别为遥远域和域内/近邻域的新类提供了两种类型的特征。

3.2 高层特征重建

其中:

X:样本;y:X的标签;F(x):使用其他基类的高级模式来表示(重建)提取的特征。

W:基类FC参数(视作基类原型),每一行W(蓝),包含相应类的总体信息,它指的是高级模式,因为它与主干的最后一层存在于相同的特征空间中。

因此,原型被用来重建f(x),其他N-1种基类的原型对于x表示为原型集。具体地说,使用提取的特征f(x)来应用最近邻搜索,并查询最高余弦相似的原型形成邻近的原型集,然后,重建特征计算为所有查询原型的平均值。

3.3正交剩余项设置

直观上说,剩余项和高级重构项不应该相互代表,这意味着它们应该是正交的。

残余特征为提取特征与重建特征之差进行计算。来自多个中层的终极特征将被动态加权,以线性预测残差项。

每个圆代表一个标量,扇形区域中的每个箭头表示一个L2归一化向量,蓝色圆圈表示层权重。由于向量可以分解为两个方向(L2归一化向量)和长度(L2范数),我们分别预测残差项的方向rc(x,W),即棕色箭头和长度,即棕色圆圈。

最终预测向量的方向rchat和长度rshat是每个方向的加权组合rl,其中rslhat是从中间层转换而来的,并通过层特定权重和als加权(蓝圆圈)而来。

4.实验结果:

点击下方卡片关注《学姐带你玩AI》🚀🚀🚀

持续更新跨域小样本系列

220+篇人工智能必读论文PDF免费领

码字不易,欢迎大家点赞评论收藏!

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

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

相关文章

Lesson 6.5 机器学习调参基础理论与网格搜索

文章目录一、机器学习调参理论基础1. 机器学习调参目标及基本方法2. 基于网格搜索的超参数的调整方法2.1 参数空间2.2 交叉验证与评估指标二、基于 Scikit-Learn 的网格搜索调参1. sklearn 中网格搜索的基本说明2. sklearn 中 GridSearchCV 的参数解释3. sklearn 中 GridSearch…

漏洞扫描器之AWVS

数据来源 01 漏洞扫描器及AWVS介绍 》漏洞扫描 》常见漏洞扫描工具 网络上公布的付费的或者免费的漏洞扫描工具、脚本多种多样。 √ 针对某类漏洞的:sql注入(sqlmap)、weblogic(weblogicscan) √ 针对某类CMS的: wordpress( wpscan)、 …

数据分析到底该怎么学呢?讲真,真不难!

这几年,“数据分析”是很火啊,在这个数据驱动一切的时代,数据挖掘和数据分析就是这个时代的“淘金”,懂数据分析、拥有数据思维,往往成了大厂面试的加分项。 比如通过数据分析,我们可以更好地了解用户画像…

CSS 重新认识 !important 肯定有你不知道的

重新认识 !important 影响级联规则 与 animation 和 transition 的关系级联层cascade layer内联样式!important 与权重 !important 与简写属性!important 与自定义变量!important 最佳实践 在开始之前, 先来规范一下文中的用于, 首先看 W3C 中关于 CSS 的一些术语定义吧. 下图…

微信小程序如何获取用户信息

自我介绍我是IT果果日记,微信公众号请搜索 IT果果日记一个普通的技术宅,定期分享技术文章,欢迎点赞、关注和转发,请多关照。微信小程序用户基本信息有哪些?除了基本信息,微信还会提供openId和unionId&#…

微服务项目简介

项目简介 项目模式 电商模式:市面上有5种常见的电商模式,B2B、B2C、 C2B、 C2C、O2O; 1、B2B模式 B2B (Business to Business),是指 商家与商家建立的商业关系。如:阿里巴巴 2、B2C 模式 B2C (Business to Consumer), 就是我们经常看到的供…

6个月软件测试培训出来后的感悟 —— 写给正在迷茫是否要转行或去学软件测试的学弟们

本人刚从某培训机构学习结束,现在已经上班一个月了。这篇文章我不会说太多的知识点,或噱人去培训机构学习的话语,仅作为一个普通打工者的身份,来写给那些对于软件测试未来发展、薪资待遇等不清楚的正在为家庭,解决信用…

2023年中国数字化活动行业专题报告

易观:2023年2月,易观发布《2023年中国数字化活动行业专题报告》。报告主要分析了中国数字化活动市场发展背景与现状,数字化活动厂商的主要商业模式及其运作模式,典型案例,未来发展趋势洞察等。同时,易观分析…

网上流量卡可靠吗,网上的这些大流量卡你知道是怎么来的吗?

网上怎么这么多五花八门的流量卡,这些大流量卡是怎么来的你都知道吗?所谓的大流量卡,是因为每个省份为了拉新用户所自行包装的产品,一般是在在基础套餐上增加了一些流量包和充值送话费活动,然后得出来一个产品套餐&…

【动态规划】01背包问题(滚动数组 + 手画图解)

01背包除了可以用形象的二维动态数组表示外,还可以使用空间复杂度更低的一维滚动数组。 目录 文章目录 前言 一、滚动数组的基本理解 二、确定dp及其下标含义 三、确定递推公式 四、确定初始化 五、确定遍历顺序 1.用物品(正序)遍历背…

【刷题篇】链表(上)

前言🌈前段时间我们学习了单向链表和双向链表,本期将带来3道与链表相关的OJ题来巩固对链表的理解。话不多说,让我们进入今天的题目吧!🚀本期的题目有:反转单链表、链表的中间结点、合并两个有序链表反转单链…

XCP实战系列介绍09-基于Vehicle Spy进行XCP测量步骤详解

本文框架 1.概述2. 基于SPY进行测量步骤2.1 建立ECU和vspy3通信2.2 DAQ数据设置2.3 测量变量的记录2.3.1 需要记录变量的选择2.3.2 Log保存3. 在MEP中观测变量3.1 添加观测变量3.2 实时更新变量的值1.概述 在介绍了ASAP2 Editor进行A2l文件的生成,及如何使用Vehicle Spy进行X…

点云深度学习系列博客(五): Point Transformer方法概述

在上一篇博客《注意力机制原理概述》中,我们介绍了注意力机制的基本原理以及一些技术细节。基于注意力机制的深度学习模型在起初设计时,针对的是NLP问题。包括词元分析,翻译等语言处理任务,注意力机制能够训练超大规模数据&#x…

活动星投票午间修身自习室制作在线投票投票制作网页

“午间修身自习室”网络评选投票_免费小程序投票推广_小程序投票平台好处手机互联网给所有人都带来不同程度的便利,而微信已经成为国民的系统级别的应用。现在很多人都会在微信群或朋友圈里转发投票,对于运营及推广来说找一个合适的投票小程序能够提高工…

SpringBoot整合(三)SpringBoot发送邮件

使用SpringBoot发送邮件 邮件发送其实是一个非常常见的需求,用户注册,找回密码等地方,都会用到,Spring Boot 中对于邮件发送,提供了相关的自动化配置类,使得邮件发送变得非常容易。 1、前置工作 目前国内…

[SSD固态硬盘技术 9] FTL详解

了解硬件特性有助于我们针对特性进行进一步的探索与优化。为了使闪存成为存储数据的友好介质,我们需要一种机制:将更新的信息写入新的空页,然后将 所有后续读取请求转移到其新地址确保新编程的页面均匀分布在所有可用闪存中,以便均…

【Python入门第五天】Python 变量

创建变量 变量是存放数据值的容器。 与其他编程语言不同,Python 没有声明变量的命令。 首次为其赋值时,才会创建变量。 实例 x 10 y "Bill" print(x) print(y)运行实例 变量不需要使用任何特定类型声明,甚至可以在设置后更改…

Jupyter 使用Anaconda 虚拟环境内核

Anaconda 虚拟环境中使用Jupyter Notebook 安装好Anaconda之后,进入Anaconda Prompt,创建虚拟环境,env_name是创建的环境的名字。 conda creat -n env_name python3.9等虚拟环境搭建好之后,激活环境。 conda activate env_name…

网络流与图(一)

线性规划问题是运筹学最基本的问题,我们已经学过不少的解决方法,今天继续学习针对线性规划问题的另一种高效算法——网络流问题(network flow problem)1网络流模型为了更好介绍该算法来龙去脉,与以往一样,从…

MongoDB 删除文档

MongoDB 删除文档 MongoDB remove() 、deleteMany()、deleteOne()函数是用来移除集合中的数据。 remove()删除文档 remove() 方法的基本语法格式如下所示&#xff1a; db.collection.remove(<query>,<justOne> ) 如果你的 MongoDB 是 2.6 版本以后的&#xff0c…