CVPR2019 少样本学习

2024-09-04 16:32
文章标签 学习 样本 cvpr2019

本文主要是介绍CVPR2019 少样本学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

分类任务上的少样本学习

1.Edge-Labeling Graph Neural Network for Few-shot Learning(classification)

  • paper: https://arxiv.org/abs/1905.01436

  • code: https://github.com/khy0809/fewshot-egnn

  • 图网络(Graph Neural Network, GNN)由于节点与节点之间具有相关性可以实现更丰富的信息传递,在近期来涉及到的推理问题(Reasoning)或者是视觉问答(Visual Question Answering)等任务上都有不少的尝试,而少样本学习(few-shot learning)的难点通常是在于可用样本有限,所以样本之间潜在的关联性在学习过程中就变得非常重要了,通用的前馈网络很难捕捉到样本之间丰富的关联信息,图网络正好可以弥补这一点:图网络在节点之间构建的丰富的连接,使得其能够利用节点之间的信息传递机制得到邻节点的信息并且进行聚合,通过一定复杂程度的图网络,就能够表达数据个体之间丰富的关联互动特征。

    常见的图网络关注于节点的表示与特征嵌入,为了更充分的利用节点的关联信息,本篇论文提出了边标记图网络(Edge-Labeling Graph Neural Network,EGNN),类比于关注节点信息的 GNN,EGNN 通过迭代更新连接边的信息直接可以反映节点之间的类内相似度(intra-cluster similarity)与类间差异度(inter-cluster dissimilarity)从而获取正确的类别分配结果。另一方面,EGNN 在无需 re-train 的情况下能很好地适应不同数目的类别,并且很容易扩展到转换式推理(Transductive Inference)上面,同时在现有的 GNN 方法中,EGNN 在分类任务上实现了大幅的性能提升。

  • 在图中首先更新节点特征,之后再更新节点之间连接边的特征,因为一组节点的特征有变化,进而也会影响到连接边上的特征,以及衡量节点之间的类内相似度(intra-cluster similarity)与类间差异度(inter-cluster dissimilarity)的参数也会对应得到更新,在边和点的特征都得到更新之后,计算边损失(Edge Loss),用 episodic training 的训练策略来更新 EGNN 的权重。

  • 接下来我们会从少样本分类学习的问题定义入手,结合一个二分类的例子来阐述 EGNN 的各个模块与更新算法规则,帮助我们理解 EGNN,最后顺延扩展到论文实验中真正部署的多分类任务。少样本分类顾名思义就是通过每个类别极少或较少的训练样本来学习泛化而且鲁棒的分类器能够保持较高的准确度并且具有扩展性从而识别新的类别。由此,每个分类的任务 T(Task)都包含一个支持集 S(Support Set)与查询集 Q(Query Set),支持集是一个已包含标签的数据集,查询集则是未经标记的数据集,也正是学好的分类器进行验证的一个数据集。如果支持集 S 包含 N 个类,每个类别对应有 K 个标记数据,那么我们称此类问题为 N 路 K 样本分类问题(N-way K-shot classification problem),现在我们假设手上有两个类别的数据,支持集 S 中每个类别有两个样本,查询集 Q 有一个未标记样本(类似测试样本,我们已知标签,但是对于网络并不透露它)我们将这个问题归为 2 类 2 样本问题,参考下图 EGNN 框架图,我们一个模块一个模块来理解推导:

  • 原始的两类五个样本数据都是图像,所以首先

  • a)我们将图像输入到卷积神经网络(Convolutional Neural Networks)中提取特征,得到数据样本的特征表示,之后根据已有特征建立邻接边并初始化,形成一张全连接图(fully-connected graph),每一条边都指代着它连接的两个节点的关系类型。图的构造用数学形式表示为 G=(V,E;T),对于每一个任务 T,一个图对应着一个节点集合 V,一个边集合 E。对于支持集的边标签我们采用节点的标签进行表示如下:

  • 至于边的特征 e 我们一个数值范围在 [0,1] 区间内的二维向量来分别表示该条边连接的两个节点类内相似度(intra-cluster similarity)与类间差异度(inter-cluster dissimilarity),图网络同样也是多层网络,每层均可以按照类似的规则进行初始化。

  • b)图初始化完成之后,我们就根据之前提到过的信息更新流程,首先更新节点特征:

  • 之后就是根据变换后的节点信息来更新边的特征:

  • c)在数次的节点、连接边特征迭代更新之后,我们可以从最近更新的边特征上得到最终的节点类别预测,用非常直接的加权投票(weighted voting)方法,结合支持集 S 里的样本标签以及它们与查询样本连接边的预测值,我们就可以很容易的推出待查询样本的所属类别,节点的预测概率可以表达为:

  • 同样地,EGNN 的推理过程算法正如上述各个模块流程所述,详细的网络模块图与算法流程图如下:

  • 综合看下来这篇文章在构思和实现方面都非常有创新,充分利用了图结构学习节点关联的特性,实验结果也非常有说服力,是非常有亮点的一个作品,也对之后图网络相关的工作提供了更多的启发。

2. LaSO: Label-Set Operations networks for multi-label few-shot learning (classification, multi-label)

paper: https://arxiv.org/abs/1902.09811

数学中集合运算的基本概念:集合的并(Union),交(Intersection),补(Complement)三大运算对于我们都不陌生。但是今天这篇论文提出,小样本学习(few-shot learning)情况下的图像多标签分类(multi-label classification)也能够实现类似集合一样的交,并,补操作。

对于小样本学习来说,核心难点经常是可用训练样本数目不足,解决的方法也多是寻求各种形式的样本合成(Example Synthesis),当然样本合成基本都是针对于单标签的普通分类情况,LaSO(Label Set Operation networks)在此基础上,提出了一个应用于多标签小样本分类场景下的样本合成方法,将一组图片输入到 LaSO 网络里,获取两张图片各自的特征,并将他们结合起来,学习在特征空间上的并集特征(union feature),交集特征(intersection feature)以及补集特征(compelemt feature)表示,这三个学习到的特征也会对应我们在多分类上的语义标签的并,交,补操作。

举例子来说明:我们希望训练一个野外各种类动物的分类器,然而目前我们手上仅有的却都是少量的关在笼子里的动物样本图片,笼中动物显然无法很好地泛化和学习到野外动物的特征表示,所以在 LaSO 提出的场景下,我们先将一张笼中公鸡与一张笼中兔的图片配位一对输入到网络中,让 LaSO 不只是学习到兔和公鸡的特征,同时还有我们完全没有涉及的笼子的特征,而笼子的特征恰好是两张输入图片的交集(intersection),我们取出这样的交集特征,同时再次输入一只笼中老虎的照片获得笼中虎特征,此时对笼中虎特征求它与笼子特征的补集(complement),我们从一定程度上就获得了「无笼子」的野生老虎的特征了,示意图如下:

接下来我们一起看看 LaSO 的整个模型结构:

LaSO 模型接受一对图片 X,Y 为输入,分别进入骨干网络 B(文章采用 InceptionV3 以及 Resnet 作为特征提取网络)进行特征提取得到特征 Fx,Fy。在对两张图片的特征进行连接之后,根据我们希望学到的图像中个体类别的交,并,补,所以连接好的特征分别进入 LaSO 的交、并、补网络模块 Mint,Muni,Msub 中学习合成对应的特征 Zint,Zuni,Zsub,特征 Z 可以认为是对应着一张假设的图像 I,这张图像 I 中的个体类别恰好对应着输入 X,Y 的标签的并/交/补,举例说明 Zint 可以看做假设图 I 的提取特征,而图 I 的标签 L(I)正是输入 X 与 Y 的标签交集。

在这之后结合我们已经渠道的所有特征,训练一个分类器 C 并使用交叉熵损失函数(Binary Cross-Entropy Loss, BCE)来学习这个多标签分类的问题,同时之前学习合成特征 Z 的三个 LaSO 模块也采用一样的损失函数进行参数更新,具体表达式如下:

交叉熵损失函数:

分类器 C 损失函数:

LaSO 模块损失函数:

除此之外考虑到操作对称因素以及模型稳定因素,基于重构的均方误差(Mean Square Error,MSE)也作为另一部分的损失加载到模型的最后:

模型稳定损失:

在实验过程部分,论文主要采用了 MS-COCO 2014 与 celebA 的数据集来进行实验和对比分析,将 COCO 数据集的 80 的物体类别随机分成 64 个已知类别与 16 个未知类别,并且使用平均精度(mean Average Precision,mAP)来衡量 LaSO 模块的学习能力,结果具体如下:

综合看来,这篇 LaSO 论文选题的角度非常有创新性,少量样本来学习多标签分类,并且使用集合中并、补、交的数学概念来操作图像标签,进行样本增广,反过来又辅助了少样本学习情况下样本缺乏的问题,提出的网络架构也非常直观易懂,虽然目前看来分类效果还有待提升,同时网络的训练目前也还是分批来进行,扩展的实验也没有那么丰富,但是它提出的新颖角度和方法,也仍然是值得关注的,相信之后也会有更多的思考和新的工作会更新,根据原文,LaSO 的代码也即将在近期公布供读者参考验证。

 

CVPR 其他少样本学习/无监督学习论文列表

注:加粗文章为 oral 文章, 未加粗文章是 poster

1.Generating Classification Weights with Graph Neural Networks for Few-Shot Learning(Oral)

2.Gradient Matching Generative Networks for Zero-Shot Learning(Oral)

  • paper:http://openaccess.thecvf.com/content_CVPR_2019/html/Huang_Generative_Dual_Adversarial_Network_for_Generalized_Zero-Shot_Learning_CVPR_2019_paper.html

3.Learning Inter-pixel Relations for Weakly Supervised Instance Segmentation(Oral)

  • paper:https://arxiv.org/abs/1904.05044

4.Unsupervised Person Image Generation with Semantic Parsing Transformation

  • paper:https://arxiv.org/abs/1904.03379

5.Rethinking Knowledge Graph Propagation for Zero-Shot Learning(Oral)

  • paper:https://arxiv.org/abs/1805.11724

6.Meta-Transfer Learning for Few-Shot Learning(Poster)

  • paper:https://arxiv.org/abs/1812.02391

7.Generative Dual Adversarial Network for Generalized Zero-shot Learning(Poster)

  • paper:https://arxiv.org/abs/1811.04857

8.Hierarchical Disentanglement of Discriminative Latent Features for Zero-shot Learning(Poster)

  • paper:https://arxiv.org/abs/1803.06731

9.Marginalized Latent Semantic Encoder for Zero-Shot Learning(Poster)

10.Spot and Learn: A Maximum-Entropy Image Patch Sampler for Few-Shot Classification(Poster)

11.Large-Scale Few-Shot Learning: Knowledge Transfer with Class Hierarchy(Poster)

12.Generalized Zero- and Few-Shot Learning via Aligned Variational Autoencoders(Poster)

  • paper:https://arxiv.org/abs/1812.01784

13.Dense Classification and Implanting for Few-shot Learning(Poster)

  • paper:https://arxiv.org/abs/1903.05050

14.On zero-shot recognition of generic objects(Poster)

  • paper:https://arxiv.org/abs/1904.04957

15.out-of-distribution detection for generalized zero-shot action recognition(Poster)

  • paper:https://arxiv.org/abs/1904.08703

这篇关于CVPR2019 少样本学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件