@wanghuijiao
2021-03-04T19:44:59.000000Z
字数 2692
阅读 1112
小样本论文笔记3:Metric Based - [5] Prototypical networks for few-shot learning.
学习笔记
0. 前言
- 相关资料:
- 论文基本信息
- 领域:小样本学习
- 作者单位:多伦多大学&Twitter
- 发表期刊和时间:NIPS 2017
- 一句话总结
- 提出了Prototypical Network结构,是17年的State-of-the-art,后续很多论文与之比较。
1. 要解决什么问题
解决小样本学习中的过拟合问题。论文基本思想是在特征空间,每一类都存在一个原型表征,该类的其他点都将聚类到此处。为了实现这个想法,作者通过一个神经网络学习到了一个非线性的映射,将输入映射到特征空间,然后将类别原型作为这个支撑集在特征空间的均值。分类则是通过找到最近的类别原型进行分类。
简而言之,就是原型中心+最近邻分类器。
2. 用了什么方法
- 模型
- 计算样本集中的均值向量作为原型中心:
是Prototypical Network(PN)网络的输出向量,有M维。每个类别通过 将输入的D维向量映射为M维。然后通过上述公式计算平均向量作为原型中心。表示带有K类标签的样本集,是输入的D维样本向量,表示对应的标签。
- 给定距离函数:。
通过计算query point和各个类原型之间的距离,通过softmax得到分类概率分布。
训练
- 在训练时,结合episode(是matching Network提出的概念,每个episode包括采样训练集中部分类作为支撑集和测试样本,以仿真few-shot t)和mini-batch的思路模拟测试场景进行训练,伪代码如下:
从不同理论角度解释本模型
- 1.原型网络的学习过程可以理解为混合概率估计。对于距离的度量属于Bregman散度(https://www.zhihu.com/question/22426561/answer/209945856),其中就包括平方欧氏距离和Mahalanobis距离。该文中正是利用了平方欧氏距离。在此距离度量的基础上,在support set上利用向量均值所找到的则为最优的聚类中心。
- 2.将原型网络重新解释为线性模型,对应用欧式距离进行了分析。在应用欧式距离时,上文的softmax相当于有特定参数的线性模型,带入展开得到
第一项相对于k来说是常量,不影响softmax的概率结果,对后两项展开写成线性形式
作者猜想embedding function内部已经学到了所需的非线性元素,使用欧式距离使得方法更加简单有效。
- 3.特别与匹配网络进行了比较:这两种方法在One-Shot情况下是等价的,匹配网络在给定支持集的情况下生成一个加权最近邻分类器;原型网络使用欧式距离生成一个线性分类器。当支持集中每个类只有一个样本的时候,ck=xk, 二者等价。目前的匹配网络有相对复杂的结构,比如去耦支持样本和qurey样本的embedding函数、用FCE等等,可以融合到原型网络中,但是却增加了参数。本文证明用简单的设计也能达到相当的效果。
- 4.思考如果每个类的原型数目不是一个而是多个,则需要对支持集中样本额外分区。目前的方法都需要一个额外的分区阶段,和权重更新过程是相互独立的。而本文提出的方法只需要用简单的梯度下降方法去学习.
- 5.对于零样本学习任务,每个类的原型可以是事先知道的元数据向量vk,也可以通过学习来得到,(之前有研究通过纯文本来学习)。这个时候class embedding和query embedding样本来自不同域,作者发现可用固定原型embedding的长度为单位长度,对query embedding不限制。
3. 效果如何
4. 还存在什么问题&有什么可以借鉴
- 本论文包含许多数学推理,网络形式很简单,作者推崇利用简单的形式实现好的效果。是当时的State-of-the-art。