Baby Steps Towards Few-Shot Learning with Multiple Semantics 论文笔记

前言本文重点关注额外的语义信息对小样本学习的帮助,作者探索了一种更接近人类的学习模式,即为learner提供多种丰富的语义信息。这些语义信息包括:类别标签,"描述级别"的语义信息(一个或一些句子,对类别的自然语言描述),属性等。本文证明了如何使用这些语义信息来帮助小样本学习。人类婴儿在学习新事物时的一个很重要的因素是,在关注一个新事物的同时还要附带一些相关的语义信息。比如,研究表明婴儿的目标识...
摘要由CSDN通过智能技术生成

前言

本文重点关注额外的语义信息对小样本学习的帮助,作者探索了一种更接近人类的学习模式,即为learner提供多种丰富的语义信息。这些语义信息包括:类别标签,"描述级别"的语义信息(一个或一些句子,对类别的自然语言描述),属性等。本文证明了如何使用这些语义信息来帮助小样本学习。

人类婴儿在学习新事物时的一个很重要的因素是,在关注一个新事物的同时还要附带一些相关的语义信息。比如,研究表明婴儿的目标识别能力与他们的语言能力是有联系的,也就是说可能还与描述目标的能力相联系。当父母指向一个新事物给孩子看时,通常也会给孩子描述一下这个新事物,比如"看,这儿有一只小狗"。本文就是受此启发,将这种额外的、丰富的语义信息应用到小样本学习问题中。

本文的贡献如下:

  • 提出了一种接近"婴儿学习"的模式,即用多种复杂的语义信息来处理小样本学习(Few-Shot Learning with Multiple and Complex Semantics,FSL-MCS);
  • 为FSL-MCS提出了一种新的benchmark,以及与这个benchmark相关的训练和评估协议;
  • 提出了一种新的多分枝网络结构。

方法实现

研究表明,在标准的有监督条件下对backbone进行预训练,可以使模型获得很好的性能。因此本文的训练过程分为两个阶段:

  1. 首先对CNN backbone进行全监督的训练,也就是预训练;
  2. 在第二个阶段,CNN的最后一层(线性分类器)被替换为一个2层的MLP,并且之前的所有层都被冻结,然后添加语义分支。接下来使用基于episode的元学习方法来训练整个模型。

训练在小样本任务,也就是episode上进行。任务中的每个类别被采样一个或少量图像样本作为支持集,然后再从这些类别里采样一个或一些图像样本作为查询集,每个任务其实就是对小样本学习问题的一个模拟。而对于本文提出的语义方法,每个任务中还有语义信息(标签或句子描述或属性),用Glo Ve embedding来表示标签,用BERT embedding来表示句子描述,这是因为作者观察到,Glo Ve对单词的表现更好,而BERT对句子的表现更好。

下图是模型的整体结构:
在这里插入图片描述
模型包括一个视觉信息分支和多个语义分支:

  • 视觉信息分支由CNN backbone实现,它负责计算支持集和查询集中图像的特征。然后类似于原型网络,对任务中每个类的支持集样本的特征向量取平均,以得到该类的视觉原型(visual prototype)特征向量 V V V
  • 模型中还包括一个或多个语义分支,用于将额外的语义信息整合到网络中。每个语义分支开始于一个经过预训练的word embedding或sentence embedding特征提取器,后跟一个MLP,然后生成一个语义原型(semantic prototype) S i S_i Si S i S_i Si要和属于同一类的视觉原型结合起来。

那么怎么将语义原型和视觉原型结合起来呢? 每个语义分支还配备了一个用于计算semantic attention的attention MLP,如上图所示,这个semantic attention其实就是该分支的语义原型的一个系数 α i \alpha_i αi,为了计算 α i \alpha_i αi,每个分支的attention MLP接收的输入是视觉分支或语义分支生成的任务类别原型之一,也就是从 V , S 1 , . . . , S k V,S_1,...,S_k V,S1,...,Sk中选一个作为输入(假设有 k k k个语义分支)。

最后,模型在每个分支(视觉或语义)产生的原型上都会产生一个特定于任务的交叉熵损失,从而允许使用与任务相关的gt标签,为每个分支输出提供一种中等级别的监督,以进行元训练。这些损失使得softmax normalized logit计算为一个负距离,也就是查询样本与每个语义(或视觉)分支产生的原型之间的负距离。

总结来说就是,对于每个任务,每个语义分支都由两个输入唯一的确定:

  • 语义信息被处理成语义原型 S i S_i Si(类别标签,类别描述或属性向量);
  • 视觉原型或语义原型被处理成semantic attention系数 α i \alpha_i αi

给定一个小样本任务,其中某一类的视觉原型为 V V V,相关的语义原型为 { S 1 , . . . S k } \lbrace S_1,...S_k \rbrace {S1,...Sk},那么该类的最终原型 P P P为:
在这里插入图片描述
然后这个最终原型 P P P还要与查询集的特征向量 Q Q Q进行比较,并计算出类别概率 p r o b ( Q , P ) = S M ( − ∣ ∣ P − Q ∣ ∣ 2 ) prob(Q,P)=SM(-||P-Q||^2) prob(Q,P)=SM(PQ2),其中 S M SM SM表示softmax归一化操作。

假设 Q Q Q的正确类别具有视觉原型 V V V和语义原型 { S 1 , . . . S k } \lbrace S_1,...S_k \rbrace {S1,...Sk},通过结合所有视觉分支和语义分支的CE损失,最终的训练损失为:
在这里插入图片描述
其中 P r P_r Pr是式(1)的部分计算直到语义分支# r r r的输出:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值