概述
目录
- 综述
- K-way&n-shot:
- 网络训练:
- 测试:
综述
人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-shot Learning 要解决的问题。
Few-shot Learning 是 Meta Learning 在监督学习领域的应用。Meta Learning,又称为 learning to learn,在 meta training 阶段将数据集分解为不同的 meta task,去学习类别变化的情况下模型的泛化能力,在 meta testing 阶段,面对全新的类别,不需要变动已有的模型,就可以完成分类。
简而言之:Few-shot Learning并不是使模型学会直接对输入的样本进行分类的能力,而是学会判断事物异同的能力。
例如:
在下面的训练集训练模型,从而使得模型具有了判断事物异同的能力。
用下面的输入样本测试:
模型在训练集并没有见过松鼠,它也不能识别出下面的两个输入样本都是松鼠这一类别,但是模型可以知道这两个样本是同一类别。
现在我们将这种判断事物异同的能力进行推广,从而达到识别样本类别的能力。
几个概念:
支持集(support set):包含着少量标注的样本。
查询集(query set):包含着未标注的样本,和支持集的类别空间一致。
我们的目的是要知道查询集中样本的类别,那么我们需要给模型相应的支持集(含有类别信息),然后将查询集的中的每一个样本与支持集中的每一个样本送进模型,得到它们的相似程度,并根据相似程度来判断查询集的每一个样本所属的类别。
例如下面的query只1个样本:水獭
support set也只有6个样本,将query的样本和support set中的6个样本呢依次比较,从而得出query的样本属于水獭这一类别。
K-way&n-shot:
K-way:表示支持集包含着K个类别
n-shot:每个类别有n个标注样本
网络训练:
网络是孪生网络,两个f是同一个网络(参数共享),用来提取特征。
测试:
1.首先输入support set,提取特征并送入网络层进行均值化(有点平均人脸的意思),得到各类别的μ。
2.将query送进网络
3.M是上面图片得到的结果,就是三个样本的μ堆在一起的矩阵。
p就是将q与三个μ进行相似度比较(在这里就是做余弦相似度计算),最后选择相似度最大的样本类别作为q的类别。
few-shot ——Shusen Wang 学习视频1
few-shot ——Shusen Wang 学习视频2
few-shot ——Shusen Wang 学习视频3
其他的,随后慢慢补充。
最后
以上就是无语天空为你收集整理的Few-Shot 学习综述K-way&n-shot:网络训练:测试:的全部内容,希望文章能够帮你解决Few-Shot 学习综述K-way&n-shot:网络训练:测试:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复