论文发表:Advances in neural information processing systems, 2017 论文链接:https://proceedings.neurips.cc/paper/6996-prototypical-networks-for-few-shot-learning
@article{snell2017prototypical,
title={Prototypical networks for few-shot learning},
author={Snell, Jake and Swersky, Kevin and Zemel, Richard},
journal={Advances in neural information processing systems},
volume={30},
year={2017}
}
标签 | 目的 | 方法 | 总结 |
---|---|---|---|
#度量学习 #嵌入网络 | 解决小样本问题 | 学习一个低纬嵌入空间 | 将分类问题转换成度量问题 |
ProtoNet,即原型网络,其想法非常直接但有效,即对每张图像都先用神经网络得到一个特征表示,然后对支持集中每个类别的所有特征取一个平均,作为这个类别的类中心,最后比较查询集和各个类中心之间的距离,取最近的一个类别作为预测结果。
作者的思想是构建一个映射函数,可以将每一类映射到一个简单的原型特征点集中。因此作者使用神经网络学习了一个非线性映射,将输入映射到嵌入空间中,并且规定每一类的原型特征为每个嵌入空间的均值。之后就可以将分类任务看作是在嵌入空间中寻找距离最近的原型特征。
定义样本为S,类别为k,原型特征为c_k=\frac{1}{S_k}\sum_{(x_i,y_i)\in{S_k}}f_{\phi}(x_i),衡量距离的函数为d,那么对于输入样本,其在嵌入空间的分布为p_\phi(y=k|x)=\frac{\exp(-d(f_\phi(x),c_k))}{\sum_{k^\prime}\exp(-d(f_\phi(x),c_{k^{\prime}}))},学习的过程就是最小化负对数损失J(\phi)=-\log{p_\phi(y=k|x)}。
其实验结果如下: