大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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的两种方式,而这两种方法又都属于迁移学习。
总结
以上就是我在阅读论文及博客后,得到的一个自认为可以捋顺的关系结构。这些“学习”的概念确实会然在一起,但是需要我们完全区分开。
如果大家有补充或修正,欢迎留言啊!
如需转载,请注明来源!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193825.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...