【开集识别论文解读】Few-Shot Open-Set Recognition using Meta-Learning——CVPR2020_小样本开集识别-程序员宅基地

技术标签: 机器学习  深度学习  人工智能  开集识别  

论文原文:https://arxiv.org/abs/2005.13713

本文介绍了一种新的开集元学习算法(PEELER)算法,实验结果表明,PEELER在小样本和大规模识别方面都达到了最先进的开放集识别性能。

1. Introduction

开集识别目前主要的研究是在大规模环境中,使用基于大规模分类器的解决方案。这些尝试通过后处理后验类分布来识别新类,定义一个“拒绝”类,该类使用人工生成的示例或从训练类中采样的示例,或两者的组合进行训练。本文试图将开集识别推广到大规模环境之外:大规模和小样本识别。主要有三个原因:首先,在所有设置下,开集识别都是一个挑战。其次,由于标记数据的稀缺性,小样本开集识别比大规模开集识别更难解决。第三,与开集识别一样,小样本识别的主要挑战是对训练期间看不到的数据做出准确的决策。由于这使得稳健性成为少数快照体系结构的主要特征,因此这些体系结构可能也擅长于开放集识别。

在这项工作中,研究了小样本问题的一类流行解决方案的开集性能,称为元学习(ML)。ML方法用情景训练取代了传统的小批量CNN训练。通过对每个类的一个子集和一个子集示例进行随机抽样,生成一个支持和查询集,并对其应用分类损失。这将使分类任务随机化,在每个ML步骤中对嵌入进行优化,从而生成更健壮的嵌入,减少对任何特定类集的过度拟合。我们将这个想法推广到开集识别,通过在每集中随机选择一组新类,并引入一个损失,使这些类的示例的后验熵最大化。这迫使嵌入更好地解释看不见的类,在目标类区域之外产生高熵后验分布。此解决方案至少有两大好处。首先,因为它利用了最先进的方法来进行小样本学习,所以它立即将开集识别扩展到小样本问题。其次,由于ML嵌入是鲁棒的,而开集识别是泛化的,因此即使在大规模环境中,后者的性能也会提高。本文还研究了特征空间中使用的度量对开集识别性能的作用,表明特定形式的马氏距离比常用的欧几里德距离具有显著的增益。

本文的贡献如下:

  • 一种新的基于ML的开集识别公式。将开集识别推广到小样本。
  • 将交叉熵损失和一种新的开集损失相结合,以提高开集在大规模和小样本环境下的性能
  • 一种基于高斯嵌入的ML开集识别算法。

2. Related Work

开集识别:开集识别解决的是一种测试时可能面对来自训练过程中看不到的类的样本的问题场景,目标是赋予开集分类器拒绝此类样本的机制。最早的深度学习方法之一是Scheirer等人的工作,该工作为分类器生成的Logit提出了一种极值参数再分配方法。后来的工作在分类模型或生成模型中考虑了这个问题。Schlachter等人提出了一种类内分割方法,其中使用闭集分类器将数据分割为典型和非典型子集,将开放集识别重新表述为一个传统的分类问题。G-OpenMax利用一个经过训练的生成器,从一个表示所有未知类的额外类中合成示例。Neal等人引入了反事实图像生成,其目的是生成无法分类到任何可见类的样本,为分类器训练生成额外的类。
所有这些方法都将看不见的类集减少为一个额外的类。虽然开放样本可以从不同类别中提取,并且具有显著的视觉差异,但他们假设特征提取器可以将它们全部映射到单个特征空间簇中。虽然理论上可能,但这很困难。相反,我们允许按可见类进行聚类,并将不属于这些集群的样本标记为不可见。我们相信这是一种更自然的方法来检测看不见的类。

分布外检测:与开集识别类似的问题是检测分布外(OOD)检测。通常,这是从不同的数据集检测样本,即不同于用于训练模型的分布。虽然[9]通过直接使用softmax分数解决了这个问题,但后来的工作通过提高可靠性来改进结果。这个问题不同于开集识别,因为OOD样本不一定来自看不见的类。例如,它们可能是seen类样本的扰动版本,这在对抗性攻击文献中很常见。唯一的限制是它们不属于训练分布。通常,这些样本比不可见类的样本更容易检测。在文献中,它们往往是来自其他数据集的类,甚至是噪声图像。这与开集识别不同,在开集识别中,看不见的类往往来自同一个数据集。

小样本学习:近年来出现了关于少镜头学习的广泛研究。这些方法大致可分为两个分支:基于优化和基于度量的方法。基于优化的方法通过展开反向传播过程来处理泛化问题。具体而言,Ravi等人提出了一个学习者模块,该模块经过培训可以更新到新任务。MAML及其变体提出了一种训练程序,其中参数根据二级梯度计算的损失进行更新。基于度量的方法试图比较支持样本和查询样本之间的特征相似度。Vinyals等人引入了片段训练的概念,其中训练程序旨在模拟测试阶段,该阶段与余弦距离一起用于训练循环网络。原型网络通过结合度量学习和交叉熵损失,引入了从支持集特征构建的类原型。关系网络利用神经网络隐式地探索了一对支持和查询特征之间的关系,而不是直接在特征空间上构建度量。

3. Classification tasks and meta Learning

在本节中,讨论了不同的分类设置和元学习,为在大规模和小样本设置下提出的开集识别解决方案提供基础。

3.1 Classification settings

Softmax classification

最常用的对象识别和图像分类深度学习架构是softmax分类器。这包括映射图像x\in \chi的嵌入到特征向量f_\phi(x)\in F,由多个神经网络层实现,softmax层具有线性映射,用于估计类后验概率

 其中\phi表示所有嵌入参数,w_k是一组分类器权重向量。最近的工作将度量学习与softmax分类相结合,使用距离函数实现softmax层

式中,\mu_k=E[f_\phi(x)| y=k]。softmax分类器通过训练集S=\{(x_i^s,y_i^s)\}_{ i=1}^{n^s}学习,其中y_i^s\in C^s,\forall i, C^s是一组训练图像的类,n^s是训练示例的数量。这包括找到使交叉熵损失最小化的分类器和嵌入参数 

在测试集T=\{(x_i^t, y_i^t)\}_{ i=1}^{n^t}上评估识别性能,其中y_i^t\in C^t\forall i, C^t是一组测试类,n^t是测试示例数。 

Closed vs. open set classification

闭集分类:训练集和测试集是相同的,即C^s=C^t

开集分类:C^t=C^s\cup C^u,在这种情况下,C^s中的类别表示为(训练期间)可见类,C^u中的类别表示为不可见类。

Large-scale vs few-shot recognition

在大规模识别环境中,训练示例的数量非常多,对于像ImageNet这样的数据集,达到数百万。相反,对于小样本识别,这个数字非常小,通常每个类少于20个示例。每个类有K个训练示例的小样本问题通常称为K-shot识别。请注意,测试示例的数量n^t在区分这两种设置方面没有任何作用。由于这些示例仅用于性能评估,因此测试集在这两种设置下应具有相同的基数。如表1所示,训练数据的规模和覆盖范围中的不同属性组合定义了不同的分类范式。在文献和本文的重点中,很少有小样本开放集设置的探索。

3.2 Meta-learning

 元学习(ML)解决“学会学习”的问题。元学习者依赖于元训练集MS = \{(S_i^s , T_i^s )\}_{i=1}^{N^s},其中(S_i^s , T_i^s )是第i个学习问题的训练和测试集,N^s是用于训练的学习问题的数量;元测试集MT = \{(S_i^t , T_i^t )\}_{i=1}^{N^t},其中(S_i^t , T_i^t)是第i个测试学习问题的训练和测试集,N^t是用于测试的学习问题的数量。给定MS,元学习者学习如何将一对(S,T)映射到利用S优化求解T的算法中。

具体流程:在元迭代i中,元模型h用前一个元迭代生成的元模型初始化。然后执行两个步骤。首先,元学习算法执行映射

h'=M(h,S_i^s)

为训练集S_i^s生成最优模型的估计h'。然后使用测试集T_i^s查找模型 h^*=argmin_h\sum_{(x_k,y_k)\in T_i^s}L[y_k,h'(x_k)]

对于适当的损失函数L,例如交叉熵,使用适当的优化程序,例如反向传播。结果h^* 最终作为元迭代i的最佳元模型返回。在测试期间,最终元模型h^* 元学习者使用元测试集MT中的训练集S_i^t生成新模型

h''=M(h^*,S_i^t)

并用T_i^t评估其性能。

 ML for few-shot recognition.

 在本文中,采用了流行的原型网络体系结构。在这种情况下,ML主要是一种随机化过程。元训练集MS是通过对训练和测试类进行采样生成的。模型h是公式(2)的softmax分类器,元学习映射实现了高斯平均极大似然估计

Benefits of ML for open-set classification. 

ML程序与用于训练softmax分类器的标准小批量程序非常相似。除了使用片段训练而不是更流行的小批量训练外,还有两个主要区别。首先,通过T_i^s而不是S_i^s中的示例的反向传播来更新f_\phi。其次,将所有类中随机示例的小批量替换为S_i^sT_i^s中包含的N个类的子集中的示例。将每个set学习的分类任务随机化,迫使嵌入f_\phi更好地推广到看不见的数据。这种特性使ML成为小样本学习的一个很好的解决方案,因为训练数据缺乏对类内变化的良好覆盖。在这种情况下,在训练期间,将看不到来自已知类的大量测试样本子集。同样的属性使ML成为开集分类的一个很好的候选者,根据定义,分类器必须处理来自不可见类的不可见样本。

4. Meta Learning-based open-set recognition 

4.1. Open-Set Meta-Learning

如图1所示,开放集元学习(PEELER)依赖于元训练集MS = \{(S_i^s , T_i^s )\}_{i=1}^{N^s},元测试集MT = \{(S_i^t , T_i^t )\}_{i=1}^{N^t}。与标准ML相比,唯一的区别是(S,T)集是开放集。虽然训练集S与标准ML中使用的训练集S相同,但测试集T增加了看不见的类。当ML步骤保持如(4)所示时,(5)的优化步骤变为

其中,C_i^s(C_i^u)T_i^s的可见(不可见)类集合,L_c[,.]是应用于已知类的分类损失(通常为交叉熵损失),L_o是应用于S_i^s中未看到类的开集损失。 

Few-shot open-set recognition.

小样本设置需要对构成支持集和查询集的类进行采样。与闭集小样本识别类似,第i集的支持集S_i^s是通过对N个类和每个类的K个示例进行采样获得的。这定义了已知类C_i^s。但是,查询集T_i^s是由这些类与M个额外的不可见类C_i^u组合而成的。这些支持和查询集在(8)中使用。

Large-scale open-set recognition.

在大规模环境中,可见类有大量的示例,并且经过良好的训练,无需重新采样。然而,对不可见的类进行重采样仍然是有利的,因为它可以使嵌入更好地泛化到这些类。在每一个set中,从类标签空间中随机抽取M个类,形成一组不可见的类C_i^u,其余的类作为可见的类C_i^s使用。没有支持集S_i^s,就不再需要(4)的元学习步骤。相反,依赖一组可见类来调整模型,使其仅将样本分类到这些类中,即映射

损失函数(8)仍然适用。

Open-set loss. 

在推理过程中,当面对来自不可见的类的样本时,模型不应将很大的概率分配给任何类。在这种情况下,如果所见类别中的最大类别概率max_k p_\phi(y=k | x)很小,则可以拒绝样本。为了实现这一点,学习算法应该最小化C_i^u样本在可见类上的概率。这可以通过最大化所见类概率的熵来实现,即使用负熵作为损失函数。

4.2 Gaussian Embedding

 虽然PEELER是一个通用框架,但在这项工作中提出了一个基于原型网络架构的实现方案。首先定义一组类原型,并将与最近的类原型有较大距离的样本分配给这组看不见的类。对于低级分类,类原型是(7)的类平均值。对于大规模分类,假设嵌入在网络中并通过反向传播学习的固定原型。

原型网络通常使用欧几里德距离来实现,即:

这意味着每一类的特征都遵循均值c_k和对角协方差\sigma^2I的高斯分布,其中\sigma由所有\Sigma _k类共享。虽然对于闭集小样本学习是合理的,但当引入开集样本时,这可能是非常不理想的。图2说明了具有三个可见类和两个不可见类的设置的问题。尽管如图2(a)所示,嵌入使得所看到的类呈球形分布并具有相同的协方差,但在训练期间看不到的开放集样本仍然以随机位置嵌入到特征空间中。因此,尽管图2(b)中所示的闭集分类器的最佳边界与图2(c)中所示的距离的轮廓相匹配,但对于开集识别来说,它们并不是最佳的。事实上,如图2(d)所示,可见类和不可见类之间的最佳边界形状甚至可能因类而异。 

为了说明这一点,本文假设k类的平均值\mu_k和协方差\Sigma_k为高斯分布。因此,欧几里德距离(11)被马氏距离取代 

为了保持参数数量可控,假设所有协方差矩阵都是对角的,即\Sigma_k=diag(\sigma_{k1},\sigma_{k2},...,\sigma_{kM}),精度矩阵A_k=\Sigma_k^{-1}用于简化计算。与类原型类似,精度矩阵的学习取决于识别设置。对于大规模开集识别,A_k是通过反向传播直接学习的网络参数。在小样本设置下,在支持样本可用的情况下,我们引入了一个新的嵌入函数g_\phi和可学习参数\phi,并定义了

 

5. Experiments 

将该方法与最新的开放集识别方法(SOTA)进行了比较。继Neal等人之后,我们评估了分类精度和开放集检测性能。所有的训练都是基于封闭集合类的训练样本。对于测试,我们使用来自训练和开放集类的测试样本。分类精度用于衡量模型对封闭集样本(即来自封闭集类的测试样本)的分类程度。AUROC(ROC曲线下面积)度量用于衡量模型在所有测试样本中检测开放集样本(即来自开放集类的测试样本)的程度。

5.1 Large-Scale Open-Set Recognition

以往大多数关于开集识别的工作都是针对大规模环境而设计的。在这里,评估了CIFAR10和扩展miniImageNet上的PEELER。CIFAR10由10个类的60000个图像组成。首先随机选择6个类作为闭集类,其他4个类作为开集类。结果在闭/开集类的5个随机分区上求平均值。扩展的miniImageNet是为小样本学习而设计的。我们使用64个训练类别和每个类别600张图像作为闭集训练数据,而每个类别的300张额外图像用于闭集测试。来自20个测试类别的图像用于开放集测试。

训练在CIFAR10上,从每个set的6个闭集类中随机抽取2个样本以应用开集损失,其余4个类用于训练分类。在miniImageNet上,闭集/开集分区是固定的。

Baseline:OpenMax、G-OpenMax和Counterfact,以及分布外SOTA方法,Confidence。

5.2. Few-Shot Open-Set Recognition

 数据集。mini Imagenet,64类用于训练,16类用于验证,20类用于测试。

训练开放集问题遵循5-way小样本识别设置。在训练过程中,每个set从训练集中随机选择10个类,5个类作为封闭集,另5个类作为不可见类。所有支持集样本都来自闭集类。查询集包含来自封闭集类的样本,以及来自开放集类的样本。使用相同的策略从测试集中抽取评估集。评估重复600次,以尽量减少不确定性。

Baseline:GaussianE + OpenMax, GaussianE + Counterfactual

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cute_cxy/article/details/125103064

智能推荐

数据安全流通的解决方案(一)_数据作为产生价值的一个源头,面临着数据要素流动与价值释放,但这与数据治理与隐私-程序员宅基地

文章浏览阅读1.9k次。作者介绍@汪溯阿里云DataTrust主架构师/高级安全专家“数据人创作者联盟”成员。01前言我今天在这个分享首先会以介绍这个云上的安全,威胁和挑战以及阿里云的一个应对措施为切入点,来介绍阿里云的产品的整个一个蓝图,然后后面我会根据这个阿里云的安全的基础能力,来介绍我们这个data trust的一些整体的架构。02安全挑战首先一个就是说我们先来谈一下这个当前云的安全挑战和趋势今年应该是这个云运算在整个全社会的关注度是非常高的,因为我们国家现在是大力提倡数字.._数据作为产生价值的一个源头,面临着数据要素流动与价值释放,但这与数据治理与隐私

VS2019 创建.net 5.0项目_vs2019 .net5-程序员宅基地

文章浏览阅读7k次,点赞3次,收藏2次。1、VS工具->获取工具和扩展->单个组件确认已经安装.net 5.02、创建 WIN APP项目工具新建->项目3、更改目标框架选中项目右键属性_vs2019 .net5

打开Anaconda出现Navigator Error,check_hostname requires server_hostname错误解决方案_navigator start error-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏7次。原因:代理原因,你应该开启了科学上网的代理,新版的urllib3 中,代理的主要架构已更改,可以在这里阅读。解决方式:一、简单明了,关闭你的科学上网软件,或者关闭手动代理设置二、如果不想关闭这个,那就可以降低urllib3的版本使用命令pip install urllib3==1.25.11 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com然后就可以打开了..._navigator start error

括号匹配算法的C++实现_使用c++编写一个数据结构的检查括号匹配性的代码-程序员宅基地

文章浏览阅读259次。我们遍历输入的字符串,当遇到一个左括号时,将其压入栈中;当遇到一个右括号时,检查栈顶元素是否是与之匹配的左括号。如果不是匹配的左括号,或者栈为空,则括号不匹配。最后,如果栈为空,说明所有的括号都匹配。通过这种简单而直接的栈操作,我们可以有效地检查括号匹配,并在编程中避免出现括号不匹配的错误。括号匹配是一种常见的编程问题,涉及到检查给定的字符串中的括号是否正确匹配。你可以尝试修改示例字符串中的括号,或者使用其他字符串进行测试,以验证括号匹配算法的正确性。这表明示例字符串中的括号是正确匹配的。_使用c++编写一个数据结构的检查括号匹配性的代码

CISSP考试指南笔记:1.4 安全框架part5_cissp 安全框架行业标准-程序员宅基地

文章浏览阅读186次。这一节非常重要,在后面章节都会遇到,而且考试都或多或少会遇到。流程管理开发1.ITIL。ITIL(以前的信息技术基础设施图书馆)是由英国中央计算机和电信局(该机构在1990年代末被政府商务办公室(Office of Government Commerce,简称OGC)并入)在20世纪80年代开发的。它现在由AXELOS控股,AXELOS是英国政府和私人公司Capita的合资企业。ITIL是IT服务管理最佳实践的事实标准。ITIL的创建是因为越来越依赖信息技术来满足业务需求。ITI_cissp 安全框架行业标准

Office 2016 简体中文批量授权版镜像下载_ed2k://|file|sw_dvd5_office_professional_plus_2016-程序员宅基地

文章浏览阅读6.3k次。Office 2016 简体中文批量授权版镜像下载(含Visio、Project) 此处整理了office2016 VOL大客户批量授权版下载资源,包含了office2016 32位+64位版本、project2016 32位+64位版本、Visio2016 32位+64位版本。其实office2016的大客户版和批量授权版在功能上并没有任何区别,只是在授权方式上不同而已,相对来说,VOL大客户版激活更加简单,下面提供的资源也都是VL大客户版。(零售版本资源请前往itellyou查看下载)..._ed2k://|file|sw_dvd5_office_professional_plus_2016_64bit_chnsimp_mlf_x20-424

随便推点

JavaGUI——swing组件基础(五)拆分窗格JSplitPane_swing 分割数据区域-程序员宅基地

文章浏览阅读4.4k次,点赞5次,收藏17次。目标图:界面分析:看到图片占据了大部分空间,立刻想到了边界布局(BorderLayout)。左右两边都可以从头到尾显示,说明是拆分窗格(JSplitPane)。基本布局想好以后,看右部,可以用标签(JLabel)来导入图片。再看左部,是个列表框(JList)和滚动窗格(JSrocllPane)。介绍一下拆分窗格:拆分窗格(JSplitPane)是容器类组件,可以把容器按指定方向(横/竖)拆分。其构..._swing 分割数据区域

2021-02-19产品经理学习之第三阶段运营_图文混排和图文分离-程序员宅基地

文章浏览阅读217次。一:.拉新拉新的定义:从0开始积累用户的过程拉新的方法:名人效应(本身团队自带资源;有钱请明星;没钱自己上)新媒体运营(微博;抖音;快手;微信公众号)地推(发传单;优点-吸引眼球;缺点-流量少,效率低)–目标用户明确异业合作(两个公司以上进行合作,用户群体一样但是功能不同的公司)—合作尽量不要大的功能改动机构获客(合作关系)目标群体重合度较高机构进行合作,以此来获取用户的方式-----友盟 /神测数据/诸葛IO 第三方数据服务商一般是TO B 的公司3.冷启动的定义:_图文混排和图文分离

论文学习——多度量水文时间序列相似性分析_多元时间序列相似度 溯源-程序员宅基地

文章浏览阅读1k次。多度量组合可以提高相似性分析的准确性本文方法:首先使用多个单一相似度量分别计算相似时间子序列;然后采用改进的BORDA投票法对各度量分析得到的相似子序列进行组合和排序,得到最终的相似时间子序列。_多元时间序列相似度 溯源

(2019.10.27已解决)Linux启动报错:undefined symbol: EVP_CIPHER_CTX_cleanup_attributeerror: /lib64/libcrypto.so.3: undefined s-程序员宅基地

文章浏览阅读4k次。如题所示。报错原因是由于openssl升级到1.1.0之后导致[^1]。找到openssl.pyfind \ .name openssl.py查找openssl.py所在路径,找到openssl.py文件。用vim打开替换cleanup将文中libcrypto.EVP_CIPHER_CTX_cleanup替换为libcrypto.EVP_CIPHER_CTX_reset..._attributeerror: /lib64/libcrypto.so.3: undefined symbol: evp_cipher_ctx_clea

iOS常用第三方框架_ios sf2是什么格式意思-程序员宅基地

文章浏览阅读2.4k次。iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角),ios冰山一角图像:1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。 下载:https://github.com/mwaterfall/MWPhoto_ios sf2是什么格式意思

尚硅谷2020最新版宋红康JVM教程持续更新中(java虚拟机详解,jvm从入门到精通) - ppt课件_尚硅谷jvmppt百度网盘-程序员宅基地

文章浏览阅读6.7k次,点赞12次,收藏69次。尚硅谷宋红康JVM教程(java虚拟机详解,jvm从入门到精通)_哔哩哔哩 -bilibilihttps://www.bilibili.com/video/av83622425文章中来源于Spirit_wolf老师一边看视频一边截图PPT的整理:https://gitee.com/Spirit_wolf/jvm-video-shk谢谢~_尚硅谷jvmppt百度网盘

推荐文章

热门文章

相关标签