元学习、迁移学习、对比学习、自监督学习与少样本学习的关系解读

元学习、迁移学习、对比学习、自监督学习与少样本学习的关系解读文章目录前言一、对比自监督学习与FSL1.对比学习与自监督学习2.自监督学习与FSL二、元学习与FSL1.元学习是什么2.元学习与FSL三、迁移学习与FSL1.迁移学习2.迁移学习与FSL总结前言本人的研究方向是少样本图像分类,在阅读论文时会遇到很多元学习、迁移学习这样的名词,这些词在不同的论文中关系仿佛都不一样,人们的说法也不统一。因此在此记录一下自己的逻辑,希望不再混乱了~还有对比学习和自监督学习,最近自己也在看,并且和少样本学习(FSL)相关,就一起放在这里。文章中出现的ppt截图是自己讲组

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺


前言

本人的研究方向是少样本图像分类,在阅读论文时会遇到很多元学习、迁移学习这样的名词,这些词在不同的论文中关系仿佛都不一样,人们的说法也不统一。因此在此记录一下自己的逻辑,希望不再混乱了~
还有对比学习和自监督学习,最近自己也在看,并且和少样本学习(FSL)相关,就一起放在这里。

文章中出现的ppt截图是自己讲组会用的,大家仅作参考。
如需转载,请注明来源!


一、对比自监督学习与FSL

1.对比学习与自监督学习

对比自监督学习是一种当下流行的算法,其实它是指通过对比学习来完成自监督学习的过程。 对比学习的精髓就在于在特征域拉近相似正样本对之间的距离,拉远负样本对的距离。

在自监督学习中,对于当前训练图片而言,正样本对通常由来自于同一张图片的两个随机增广图片构成,负样本对由来自于其他图片的增广图片构成。

对比学习还可以用于有监督学习,这时正样本对是来自同一类的图片,负样本对是来自不同类的图片。

在这里插入图片描述

2.自监督学习与FSL

为了检验自监督学习算法的优劣,通常在下游任务上对由自监督学习获得的特征提取器进行检验。下游任务包括很多种,FSL就是其中一种。但是在自监督学习算法中,很少有人会在FSL上作检验,一般会选择线性探针、目标检测等常用方法。
当然,对比自监督学习属于自监督学习,FSL也可以作为它的一种下游任务。

在这里插入图片描述

二、元学习与FSL

1.元学习是什么

元学习在2018年就被提出了,也可能更早就出现了这个概念。人们在提到它是,都说“元学习是指学会学习”,这个解释很抽象啊。
在参考一些文章后,我认为元学习的核心是,网络通过在大量相似任务上做训练获取元知识,就可以在新任务上快速学习以完成这个新任务。

在这里插入图片描述
这里有两个重点:
1、什么是元知识?
在元学习中,存在元训练和元测试阶段,其中元训练(上面ppt中的outer-level)就是为了获取最佳的元知识,使得网络在元测试阶段(inner-level)能快速解决新任务。
元知识这个词也有点抽象,它是指影响网络学习的一些因素,比如网络权重的初始值、网络结构、学习率等超参数,等等。

在这里插入图片描述
2、新任务和用于元训练的那一堆任务有什么关系?
新任务需要和元训练使用的任务同分布! 这是元学习的一个限制。从上面ppt中可以看到,损失函数是对任务的分布求均值获得的。

2.元学习与FSL

元学习其实就是解决FSL问题的一种方法,这两种学习没有概念上的混淆,他们是单独的两种问题。
但是现在大部分解决少样本学习问题的算法都采用了元学习方法,所以人们很容易将二者混为一谈。
我们来看下面的对比,就知道元学习为什么总是被用于解决FSL了。
在这里插入图片描述
从上图中可以看出元学习希望网络能快速学习,而FSL要求网络在少量样本下就可以学会分类,这其实是对应的。少量样本就代表着快速学习。 FSL要求的新类别其实就对应着元学习的新任务。
因此,元学习和FSL完美对应,就可以应用上去啦!

同时,少样本学习的效果也是验证元学习算法性能的一种方式。

三、迁移学习与FSL

1.迁移学习

迁移学习是一个很广的概念,但凡涉及到知识迁移的情况都可以称为迁移学习。
比如说从大数据集向小数据集的迁移,从ImageNet向CIFAR 10图像分类的迁移。因此元学习就是一种迁移学习,它是同分布任务之间的迁移。
同时,之前提到的检验自监督学习算法性能的下游任务,也涉及了迁移。这是从上游任务向下游任务的迁移。
在这里插入图片描述

2.迁移学习与FSL

了解了迁移学习的概念后,我们可以发现,FSL目前就是依靠迁移学习来完成的!

这是因为元学习和自监督学习是目前用来解决FSL的两种方式,而这两种方法又都属于迁移学习。
在这里插入图片描述


总结

以上就是我在阅读论文及博客后,得到的一个自认为可以捋顺的关系结构。这些“学习”的概念确实会然在一起,但是需要我们完全区分开。

如果大家有补充或修正,欢迎留言啊!
如需转载,请注明来源!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193825.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • visifire  柱状图控件

    visifire  柱状图控件最近使用到一个柱状图控件visifire用起来还是比较高级的不过会有水印商业用途需要购买正版效果还是很好的还有动画效果能够识别最大高度创建之前需要引用http://note.youdao.com/noteshare?id=4a8d01bd0bfef2cdc86c5752aad3156…

    2022年7月21日
    14
  • Python翻译Excel文件

    Python翻译Excel文件朋友需要翻译大量 Excel 文件内容 看我是否能搭把手 我的思路很简单 就是将 Excel 文件内容读出后 调用翻译软件的 API 然后再爬回翻译好的内容 写入 Excel 读取 Excel 文件内容的方法 我这里要处理的是 xlsx 文件 可以 importopenpy 如果要处理 xls 文件 就不能用这个 而是 importxlrd 或者先将 xks 文件转为 xlsx 文件再使用本文代码 具体这两个包提

    2025年10月4日
    2
  • YUI3 使用总结

    YUI3 使用总结1. YUI3总体认识1.1 面向对象的JS编程,RIA工具:面向对象的JS编程,主要体现的以下几个方面:1. 继承JS有三种继承方式:javascript中继承一般分为三种方式:”类式继承”,”原型继承”,”掺元类”2. 封装:JS的Function自身就实现了对变量的封装,局部变量等。Object对性的属性也可以实现一定的封装效果3. 接口和抽象类YUI3…

    2022年7月12日
    35
  • 阿里云服务器怎么开放端口_云服务器开启端口

    阿里云服务器怎么开放端口_云服务器开启端口阿里云服务器如何开放端口,这里我将开放8082端口,我们来看下吧方法/步骤 登录阿里云服务器并进入控制台,点击【云服务器ECS】。 在【云服务器ECS】点击【实例】并跳转到实例列表。 在实例列表找到要开放端口的云服务器实例。并点击后面的【更多】–》【网络和安全组】–》【安全组配置】。 在【本实例安全组】内点击【配置规则】打开【安全组规则】。这里有出\入的方向,这里我开放的是8082端口,属于入方向的。在这里可以新增规则,这里为了方便直接对已有的规

    2022年10月2日
    2
  • Ubuntu系统设置开机自动运行程序

    Ubuntu系统设置开机自动运行程序

    2020年11月8日
    257
  • SparkIV「建议收藏」

    SparkIV「建议收藏」SparkIVSparkIV是知名游戏GTA4的一款游戏资源读取/导入/导出/编辑/修改的修改软件。很多玩家使用SparkIV为GTA4安装车辆MOD,人物MOD,武器MOD等。不过Spar

    2022年8月5日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号