小样本学习系列工作(持续更新)

这篇具有很好参考价值的文章主要介绍了小样本学习系列工作(持续更新)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小样本学习系列工作

有关小样本学习的各类文章通常会将其方法分成几个大类:基于度量学习的小样本方法、基于数据增强的小样本学习方法和基于模型初始化的小样本学习方法。我觉得这样分类并不好,因为三种方法之间并不是各自独立存在的,大多数情况下都是有交集的,比如一篇工作可能既使用了元学习的训练策略,同时又在度量方法上进行了创新。因此在梳理工作的时候,还是按照论文的顺序来梳理比较好,每篇工作都有他的特点,其思考的角度都不尽相同。
因此,我选择了几篇代表性的工作,在此整理小样本学习(主要是图像识别任务)的相关工作,其中穿插的自己的思考与理解。

1. Prototypical Networks for Few-shot Learning

neurips 2017

论文链接:https://proceedings.neurips.cc/paper_files/paper/2017/file/cb8da6767461f2812ae4290eac7cbc42-Paper.pdf

这篇工作是我入门小样本的第一篇工作,对小样本元学习中的episodes的训练模式、各类场景下的任务设定都进行了一个初步的了解,本文的方法也非常简单,公式简单易懂,特别适合入门。同时随便一搜就会有很多的代码实现,适合自己拿来代码复现一下,通过实验分析各种way-shot设定下的模型的性能,有助于小样本分类任务的理解。
小样本学习系列工作(持续更新),计算机视觉,学习,人工智能,深度学习,计算机视觉,python
本文认为采用合适的度量方式是至关重要的,发现欧氏距离的效果比余弦相似度的效果好很多。同时本文对每个类别利用求平均的方式得到一个类别原型(这个方法广为流传,尽管我觉得这么做并不是最优策略),然后利用这个类别原型去计算各个类别之间的距离,其思想如图1所示。

此外,在此工作的基础上的改进也有一系列的工作,比如cvpr 2023的 Revisiting Prototypical Network for Cross Domain Few-Shot Learning。

2. Rethinking Few-Shot Image Classification: a Good Embedding Is All You Need?

ECCV 2020

论文链接:https://arxiv.dosf.top/pdf/2003.11539.pdf

​ 这篇文章进一步的重新思考了小样本分类的问题本质,提出了训练一个性能好的embedding model起到非常关键的作用。所以将每个task中原本的train数据部分整合成一个大的数据集,再用这个新的数据集去训练Embedding Model,使得这个Embedding Model 具有一般分类任务的特征提取性能。接着利用提取的特征为每个task拟合不同的线性分类器。和fine-tune方法不同的,文章并没有利用新的样本重新调整Embedding Model的参数,而是让其保持不变,而是针对各任务的不同对象,拟合不同的线性分类器。所以如何提取出样本中广泛的、基础的,并能拟合更具代表性的特征,是小样本学习的关键。也就是如图人类在面对没有见过的物体时,会利用已有的知识来描绘这个物体,所以只需少量的样本,人类就能很快能区分这个物体。因此相比其他元学习的算法,这篇文章用更大的数据训练Embedding Model,得到的特征更具代表性。
小样本学习系列工作(持续更新),计算机视觉,学习,人工智能,深度学习,计算机视觉,python

​ 进一步,根据知识蒸馏思想,作者也提出了对Embedding Model进行自蒸馏迭代,使得Embedding Model学到的特征更加的凝练。实验结果也证明加入自蒸馏后模型性能有了较大的提升。
在这里插入图片描述

值得一提的是这篇工作并没有采用元学习的训练策略,而是将训练集合并在一起,强调了embedding model的重要性。

3. DeepEMD: Differentiable Earth Mover’s Distance for Few-Shot Learning

TPAMI 2022

论文链接:https://arxiv.dosf.top/pdf/2203.05922.pdf

这篇工作是非常出名的最初的工作发表在CVPR,后来增加了一些图像检索的实验之后发表在了TPAMI上。

总体来说是逻辑清晰的一篇论文,消融实验非常的充分,各个数据集,各个组件的作用,跨域,几乎把所有能做的实验全部都做完了。
小样本学习系列工作(持续更新),计算机视觉,学习,人工智能,深度学习,计算机视觉,python

首先是提出set to set的匹配方法,同时采用EMD去度量(EMD有数学依据很充分),然后为了区分不同nodes的重要程度,用一个cross mechanism(这个cross mechanism考虑到了support和query相同的区域)去计算每个nodes的权重。
最后针对k-shot的情况,提出了一个能得到set权重的全连接层,就能对每一个shot得到的set赋予不同的权重,再去做度量。

实际上这篇文章的idea与我最初的一些想法撞车了(当我看到这篇工作时惊出了一身冷汗)。我也是想将图像打成各个小的patch,然后利用这些小的patch去进行相似度的度量,这样就能充分利用少量样本(few-shot)中的丰富的信息,缓解小样本任务场景下的数据不充分的问题。还好这篇工作比较早,使用cnn-based model进行学习的,而我的那篇工作刚好可以利用最新的 vit 模型进行patch的划分。

4. Masked Feature Generation Network for Few-Shot Learning

IJCAI 2022

论文链接:https://arxiv.dosf.top/pdf/2203.05922.pdf

这篇工作按照本篇博客最开始的划分方式,应该划分为生成式的小样本学习方法。同时呢,这篇工作的idea也是非常的简单,相当于是对何恺明老师MAE工作的一个扩展,将其应用到小样本图像生成,以缓解小样本数据受限的问题。不过不建议大家去读这篇工作,应为并没有公开代码,无法追究其实现的细节,但是光从idea来看,还是很有意思的一篇工作。
小样本学习系列工作(持续更新),计算机视觉,学习,人工智能,深度学习,计算机视觉,python

其具体过程如下:
1.每一个support set中的样本都feed到encoder中去获得feature embedding
2.三部分东西放到decoder中to obtain a series of augmented feature embeddins
3.用所有增强的到的特征和原本support set中的特征放到一起,再去计算每个类别的prototype。
这个想法与我之前的想法类似,只不过我是在像素层次上生成,而不是图片层次上。)

5. MAGE: MAsked Generative Encoder to Unify Representation Learning and Image Synthesis

CVPR 2023

论文链接:https://openaccess.thecvf.com/content/CVPR2023/papers/Li_MAGE_MAsked_Generative_Encoder_To_Unify_Representation_Learning_and_Image_CVPR_2023_paper.pdf
小样本学习系列工作(持续更新),计算机视觉,学习,人工智能,深度学习,计算机视觉,python

同样的,与上篇工作类似,也是对何恺明老师MAE工作的扩展,与我之前MAE加对比学习的思想非常类似,但是作者比我想的更多,不仅完成了表示学习的任务(比如图像分类),也完成了生成学习的任务,两个任务通过mask遮挡的方式一起完成了。

6. Matching Feature Sets for Few-Shot Image Classification

CVPR 2022

论文链接:https://arxiv.dosf.top/pdf/2203.05922.pdf

初次看到这篇文章的摘要时看到这样一句话:In this work, we depart from this established direction and instead propose to extract sets of feature vectors for each image. 刚好与我的一个idea撞车,又惊出了一身冷汗。不过还好,本文不是vit的patch set,而是fpn的不同层的特征的set!!!牛逼!
小样本学习系列工作(持续更新),计算机视觉,学习,人工智能,深度学习,计算机视觉,python

这篇工作是受fpn特征金字塔的启发(目标检测),如上图,同时,因为网络的各个层级的特征维度不同,利用一个改进的自注意力的Mmapper进行特征的映射,方便映射之后的特征之间进行度量。因此各个层在进行小样本的支持集和查询集图片进行度量的时候,并不是单独的利用网络最后一层得到的特征进行度量,而是利用各个阶段(层级)得到的特征进行度量,这样每张图片就得到了一个特征set,于是作者提出了三种不同的set to set的度量方式。其具体pipline下:
小样本学习系列工作(持续更新),计算机视觉,学习,人工智能,深度学习,计算机视觉,python

这篇工作的讲故事的顺序非常值得学习:
1.先说明本文提出的set to set的提取各个层的特征的方式确实是有效果的。
2.再详细讲是如何实现set to set metric的,具体的对各个层的特征是如何操作的(embed simple self-attention modules in between convolutional blocks)。
3.最后说明在各个数据集上的效果。

同时这篇工作也启发了我:除了利用各个阶段的特征进行度量,还能利用什么特征进行度量呢?于是就诞生了我的第一篇工作,利用图像的各个区域(多尺度)的特征进行度量。

7. Pushing the Limits of Simple Pipelines for Few-Shot Learning: External Data and Fine-Tuning Make a Difference

CVPR 2022

论文链接:https://openaccess.thecvf.com/content/CVPR2022/papers/Hu_Pushing_the_Limits_of_Simple_Pipelines_for_Few-Shot_Learning_External_CVPR_2022_paper.pdf
小样本学习系列工作(持续更新),计算机视觉,学习,人工智能,深度学习,计算机视觉,python
如上图所示,这篇工作提出了: Pre-training → Meta-training → Finetuning (P>M>F) 的小样本学习的新范式,即先在大的数据集上进行与训练,然后再小样本数据集的训练集上进行元训练,最后再在小样本数据集的测试集上利用少量样本进行微调。

同时,作者发现这种徐训练方式对小样本任务是非常奏效的,达到了sota(现在的 paper with code的排行榜依然是第一名)。

最重要的是,本文的代码尝试了十几种不同的 backbone 以及 多种不同的小样本数据集(包括单域和跨域),是一篇很适合作为baseline的文章。代码非常值得跑一跑逐行的去学习下。、

但是美中不足的是,在对metadata进行训练的过程中可能是因为cpu的ram并没有及时释放,会出现爆内存的情况。

8. Semantic Prompt for Few-Shot Image Recognition

CVPR 2023

论文链接:https://openaccess.thecvf.com/content/CVPR2023/html/Chen_Semantic_Prompt_for_Few-Shot_Image_Recognition_CVPR_2023_paper.html

这篇文章代表一类工作,都是利用Clip的基本思想应用到小样本学习任务中,其遵循clip的基本范式,即利用文本编码器去辅助或者指导视觉模型的训练。如下图所示:
小样本学习系列工作(持续更新),计算机视觉,学习,人工智能,深度学习,计算机视觉,python
其实现方式也比较简单,具体来说是利用来文本的编码器得到的特征,对视觉编码器的训练过程进行一个显示的干预,作者提出了两种文本信息和视觉交互的方式:通道交互和空间交互。具体pipline如下:
小样本学习系列工作(持续更新),计算机视觉,学习,人工智能,深度学习,计算机视觉,python

但是,这类方法存在一个明显的问题:文本和视觉模态这件存在天然的模态之间的gap,导致生成的文本特征并不能很好的辅助或者指导视觉模型的训练,我正是从这篇工作中得到启发,同时模仿了这篇工作的写作风格,完成了自我提示的一篇工作并被 AAAI2024 接收。文章来源地址https://www.toymoban.com/news/detail-813722.html

到了这里,关于小样本学习系列工作(持续更新)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机视觉特征图可视化与注意力图可视化(持续更新)

    可视化代码: 使用: 结果示例: 可视化代码: 使用: 结果示例:  优化的可视化代码可视化结果更加清晰 参考:GitHub - z1069614715/objectdetection_script: 一些关于目标检测的脚本的改进思路代码,详细请看readme.md 可视化代码:  使用: 结果示例:  参考:GitHub - z1069614715/object

    2024年02月11日
    浏览(36)
  • 人工智能/计算机期刊会议测评(持续更新...更新速度取决于我水论文的速度...)

    AI领域的旗舰刊,人家都叫AI了好叭。身边有小伙伴半年给了大修,三个审稿人,其中有两个看的非常非常详细,问了许多问题,要加一堆实验(我觉得就是相当于重做了)。大修审稿周期给了半年(我算是知道为什么顶刊都这么慢了…)感觉也没有想象中的那么难,我觉得我

    2024年02月02日
    浏览(54)
  • 【全年汇总】2023年CCF计算机图形学与多媒体会议截稿时间汇总(持续更新)

    本博文是根据2022年CCF会议推荐的 计算机图形学与多媒体领域 相关会议目录撰写,更多信息详见公众号CS Conference内容。 (完整PDF大家搜集好了,公众号后台回复“ CCF ”即可获得完整PDF。) 注: 由于一些会议的投稿时间还没公开,因此根据往年投稿时间在 表格中使用 ~ 符

    2024年02月08日
    浏览(50)
  • 学习unity需要的计算机配置及预算(更新)

    unity对电脑的配置要求还是比较高的 ,这类处理图形界面的东西都是需要消耗一些计算机资源的,但Unity的建模、蒙皮、渲染、加特效等操作是比较吃电脑配置的,所以需要的配置也相对好一些。 如果你在家使用的话建议用台式机性价比高一些,如果你用笔记本的话可以选择

    2024年02月04日
    浏览(36)
  • 计算机视觉 激光雷达结合无监督学习进行物体检测的工作原理

            激光雷达是目前正在改变世界的传感器。它集成在自动驾驶汽车、自主无人机、机器人、卫星、火箭等中。该传感器使用激光束了解世界,并测量激光击中目标返回所需的时间,输出是点云信息,利用这些信息,我们可以从3D点云中查找障碍物。         从自

    2024年02月07日
    浏览(53)
  • Part1:使用 TensorFlow 和 Keras 的 NeRF计算机图形学和深度学习——计算机图形学世界中相机的工作原理

    是否有一种方法可以仅从一个场景多张不同视角的照片中捕获整个3D场景? 有。 NeRF:将场景表示为用于视图合成的神经辐射场中(NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis),Mildenhall等人(2020)的论文解答了这个问题。NeRF的更简单实现赢得了 TensorFlow社区聚光

    2024年02月07日
    浏览(48)
  • 计算机视觉OpenCv学习系列:第四部分、键盘+鼠标响应操作

    键盘响应中有一个函数叫做 waitKey ,所有的获取键盘键值都是通过waitKey函数实现的。 1.键盘响应事件 cv.waitKey( [, delay] ) -- retval delay如果没有声明或者delay=0,表示一直阻塞 delay大于0,表示阻塞指定毫秒数 retval返回的对应键盘键值,注意:在不同的操作系统中可能会有差异! 典

    2024年02月09日
    浏览(45)
  • 【计算机网络基础篇】学习笔记系列之一《TCP/IP 网络模型》

    为什么要有 TCP/IP 网络模型? 不同设备上的进程间通信需要通过一套通用的网络协议进行网络通信。 对于同一台设备上的进程间通信,有很多种方式,比如有管道、消息队列、共享内存、信号等方式,而对于不同设备上的进程间通信,就需要网络通信,而设备是多样性的,所

    2024年04月11日
    浏览(46)
  • 计算机基本知识扫盲(持续更)

    Q:内存一般指什么? A:内存通常指的是计算机中用于暂时存储数据的硬件设备,也被称为主存或随机存储器(RAM)。内存是计算机中最常用的存储设备之一,因为它可以快速读取和写入数据,以便计算机能够更快地执行任务。 内存通常被用于存储当前正在运行的程序和数据

    2024年02月03日
    浏览(44)
  • 计算机的工作原理

    电脑最直白、人话的描述。 主要由:主板、CPU(中央处理器)、硬盘、内存、显卡组成(以前有介绍) 把电脑当成我们的计算器就更好理解,我们输入指令时就是输入数字,只是我们在计算机输入的只是01二进制的数字,不是我们日常用的(0~9)十进制的数字,为什么不用十进制呢?这个

    2023年04月14日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包