零样本和少样本学习

在本篇文章中,我们将讨论机器学习和深度学习的不同领域中的一个热门话题:零样本和少样本学习(Zero and Few Shot learning),它们在自然语言处理到计算机视觉中都有不同的应用场景。

少样本学习

在监督分类器中,所有的模型试图学习的是区分不同的对象的的特征,无论数据是什么形式存在的,例如图像、视频还是文本都是一样的。而·少样本学习的思想是通过比较数据来学习区分类,这样模型使用的数据更少,并且比经典模型表现得更好。在少样本学习中通常会使用支持集(support set)代替训练集。

少样本学习是一种元学习技术。元学习的意思是:学会学习。元学习是元认知的一个分支,研究的是对自身学习和学习过程的方法和认知过程。

支持集

支持集其实与训练集的数据是一样的,但由于学习方法不同所以我们称之为支持集。

K-Way N-Shot支持集:支持集具有K类,每个类都有N样本。N-Shot意味着为每个类提供的样本数。如果每个另类都有更多样本,模型可以学习的更好。

在较少的类中,模型可以更轻松地对数据进行分类。总的来说,我们可以说:更少的k和更多的n更好。

为什么把他成做支持集呢?还记得SVM中的支持向量吗,就是SVM中区别分类边界的数据,支持集也是这个意思。

相似性函数

少样本学习的想法是相似性函数。这意味着应该计算SIM(X,X’),其中“ SIM”是相似性函数,而X和X’是样本。首先要做的是从大型数据集中学习相似性函数。然后将相似性函数应用于预测。

孪生网络

孪生网络使用正面和负样本进行分类。以下是正和负样本的示例:

  1. Tiger1Tiger21)| CAR1CAR21
  2. Tiger1Car20)| Tiger1Car10

网络结构就是这样:

孪生网络首先使用数据集中的两个图像,然后使用一些层(在这里的图像数据示例,使用卷积层),创建输入的编码向量。最后使用差异层和不同的损失函数尝试学习相似性函数。

输入该网络的数据是:

  • XA:锚数据:从数据集随机选择
  • X+:正数据:与锚相同的类
  • X-:负数据:锚不同的类别

F函数(CNN)用于创建编码向量。在编码向量后,我们可以使用:

 

完整文章:

https://avoid.overfit.cn/post/129aa457af7b4dff9fa33dcaf0015968

posted @ 2022-06-30 11:40  deephub  阅读(375)  评论(0编辑  收藏  举报