Prototypical Networks for Few-shot Learning
- 对于分类问题,原型网络将其看做在语义空间中寻找每一类的原型中心。
- 针对Few-shot的任务定义,原型网络训练时学习如何拟合中心。学习一个度量函数,该度量函数可以通过少量的几个样本找到所属类别在该度量空间的原型中心。
- 测试时,用支持集(Support Set)中的样本来计算新的类别的聚类中心,再利用最近邻分类器的思路进行预测。本文主要针对Few-Show/Zero-Shot任务中过拟合的问题进行研究,将原型网络和聚类联系起来,和目前的一些方法进行比较,取得了不错的效果。
- $C_k$代表类的原型,是支持集样本embedding的均值向量
- $S_k$代表支持集中每个类的样本
$\mathbf{c}_{k}=\frac{1}{\left|S_{k}\right|} \sum_{\left(\mathbf{x}_{i}, y_{i}\right) \in S_{k}} f_{\phi}\left(\mathbf{x}_{i}\right)$
- 计算query instance和各个类原型间的距离,通过softmax得到分类概率分布