原型网络 Prototypical Network

原型网络 - Prototypical Network

原型网络出自下面这篇论文。
Snell J, Swersky K, Zemel R S. Prototypical networks for few-shot learning[J]. NIPS 2017.

请添加图片描述

原理

原理和聚类有点相似

孪生网络的缺点就是要对比目标和过去每个样本之间的相似度,从而分析目标的类别,而原型网络就提出,把样本投影到一个空间,计算每个样本类别的中心,在分类的时候,通过对比目标到每个中心的距离,从而分析出目标的类别。

  • support set 投影到新的特征空间,也就是nlp中的 word embedding,可以通过神经网络,把输入转化伪一个新的特征向量
  • 基于 support set 计算每个类别的均值表示该类原型 prototype
  • 用 SGD 等优化算法,优化距离损失,使得同一类的向量之间的距离比较接近,不同类的向量距离比较远
  • 通过最小化损失函数,从而优化最初的 embedding
形式化描述

核心思想:在N-way K-shot设置下,通过计算 support set 中的嵌入中心,然后衡量新样本与这些中心的距离来完成分类。

  • support set:包含少量标注的样本
  • query set:包含未标注样本,和support set的样本空间一致,不能和 support set 有重复
  • 计算嵌入中心公式,简单的取平均
    • S k S_k Sk:类别为 k 的 support set
    • f θ f_θ fθ:embedding 函数
    • x i x_i xi:输入
      c k = 1 ∣ S k ∣ ∑ i f θ ( x i ) c_k = \frac{1}{|S_k|} \sum_i f_θ(x_i) ck=Sk1ifθ(xi)
  • 计算新样本 x 到每个类别 i 的嵌入中心的距离: d i = d ( f θ ( x ) , c i ) , i = 1 , . . . , N d_i = d(f_θ(x), c_i), i = 1,...,N di=d(fθ(x),ci),i=1,...,N,然后再用softmax对距离做映射,得到每个类别的概率 y ^ i = s o f t m a x ( d 1 , . . . , d k ) \hat y_i = softmax(d_1,...,d_k) y^i=softmax(d1,...,dk)
  • 训练目标通过SGD优化交叉熵损失函数:
    • y y y:真实值
    • y ^ \hat y y^:预测值
      L ( y , y ^ ) = − ∑ i = 1 N ′ y i l o g y ^ i L(y, \hat y) = - \sum^{N'}_{i = 1}y_i log\hat y_i L(y,y^)=i=1Nyilogy^i

参考资料:
Snell J, Swersky K, Zemel R S. Prototypical networks for few-shot learning[J]. NIPS 2017.
元学习系列(二):Prototypical Networks(原型网络)

### 回答1: 原型网络是一种基于距离度量的分类模型,它通过计算输入样本与每个类别的原型之间的距离来进行分类。原型可以是类别的平均值、中心点或代表性样本。该模型在小样本学习中表现出色,因为它不需要大量的训练数据就可以进行分类。 ### 回答2: 原型网络是一种用于处理图像分类任务的深度学习模型。它的灵感来源于人类对物体的认知过程,即将物体与所了解的样本进行比较,然后将其分类为属于哪个类别。原型网络的核心思想就是通过比较输入图像和已知样本之间的相似程度来确定图像的类别。 原型网络的架构非常简单,它由两个主要部分组成:卷积层和比较层。卷积层将输入的图像转换为特征向量,并提取其特征。比较层由多个原型向量组成,每个原型向量代表类别中心,即样本的平均值。当输入图像被传递到比较层时,将计算输入向量与每个原型向量之间的距离,距离越小,图像就越可能属于该类。 与其他深度学习模型相比,原型网络具有许多优点。首先,它的计算效率非常高。由于原型网络只需要计算每个类别的平均值,因此它可以很容易地扩展到具有大量类别的大规模数据集。其次,原型网络的可解释性非常好。由于每个原型向量代表一个类别,因此可以轻松地解释哪些特征被认为是用于识别该类别的最重要的特征。 总之,原型网络是一种非常简单而又有效的图像分类模型。它能够高效地处理大规模数据集,并具有很好的可解释性,这使其成为了一种流行的深度学习模型。 ### 回答3: 原型网络prototypical network)是一种基于原型的学习方法,用于分类任务。它被认为是一种简单而有效的深度学习模型,已经在语音识别、图像分类等领域得到了广泛应用。该模型的基本思想是将类别信息映射到一个低维的原型空间中,从而通过计算距离来进行类别分类。 原型网络的训练过程可以概括为以下几个步骤:首先,对于每个类别,从训练数据中挑选一些样本作为该类别的原型。这些原型可以是某个样本的平均值、中心点或其他特定的统计量。接着,对于每个样本,计算其到各个原型的距离,并选取距离最小的那个原型作为该样本所属的类别。最后,通过使用交叉熵等损失函数来对模型进行训练,使得原型能够更好地区分不同的类别。 相比于传统的深度学习模型,原型网络具有以下几个优势:首先,由于其使用了低维的原型空间,计算速度较快且存储空间占用较小。其次,模型的可解释性较高,可以直观地对原型进行分析,从而得到更深入的理解。最后,原型网络对于小样本学习具有一定的优势,即在只有少量训练数据的情况下,仍然可以取得较好的分类性能。 总之,原型网络是一种简单而有效的深度学习模型,具有较好的分类性能和可解释性,是当前学术界和工业界研究的热点之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值