论文笔记:Prototypical Networks for Few-shot Learning

Prototypical Networks for Few-shot Learning(用于小样本学习的原型网络)

论文中心思想:

通过神经网络学会一个“好的”映射,将各个样本投影到同一空间中,对于每种类型的样本提取他们的中心点(mean)作为原型(prototype)。使用欧几里得距离作为距离度量,训练使得测试样本到自己类别原型的距离越近越好,到其他类别原型的距离越远越好。测试时,通过对到每类原型的距离做sofmax获得测试样本类别。
论文笔记:Prototypical Networks for Few-shot Learning_第1张图片

论文笔记:Prototypical Networks for Few-shot Learning_第2张图片

总结分析:

本文提出的的Prototypical Networks(P-net)思想与match network(M-net)十分相似,但也有几个不同点:1.使用了不同的距离度量方式,M-net中是cosine度量距离,P-net中使用的是属于布雷格曼散度(详见论文)的欧几里得距离。2.二者在few-shot的场景下不同,在one-shot时等价(one-shot时取得的原型就是支持集中的样本)3.网络结构上,P-net相比M-net将编码层和分类层合一,参数更少,训练更加方便。

补充:

关于论文中Bregman divergence的理解,可参考知乎上一个大佬的回答:如何理解Bregman divergence? - 覃含章的回答 - 知乎
https://www.zhihu.com/question/22426561/answer/209945856
联系论文简单地说,就是Bregman divergence,就是如果你抽象地定义一种在特定空间里两个点之间的“距离”,然后在这些点满足任意的概率分布的情况下,这些点的平均值点(mean point)一定是空间中距离这些点的平均距离最小的点。所以后面作者在提取“原型”的时候,才能够直接使用均值点(mean point),所以感觉作者用欧几里得距离而不用余弦距离就是这个原因吧。

附原文地址: https://arxiv.org/abs/1703.05175
github上的pytorch实现: https://github.com/jakesnell/prototypical-networks.git

你可能感兴趣的:(meta,learning)