0%

Few-Shot Learning Survey

Few-Shot Learning

参考shusenwang 讲解

support set不足以训练神经网络,只是在做预测的时候提供一些额外信息。使用大的数据集来训练一个模型,训练目的是让模型知道事物的异同

小样本学习也是一种meta learning,learning to learn

与监督学习的区别:

传统的监督学习的测试样本来自于已知类别,few-shot learning的测试样本来自未知的类别

k-way n-shot:

  • k-way:support set有k个类别
  • n-shot:每个类别有n个样本,one-shot就是只有一张图片

与比赛不同,few shot learning中,设定query是属于surrport set的,而比赛中是需要判断是不是已知类的
siamese网络的训练:

  1. 使用正负对进行训练,正对(同一类别)的两个样本的相似度标记为1,负对为0.将样本对输入到同一个网络,提取特征,对特征求差值,得到的特征向量表示两个图片得到的特征向量的区别,然后再送进全连接层,得到一个标量,加上sigmoid进行归一化,得到一个表示similarity的预测值,使用预测值sim和标签(正对为1,负对为0)做crossentropy
  2. 使用triplet loss,训练时每次选取3个样本,一个anchor,一个positive,一个negative,让anchor和positive在特征空间的距离更近,anchor和negative在特征空间的距离更远

image-20220410100632997

image-20220410150456109

Cosine Similarity

image-20220410104836728

当x和w的向量长度都是1时,cos就等于x和w的内积

image-20220410104954557

softmax

image-20220410113727853

对向量取指数,然后normalize(归一化)

image-20220410115438233

image-20220410120928089

softmax分类器,实际上是全连接层加softmax函数,x是输入的特征向量,w是全连接层的参数矩阵,k是类别数,所以w中的每一行对应一个类别

Pretraining

预训练一个CNN用于特征提取

可以使用监督学习或者孪生网络

从support set中提取特征向量

image-20220410121941739

然后利用训练好的网络f提取query图像的特征向量,并标准化/归一化(normalize),得到特征向量q,其2范数为1

将从support set中提取的每个类的平均特征向量作为矩阵M的行向量堆叠起来

image-20220410133644727

做预测:

image-20220410134230975

结果p应该是个3维的列向量,表示概率分布,表示了query和μ1,μ2,μ3的相似度,其中第一行最大,因为在图中μ1和p是最接近的,其内积最大

Normalization

normalize后的二范数是1(归一化)。Normalization主要思想是对每个样本计算其p-范数,然后对该样本中每个元素除以该范数,这样处理的结果是使得每个处理后样本的p-范数(比如l1-norm,l2-norm)等于1。

p-范数:即向量元素绝对值的p次方和的1/p次幂,2范数就是p范数的特例

对两个向量的l2-norm进行点积(内积),就可以得到这两个向量的余弦相似性。

L2标准化

image-20220410122548265

image-20220410132451151

fine-tuning

在前面的例子中,我们并没有使用学习的方式得到W和b,而是将W设置为M矩阵,b设置为0,但实际上这两个参数是可以学习的,也就是我们可以对softmax分类器在support set中进行学习,可以使用crossEntropy loss对W和b进行学习,yj是one-hot向量,surrport set一般很小,所以加一个regularization来防止过拟合

image-20220410135817310

做fine-tuning时的trick

  1. 合理的初始化

image-20220410140333762

  1. 用regularization防止过拟合。entropy regularization是其中一种方式,对每个query都求一个entropy,然后求平均,要让这个平均的entropy越小越好,因为熵越小,代表不确定越小,当p的每个维度都相近时,也就是分辨不出来谁的概率更大时,熵最大,不确定性最大

image-20220410140737277

image-20220410141227109

  1. cosine similarity + softmax classifier。其实和标准的softmax分类器区别很小,只是在做w和q的内积之前,先做归一化。

image-20220410141509223