深度学习阅读笔记(一):小样本学习综述——Learning from Very Few Samples: A Survey

Abstract

Few sample learning (FSL) is significant and challenging in the field of machine learning. The capability of learning and generalizing from very few samples successfully is a noticeable demarcation(划分) separating artificial intelligence and human intelligence since humans can readily establish their cognition to novelty from just a single or a handful of examples whereas machine learning algorithms typically entail hundreds or thousands of supervised samples to guarantee generalization ability.

主要工作

  1. Review the evolution history as well as the current progress on FSL
  2. Categorize FSL approaches into the generative model based and discriminative model based kinds in principle
  3. Emphasize particularly on the meta learning based FSL approaches
  4. Conclude several extensional research topics beyond vanilla FSL
  5. Highlight the important FSL applications covering many research hotspots in computer vision, natural language processing, audio and speech, reinforcement learning and robotic, data analysis, etc.

1 INTRODUCTION

人类智慧 vs 机器学习

The prominent human learning ability benefits from prefrontal cortex (PFC) and working memory in human brain, especially the interaction between PFC-specific neurobiological mechanism and previous experience stored in the brain.

Most cutting-edge machine learning algorithms are data-hungry , especially the most widely known deep learning that has pushed artificial intelligence to a new climax.

深度学习成功的要素

  • Powerful computing resources (e.g., GPU)
  • Sophisticated neural networks (e.g., CNN, LSTM )
  • Large-scale datasets (e.g., ImageNet, Pascal-VOC)

实际应用中的困难

无法得到足够多的带标签的训练样本

研究意义

  • The FSL approach is expected not to rely on large-scale training samples, thus eschewing the prohibitive costs on data preparation in some specific applications.
  • FSL can shrink the gap between human intelligence and artificial intelligence, being a necessary trip to develop universal AI.
  • Third, FSL can achieve a low-cost and quick model deployment for one emerging task for which just a few samples are temporarily available, beneficial to shed light on the potential laws earlier in the task.

最优化角度的解释

A typical problem is that if the function space \mathcal{F} from which the learning algorithm selects \mathcal{f} is too large,
the generalization error would become big and thereby over-fitting may arise easily.

If \mathcal{D}_{t} contains more supervised samples, there will be more constraints on \mathcal{f}, which implies the space of function \mathcal{f} will be smaller, then it will bring a good generalization. Conversely, a scarce supervised training set would naturally lead to a poor generalization performance.

Essentially , the constraint formed by each supervised sample can be regarded as a regularization on the function \mathcal{f}, which is able to compress the redundant optional space of function \mathcal{f} and thereby reduce its generalization error.

本文创新与贡献

  1. 近20年的文献综述

  2. Provide an understandable hierarchical taxonomy that categorizes existing FSL approaches into the generative model based approaches and discriminative model based approaches in light of their modeling principles to FSL problems

  3. Meta learning based FSL approaches

    1. Learn-to-Measure
    2. Learn-to-Finetune
    3. Learn-to-Parameterize
    4. Learn-to-Adjust
    5. Learn-to-Remember
  4. Extensional research topics

    1. Semi-supervised FSL

    2. Unsupervised FSL

    3. Cross-domain FSL

    4. Generalized FSL

    5. Multi-modal FSL

  5. FSL applications in various fields

2 OVERVIEW

2.1 发展历史

两个例子:

  1. 稀有动物的识别
  2. 新用户识别

首次提出:

FLS problem firstly attracted the attention of E. G. Miller et al. in 2000, who postulated a shared density on digit transforms and proposed a Congealing algorithm to bring test digit image into correspondence with class-specific congealed digit image.

Fig1. 论文大纲

两个发展阶段(2015年为两阶段分水岭):

  1. 2000-2015: non-deep period(大都基于生成模型)
  2. 2015-NOW: deep period

Non-deep Period

生成模型:

通过估计联合分布P(\mathcal{X,Y})或者条件分布P(\mathcal{X|Y}),之后用贝叶斯方法进行预测:

  1. Congealing algorithm:首次提出FSL
  2. Variational Bayesian framework(VBF):首次阐明“one-shot learning”概念
  3. Bayesian Program Learning(BPL):reaches a human-level one-shot character classification performance by capitalizing on the human abilities of compositionality(组合), causality(因果) and imagination(想象) in the cognition of novel concepts.

判别模型:

追求条件分布P(\mathcal{X|Y}),直接预测观察样本的概率,在Non-deep阶段不是主流的方法。

Deep Period

2015年提出Siamese CNN,在成对样本上学习类不相关的相似度矩阵,标志Deep Period到来。随后的方法充分利用神经网络在特征表示和处理端到端模型优化方面的优势,从不同角度解决各类FSL问题,例如:data augmentationmetric learningmeta learning等。

虽然该阶段有一些基于生成模型的文章,但判别模型才是该阶段的主导方法,特别是出现了大量基于元学习的FSL方法。值得注意的是,元学习成为FSL的主流思想。该阶段使得FSL有了许多直接应用与外延方法。

总结

从FSL的发展历史可以看出:1.从非深度到深度的转变,2.生成模型和判别模型的转换,3.经典的元学习思想复兴。

2.2 符号与定义

符号

  • x: input data
  • y: supervision target
  • \mathcal{X,Y}: space of input data and supervision target
  • {D}_{T}=\left\{{D}_{\mathrm{trn}}, {D}_{\mathrm{tst}}\right\}:训练集与测试集
  • 任务T中有C类,每个类中仅有少量的K个样本(例如只有1个或5个)
  • N_{trn}=CK:该Task被称为C-way K-shot Task
  • 学习目标:产生适用于测试集的预测函数f\in\mathcal{F}:\mathcal{X \rightarrow Y}
  • {D}_{A}:带标签监督的辅助数据集,数据多,标签多,collected based on previously seen concept(==注意==:1.辅助数据集中的标签与训练数据集中的标签交集为空!2.训练数据与辅助数据应来自同一领域,即:\mathcal{D}_{T}=\mathcal{D}_{A},\mathcal{X}_{T}={X}_{A},P(\mathcal{X}_{T})=P(\mathcal{X}_{A})。)

定义: Few Sample Learning

Given a task T described by a T-specific dataset {D}_{T} with only a few supervised information available, and a T-irrelevant auxiliary dataset {D}_{A}(if any), few sample learning aims to build a function f for task T that maps its inputs to targets using the very few supervision information in {D}_{T} and the knowledge in {D}_{A}.

注意:辅助数据集中的标签与训练数据集中的标签交集为空,否则变为大样本学习问题。

任务还可细分为:binary FSL task和multi-class FSL task。

其他定义

  • Semi-supervised FSL:在训练集中包含一些无标签的样本。
  • Unsupervised FSL:辅助数据集不包含标签。
  • Cross-domain FSL:训练数据与辅助数据应来自不同领域:\mathcal{D}_{T}\neq\mathcal{D}_{A}
  • Generalized FSL:预测函数f需要对联合标签空间\mathcal{Y}_{T}\bigcup\mathcal{Y}_{A}进行推断:而不是仅对\mathcal{Y}_{T}推断。
  • Multi-modal FSL:分为多模态匹配和多模态融合两类。多模态匹配:样本数据x_i与标签y_i模态不同;多模态融合:样本数据x_i的附加信息I_i属于不同模态。

2.3 问题分类

FSL问题总体解决方案如下:对于给定的x_j,预测类别的后验概率:
\hat{y}_{j}=\arg \max _{y \in \mathcal{Y}_{T}} p\left(y \mid x_{j}\right)

  • 判别模型:直接对后验概率p\left(y \mid x_{j}\right)建模,输入x,输出x属于类别C的概率分布。
  • 生成模型:利用贝叶斯决策公式p\left(y \mid x\right)=p\left(x \mid y\right)p(y)/p(x),最大化如下后验概率:

\hat{y}_{j}=\arg \max _{y \in \mathcal{Y}_{T}} p\left(x_{j} \mid y\right)p(y)

生成模型

利用一些潜在变量间接地将xy联系起来,使得条件概率分布p\left(x \mid y\right)可以顺利计算。

大部分此类模型的方法对潜在变量的分布有必要假设。

判别模型

三个主流的研究方向:数据的增强(augmentation)、度量学习(metric learning)和元学习(meta learning)。

数据的增强:根据是否利用额外的信息(例如:attribute annotation,word embedding),又可分为监督增强和无监督增强。

度量学习:与元学习中的Learn-to-Measure类似,找到一个度量空间,使得同类样本接近,不同类样本远离。

元学习:目前最流行的解决FSL问题的手段,通过多种视角达到:“learn-to-learn”的目的。主要分为以下五种类型:

  • Learn-to-Measure
  • Learn-to-Finetune
  • Learn-to-Parameterize
  • Learn-to-Adjust
  • Learn-to-Remember

3 GENERATIVE MODEL BASED APPROACHES

引例

x表示一张图片,y表示类别标签,他们之间往往无法直接建立数学表达式,需要借助中间潜在变量\mathbf{z}
p(x \mid y)=\int_{\mathbf{z}} p(x, \mathbf{z} \mid y) d \mathbf{z}=\int_{\mathbf{z}} p(\mathbf{z} \mid y) p(x \mid \mathbf{z}, y) d \mathbf{z}

Fig2. 简单推导示意图

下面介绍\mathbf{z}的几种形式。

Transformation

Congealing algorithm:假设每个类别都存在一个latent image,每个属于该类的图像都是通过该latent image经过潜在变换\mathbf{z}_{tran}生成的。需要说明的是,不同类别间共享该潜在变换,因此转换概率独立于类别,因此公式(3)可写为:
p(x \mid y)=\int_{\mathbf{z}_{tran}} p(\mathbf{z}_{tran}) p(x \mid \mathbf{z}_{tran}, y) d \mathbf{z}_{tran}
p(\mathbf{z}_{tran})可由辅助数据集{D}_{A}学习。

缺点:Congealing algorithm只能用于简单的数字或字符的灰度图像,对彩色的RGB图像进行共享变换在数学上是无法实现的。

Parameters

VBF方法使用概率模型度量一个物体存在于一个RGB图像中的概率,概率模型中需要学习许多参数\mathbf{z}_{para}。因此,VBF使用所谓的constellation model定义p(\mathbf{z}_{para} \mid y),利用变分法在辅助数据集{D}_{A}上估计\mathbf{z}_{para}

Superclass

在类别概念上引入超类的概念,提出层次贝叶斯模型(Hierarchical Bayesian model,HB)。关键在于同一个超类下的类别继承该超类相同的相似度量矩阵,通过超类变量\mathbf{z}_{sup},公式(3)可写为:
p(x \mid y)=\sum_{\mathbf{z}_{sup}} p(\mathbf{z}^{y}_{sup}) p(x \mid \mathbf{z}^{y}_{sup})
其中p(\mathbf{z}^{y}_{sup})= p(\mathbf{z}_{sup} \mid y)y所属超类的先验分布,p(x \mid \mathbf{z}^{y}_{sup})=p(x \mid z_{sup},y)是已知超类条件下的样本数据的概率分布。

Programs

BPL使用贝叶斯方法构建字符对象生成过程的模型。该程序对primitives, sub-parts, parts, types, tokens和images进行自底向上的解析分析。在生成过程中使用的中间类型与表示被认为是潜在变量z_{prog}。通过对每个字符概念使用特定的概率程序,BPL可以获得当前字符对象的组合性和因果性,同时进行一次分类;在给定样本后生成新的样本并产生新的字符类别。

Splits

Chopping model引入辅助数据集{D}_{A}中的随机数据分割\mathbf{z}_{spl}作为潜在变量度量原始图像x与类别标签y之间的关系。该模型在{D}_{A}上进行多次分割,将1类分给辅助标签的一半,0类分给另一半,同时对每个分割训练预测器。对于{D}_{T}中的图像,Chopping model合并来自所有特定分割的预测器的预测值来实现贝叶斯后验决策。

Reconstruction

与BPL不同,CMP模型不依赖字符图片上动态笔划的知识。该模型的核心假设与BPL类似:同类别的图像共享相同的块状结构。首先{D}_{trn}中每个类别的样本进行组合,之后用AND-OR图重构{D}_{tst}中的测试样本。重构的本质在于生成用于为测试集分类的潜在变量\mathbf{z}_{rec}

Statistics

神经统计学模型构建了一个深度网络结构生成统计量,该统计量封装了对每个{D}_{trn}的生成模型。具体来说,该统计量被描述为在潜在空间中指定了均值和方差的特定的正态分布。同时利用潜在变量\mathbf{z}_{stat},神经统计学模型可以实现少样本学习的生成和预测任务。

总结

除了神经统计学模型,其余模型都是在非深度阶段诞生的。

缺点

  1. 大部分模型均根据特定的情境或数据量身定制,模型缺乏可扩展性(泛化性)。
  2. 这些模型的实验结果基于的训练数据集各不相同,没有baseline。

4 DISCRIMINATIVE MODEL BASED APPROACHES

基于判别模型的FSL方法利用训练数据{D}_{trn}直接构建后验概率模型p(y \mid x),该模型通常包含一个特征提取器和预测器。例如,在少样本图像识别任务中,特征提取器和预测器可能分别为CNN和softmax层。由于训练样本较为稀少,这样构造的模型很容易发生过拟合,因此,基于判别模型的FSL方法通过不同的角度构建后验概率模型p(y \mid x)

4.1 Augmentation

一种直观的增加样本数量或增加样本多样性的方法。

Augmentation的方法在视觉领域包括:旋转、反转、裁剪、平移以及加入噪声。但在FSL任务中,这些方法不足以使FSL模型的泛化性能得到本质提升,因此,在深度阶段提出了更为复杂的Augmentation模型、算法以及网络结构。下图给出了基于增强方法的一个总体框架:

Fig3. 增强方法的一般框架

在众多方法中,DAGAN直接在数据层面上对训练数据集{D}_{trn}进行Augmentation,其他方法均在特征层面对训练样本进行Augmentation。

在进行数据Augmentation时,根据是否需要外部信息(例如:语义属性、词向量),可将基于FSL的Augmentation方法进一步划分为监督和无监督两类。

4.1.1 Supervised Augmentation

如下图所示,将特征空间(feature space)记为\Omega_{fe},外部信息空间(side information space)记为\Omega_{si},学习到的增强\mathcal{A}(*)本质上是从\Omega_{si}\Omega_{fe}上的映射,只是映射的方法和使用的模型各不相同。

Fig4. 带监督的增强方法
  • FTT:主要针对少样本场景图像分类任务。利用场景图片上连续的属性(例如:“rainy”, “dark” or “sunny”)直接合成特征。特别地,FTT利用辅助的场景类别学习到一个线性的轨迹映射,该映射将属性a映射到特征x上(公式(7))。如下图所示,在只有单样本的情况下,人工设置其数型的数值(例如:设置光照强度),并通过公式(7)训练好的线性轨迹映射,可以合成许多特征。缺点:FTT需要对细粒度的连续属性标注,数据准备阶段成本较高。

\mathbf{x}=\mathbf{w} \cdot a+\mathbf{b}+\epsilon

Fig5. FTT示意图
  • AGA:构建一个编解码网络结构将样本特征映射到一个与输入特征的属性强度不同的合成特征中。如下图所示,AGA的目的是在辅助类(例如桌子、椅子)上学习一个类不可知的特征转换模型\phi^{3}_{[1,2]},用目标类深度范围1-2[m]的物体特征作为输入,输出深度为3[m]的合成特征。通过该方法可以将任务类单样本数据特征增强为不同深度的特征。与FTT不同在于:FTT是从\Omega_{si}\Omega_{fe}的映射,AGA是从\Omega_{fe}\Omega_{fe}的映射。此外,FTT中合成特征通过线性映射作为指导,AGA则是通过专门处理两个特定属性强度之间的特征映射编解码器网络来实现。
Fig6. AGA示意图
  • Dual TriNet:同样使用编解码器网络结构。除了网络架构不同之外,Dual TriNet在embedding阶段会使用额外的语义属性或词向量。Dual TriNet在embedding阶段构建了语义高斯场或语义领域,在其中可采集大量语义向量用于解码(合成特征)。映射过程:从\Omega_{fe}\Omega_{si}再到\Omega_{fe}的映射。
  • AT:利用topic model建立图像与属性之间的模型。每张图片被看作是包含混合主题(属性)的文档,每个主题可由词(特征)的概率分布表示,可在辅助数据集上进行参数估计。对于参数已知的概率分布,给定类别属性,可由此生成大量特征。
  • ABS-Net:首先在辅助数据集上学习属性,并建立属性库。对于给定的类别属性描述,在属性库中进行概率抽样可将该属性映射到属于该类的伪特征上。

4.1.2 Unsupervised Augmentation

  • GentleBoostKO:早期非深度的方法。通过knockout procedure合成特征:将一个特征当中的元素替换为另一个特征对应坐标下的元素,利用这种增强后的“损坏的”样本提升FSL学习的鲁棒性。
  • SH(Shrinking and Hallucinating):基于类内变化可推广到各个类当中(例如,姿态的转换)的动机,类似于FTT和AGA。区别在于FTT和AGA对类内变化直接通过辅助数据描述(例如:光照强度、对象的深度等)。而SH通过从隐式变换类推到四联体(\mathbf{f}^{a}_{1},\mathbf{f}^{a}_{2},\mathbf{f}^{b}_{1},\mathbf{f}^{b}_{2})形式挖掘类内变换,其中a,b代表两个类别。这些四联体是由一个无监督聚类和许多启发式步骤从辅助数据集挖掘出来的。此外,一个基于多层神经网络(MLP)的映射G也通过四联体学习:输入三个特征,输出一个合成特征,即:\hat{\mathbf{f}}_{2}^{b}=G\left(\mathbf{f}_{1}^{a}, \mathbf{f}_{2}^{a}, \mathbf{f}_{1}^{b}\right)。对于给定类别的一个样本,可通过G类似的推断出合成后的特征。
Fig7. SH示意图
  • \Delta-encoder:类似于FTT、AGA和SH。从辅助数据集中挖掘类内转换(\Delta),将其用于新的目标类中,合成目标类中的新样本。类似于SH,\Delta-encoder同样基于四联体类进行转换,区别在于处理四联体之间关系的映射模型不同:SH使用一个简单的MLP,\Delta-encoder使用编解码网络结构,其embedding过程试图学习类内的转换\Delta。(讨论:为何他是无监督的方法?)
  • Hallucinator:如下图所示,Hallucinator用基于MLP的生成器G增强训练数据中的特征,即:\hat{\mathbf{f}}=F(\mathbf{f},\mathbf{z}),其中。该生成器被设计成一个即插即用的模块(plug-and-play module),可被整合到各种现成的元学习模块中,如Matching Nets、Prototypical Nets或Prototype Matching Nets。
Fig8. Hallucinator示意图
  • CP-ANN:利用基于 set-to-set translation的GAN实现少样本的特征增强,目的是在增强过程中保持辅助数据集的协方差。
  • DAGAN、IDeMe-Net:输入训练数据,通过条件GAN直接生成类中的数据(即:从\Omega_{da}\Omega_{da})。两幅相似图像之间的视觉融合能够维持关键的语义信息,同时有助于形成分类器的决策边界,因此有学者提出了IDeMe-Net生成少两样本的畸变图像。与Hallucinator类似,DAGAN和IDeMe-Net都可与其他现成的基于元学习的FSL方法协同工作,例如Matching Nets和Prototypical Nets。

总结

增强方法与其他方法并不冲突,反而可以作为其他方法的补充:例如上述方法可作为元学习的插件,或者通过增强将原训练样本D_{trn}扩充为D_{trn}^{aug},再利用其他FSL方法完成学习目标。

4.2 Metric Learning

度量学习的目标为学习一个相似度矩阵S(*,*),其中相似的样本对有较高的相似度得分,不相似的样本对分值较低。如下图所示,基于度量学习的FSL方法利用辅助数据集创建相似度矩阵,之后用于预测。相似度矩阵可用距离、网络或其他可行的算法构建,只要能够度量两两特征间的相似度即可。下面介绍一些构建S的方法。

Fig9. 度量学习方法的一般框架
  • CRM(Class Relevance Metrics):非深度时期的方法,利用马氏距离(公式(7))度量特征间的相似度。其中矩阵A=W^{T}W是从辅助数据集学习到的半正定矩阵。CRM使用hinge loss,相似类间距离与不相似类间距离至少小\gamma

d\left(x_{i}, x_{j}\right)=\sqrt{\left(x_{i}-x_{j}\right)^{\top} A\left(x_{i}-x_{j}\right)}=\left\|W x_{i}-W x_{j}\right\|_{2}

  • KernelBoost:通过boosting算法,以核函数的形式学习距离。这里核函数是一些弱核函数的组合:K(x_{i},x_{j})= \sum_{t=1}^{T} \alpha_{t}K_{t}(x_{i},x_{j})。每个弱核函数K_{t}(*,*)从数据中学习一个高斯混合分布(GMM),K_{t}(x_{i},x_{j})表示在第t个GMM中x_{i}x_{j}属于同一高斯分量的概率。通过指数损失优化核函数:

\ell=\sum_{i, j} \exp \left(-y_{i j} K\left(x_{i}, x_{j}\right)\right)

  • Siamese Nets:首次使用深度神经网络在FSL任务中。如下图所示,它包括共享参数的两个孪生CNNs,输入一对样本\left(x_{i}, x_{j}\right),输出相似得分\mathbf{p}\left(x_{i}, x_{j}\right)。训练使用的损失函数为binary cross-entropy loss(公式(9))。训练好的CNNs参固定,可直接用于决策推断。

\ell=\sum_{i, j} y_{i j} \log \mathbf{p}\left(x_{i}, x_{j}\right)+\left(1-y_{i j}\right) \log \left(1-\mathbf{p}\left(x_{i}, x_{j}\right)\right)

Fig10. Siamese Nets示意图
  • Triplet Ranking Nets、SRPN(Skip Residual Pairwise Net):Triplet Ranking Nets将Siamese Nets从样本对扩展为样本三联体,利用triplet ranking loss优化度量空间,得到样本间的相似度矩阵。SRPN对Siamese Nets进行两个优化:(1)在顶层使用更为复杂的skip residual network代替简单的两两组合,分离了对样本对的中间计算过程,如图所示。(2)利用GAN对skip residual network进行正则,将skip residual network作为判别器,将另一个编解码器作为生成器。因此,SRPN的度量损失自然被纳入到GAN的对抗损失中。
Fig11. SRPN示意图
  • MM(Memory Module):MM构建了一个life-long memory模块学习相似度矩阵,它将测试数据的特征作为查询q并存储许多与值(类别标签)相关联的不断更新的键。优化过程中使用hinge-based memory loss(公式(10))。一个键是正类还是负类是通过将它的值与q的类标签进行比较来确定的。

\ell=\sum_{q}\left[q^{\top} k^{-}-q^{\top} k^{+}+\gamma\right]_{+}

  • AdaptHistLoss:采用 histogram loss来学习一个特征空间,利用简单的余弦距离可以有效地度量两个特征之间的相似性。

\ell=\int_{-1}^{1} p^{-}(s)\left[\int_{-1}^{s} p^{+}(z) d z\right] d s=\mathbb{E}_{s \sim p^{-}}\left[\int_{-1}^{s} p^{+}(z) d z\right]

4.3 Meta Learning

元学习的思想早在20世纪90年代就被提出了。随着深度学习的普及,一些研究提出利用元学习策略来学习优化深度学习模型。总的来说,元学习提倡跨任务学习,然后适应新的任务,如图所示,其目的是在任务层面上学习,而不是在样本层面上学习:学习“任务不可知的”学习系统,而不是有具体任务的模型。

Fig12. 元学习的一般框架

FSL是验证跨任务元学习方法学习能力的天然试验台,每个任务中只有几个带标记的样本,元学习方法分为元训练和元测试两个阶段。

在元训练阶段,通过在辅助数据集D_{A}上构建许多独立的监督学习任务:T \sim p(T)(称为“episode”),其中P(T)定义了任务的分布。训练过程学习如何适应未来相关的任务。“相关”意味着未来的任务与训练任务都来自于P(T),遵循相同的任务范式,例如所有的任务都是C-way,K-shot的问题。每个训练任务T都有特定的任务数据集D_{T}= \{ D_{trn},D_{tst}\}

在元测试阶段,训练好的模型在新的任务:T \sim p(\cal T)上进行测试,测试标签空间与元训练期间的标签空间是不相交的。训练集和测试集又被称为支持集(描述集)和查询集,因此其中的样本又被称为支持样本和查询样本。

元学习的优化任务为找到在所有任务上期望损失L(*;\theta)达到最小的模型参数\theta
\min _{\theta} \mathbb{E}_{T \sim P(T)} L\left(D_{T} ; \theta\right)
必须强调,元学习是一种高层次的跨任务学习策略,而不是一种特定的FSL模型。通常将基于元学习的FSL方法分为:L2M、L2F、L2P、L2A和L2R。

4.3.1 Learn-to-Measure

L2M方法继承了度量学习的基本思想(参考度量学习基本思想图),只是与上文介绍的度量学习在实现级别上有所不同:L2M方法希望学习到可以跨任务转移的相似度矩阵。

数学语言描述:对于任务T,令x_{i}D_{trn}上的支撑样本,x_{j}D_{tst}上的查询样本,f(*;\theta_{f})g(*;\theta_{g})分别表示支撑样本和查询样本的embedding模型。此外,所有L2M方法都包括一个度量模块S(f,g;\theta_{S})用于度量支撑样本和查询样本的相似度,可能是一个无需参数的距离矩阵或可学习的网络结构。该度量模块输出的相似度作为查询样本的最终预测概率。现有的L2M方法的差异主要体现在f,g和S的设计和选择上。

Fig13. L2M方法的发展历史
  • Prototypical Nets及其变体

最早的L2M方法是Micro-set学习,当时还没有提出元学习概念。该方法人为的从辅助数据集D_{A}中构造与测试场景类似的Micro-set,每个Micro-set包含几个属于非任务类的支持样本以及查询样本。嵌入模型f和g通过共享权重的线性投影(例如f=g)实现,相似度矩阵S通过欧氏距离得到。利用NCA方法度量最终的概率。实际上,Micro-set即为如今的episode,每个Micro-set都是一个元训练任务T。将线性投影改为基于深度学习的嵌入模型,例如CNNs,Micro-set学习成为经典的Prototypical Nets。Prototypical Nets用同类支持样本嵌入的中心作为该类的原型:
p_{c}=\frac{1}{K} \sum_{\left(x_{i}, y_{i}\right) \in D_{\text {trn }}} \mathbb{1}\left(y_{i}==c\right) f\left(x_{i} ; \theta_{f}\right)
之后同样利用基于欧氏距离的NCA方法预测后验概率:
P\left(y_{j}=c \mid x_{j}\right)=\frac{\exp \left(-d\left(g\left(x_{j} ; \theta_{g}\right), p_{c}\right)\right)}{\sum_{c^{\prime}=1}^{C} \exp \left(-d\left(g\left(x_{j} ; \theta_{g}\right), p_{c^{\prime}}\right)\right)}
其中f和g也是共享权重的嵌入模型。该L2M框架是许多后续FSL方法的基础。

  • Matching Nets及其变体

基于深度学习的L2M方法被首次提出于Matching Nets。如图所示,通过度量查询样本x_{j}和支持样本嵌入后的余弦相似度预测查询样本x_{j}的后验概率:
p\left(\hat{y}_{j} \mid x_{j}, D_{\text {trn }}\right)=\sum_{\left(x_{i}, y_{i}\right) \in D_{\text {trn }}} a\left(x_{j}, x_{i}\right) \cdot \mathbf{y}_{i}

Fig14. Matching Nets示意图

其中,\mathbf{y}_{i}是一个C维的one-hot标签向量,且:
a\left(x_{j}, x_{i}\right)=\frac{\exp \left(c\left(g\left(x_{j} ; \theta_{g}\right), f\left(x_{i} ; \theta_{f}\right)\right)\right)}{\sum_{(x, y) \in D_{\text {trn }}} \exp \left(c\left(g\left(x_{j} ; \theta_{g}\right), f\left(x ; \theta_{f}\right)\right)\right)}
Matching Nets与Prototypical Nets区别:(1)嵌入模型f和g为两个不同的网络结构;(2)距离度量方式为余弦相似度。

  • Relation Net及其变体

Relation Net利用一个可以学习的CNN度量相似性,输入支撑样本和查询样本的feature map的连接,输出相似度得分r\left(x_{i}, x_{j}\right)

Fig15. Relation Net示意图

其中:
r\left(x_{i}, x_{j}\right)=h\left(\mathcal{C}\left(f\left(x_{i} ; \theta_{f}\right), g\left(x_{j} ; \theta_{g}\right)\right) ; \theta_{h}\right) \in[0,1]
其中:f=g\cal C为feature map的连接体。需要注意输入的是feature map而非feature vector。

4.3.2 Learn-to-Finetune

理解finetune:


Fig16. Finetune的理解

L2F(微调)方法希望利用少量的支持样本调整任务T的一个基础学习器,使得基础学习器在这些样本上快速收敛(在几个参数更新步中)。一般来说,每个L2F方法都包含一个基础学习器和一个元学习器。基础学习器针对特定的任务,输入样本后输出预测的后验概率,基础学习器通过元学习器(更高层次)进行学习。元学习器通过一系列元训练任务,最大化基础学习器在所有任务中的综合泛化能力。

\theta_{b}\theta_{m}表示基础学习器和元学习器的参数,将L2F的学习过程分为两个层次:跨任务的逐步学习,目的在于优化\theta_{m},促使基础学习器可以快速学习每个特定任务。

  • MAML

MAML具有很强的可解释性,对元学习和FSL领域均有深远的影响,其核心思想是通过交替任务训练策略寻找一个好的\theta_{b}的初始值,使得基础学习器能够使用少样本即可快速推广到新的任务中。具体来说,当基础学习器处理一个任务T时,其一步更新后的参数计算方式为:
\theta_{b}^{T}=\theta_{b}-\alpha \nabla_{\theta_{b}} L\left(D_{\mathrm{trn}}^{T}, \theta_{b}\right)
在元学习层次,MAML通过平衡更新后的基础学习器在各个任务中的损失,来更新元学习器的参数:
\theta_{m}=\theta_{m}-\beta \nabla_{\theta_{m}} \sum_{T \sim P(T)} L\left(D_{\mathrm{tst}}^{T}, \theta_{b}^{T} \right)
注意:在MAML中,元学习器其实是基础学习器,即,元学习器参数满足\theta_{m}=\theta_{b}。公式(18)是快速的学习过程,目的是将基础学习器的参数调整至适用于特定任务,而公式(20)是逐步的学习过程,目的是为基础学习器提取适当的初始化参数。
\theta_{b}=\theta_{b}-\beta \sum_{T \sim P(T)}\left(\theta_{b}-\theta_{b}^{T}\right)
MAML的发展路径如图所示:

Fig17. MAML的发展历史
  • Meta-Learner LSTM

使用基于LSTM的元学习器在少样本条件下对基础学习器进行微调。如图所示,基于LSTM的元学习器以基础学习器对每个支持样本的损失和梯度作为输入,将其隐藏状态作为更新后的基础学习器参数,用于处理下一个支持样本。

Fig18. Meta-Learner LSTM示意图

在该框架下,普通的梯度迭代方法被LSTM取代,专门针对需要参数更新的场景学习合适的更新。

4.3.3 Learn-to-Parameterize

主要思想:如下图所示,类似于L2F,L2P也包含一个基学习器和一个元学习器,希望为一个新的任务参数化基学习器或基学习器的某一部分,是指能够专门化的处理该任务。与L2F的区别在于,L2P中的两个学习器是同时训练的,元学习器实际上是一个针对特定任务的参数生成器。对于一个任务T,L2P方法学习如何将基学习器参数化以使其适用于特定的任务。参数化的部分可能包括:预测器部分,中间的特征提取层部分甚至整个基学习器。

Fig19. L2P的主要思想
  • Siamese Learnet

将一个Siamese Nets作为基学习器,其中一个中间的卷积层针对特定的任务进行动态学习。再将另一个单向的Siamese Nets作为元学习针对特定任务学习上述动态卷积层的权重。

Fig20. Siamese Learnet
  • LGM-Net

构造了一个MetaNet模块(元学习器),基于少量样本,生成TargetNet模块(基学习器)的权重。具体来说,在MetaNet模块中,输入支撑样本的平均特征,通过多元高斯采样后的编解码器生成基学习器每个卷积层的权重。

Fig21. LGM-Net示意图

4.3.4 Learn-to-Adjust

主要思想:L2A针对特定样本自适应调整基学习器中的计算流或计算节点,使该样本与基学习器兼容。L2A与L2P类似,都是利用元学习器调整改变基学习器,主要区别在于:(1)L2A对基学习器的改变程度较轻,只对其进行一些增量的调整,而不是对基学习器或其中某一部分进行完全的参数化干预。(2)L2A的调整是针对特定样本的,而L2P的调整是针对特定任务的,因此L2A是更细粒度的调整。

Fig22. L2A主要思想

不同L2A方法的主要区别在于需要调整的部分以及调整的策略,如下表所示:

Fig23. 不同的L2A方法以及区别

4.3.5 Learn-to-Remember

主要思想:为FSL任务的支持样本建立sequence模型,将FSL任务视为sequence学习任务,查询样本应当与之前看到的信息(支持样本)匹配。因此,L2R方法的基学习器通常需要使用temporal network处理支持样本的信息。


Fig24. L2R主要思想

总结

L2M方法不受测试场景中特定设置的限制:只对样本之间的距离进行度量后进行推断,不论类别个数与样本数量的多少。

L2F方法使用少样本对每个新任务进行微调,可能会导致对每个任务准备的适应周期较长。

L2P和L2A面临的挑战是需要学习大量的参数,此外,元学习器的模型复杂度很大程度上取决于它需要生成的参数的数量,增加了训练时的难度。

由于sequence学习中存在长期依赖的上限效应,L2A方法难以推广到一个新的支持样本略多的任务中。

4.4 Other Approaches

其他基于判别模型的小众FSL方法:

  1. 多任务学习
  2. 自监督学习
  3. ……

5 EXTENSIONAL TOPICS

主要介绍了几个新兴的FSL任务下的扩展内容,基于不同的应用场景和需求给出了对应的FSL策略。

5.1 Semi-supervised Few Sample Learning

S-FSL:在N-way K-shot任务的训练集D_{trn}中,不仅包含NK个带标签的支持样本,还有一些无标签的样本,他们可能属于C也可能不属于。可由这些样本共同训练FSL任务系统。使用的一些方法有:

  • 半监督聚类

  • 自监督学习

  • 自训练产生伪标签

5.2 Unsupervised Few Sample Learning

U-FSL:辅助数据集D_{A}完全不带标签:比经典的FSL更为通用的设置。主要目标是设置相对温和的FSL任务执行条件,弱化构建FSL学习器所需要的先决条件,因为收集一个属于非任务类的未标记辅助集比收集一个标记数据集更容易实现。例如,在大数据时代,人们可以通过网络爬虫轻松获取大量的未标记图像。

5.3 Cross-domain Few Sample Learning

经典的FSL方法默认辅助数据与样本数据来自相同的领域,当FSL要处理的任务以及样本来自与辅助数据集不同的领域时,需要使用C-FSL方法。辅助数据集和任务数据集之间的跨域转换对FSL任务提出了更高的要求。

Fig25. 跨领域FLS

C-FSL与领域自适应(DA)这一机器学习的经典研究方向密切相关。同时,也有一些基于DA的FSL方法,只是一些设置与C-FSL方法不同:DA中的标签在源域和目标域之间共享,而C-FSL任务中的标签在辅助数据集和任务数据集之间是分离的。主要方法有:

  • 对抗训练
  • 域对齐
  • 域微调
  • 特征合成
  • 集成方法

5.4 Generalized Few Sample Learning

经典的FSL方法很容易出现“遗忘”的问题,即:模型只对新任务中预定义的类进行推断,无法对辅助集中的类别进行推断。然而,在许多类和样本动态出现的应用中,FSL系统常常面临类与类之间训练数据极端不平衡的现象,即有些类拥有足够的训练样本,而有些类只有很少的训练样本。在这种情况下,对于数据有限的新任务类,在不忘记以前的非任务类的同时,提高FSL的学习能力是至关重要的。因此,G-FSL的重点是使FSL模型能够同时处理D_AD_T中的所有类。主要方法有:

  • 数据增强
  • 权重调整
  • class adapting principal directions
  • Variational Auto-Encoder

5.5 Multimodal Few Sample Learning

FSL使用的数据可能来自不同的模态。M-FSL主要分为以下两个阶段:多模态匹配以及多模态融合。

  • 多模态匹配:多模态匹配的FSL任务旨在学习从一种模态到另一种模态的映射(而非经典任务中一种模态到标签空间的映射)。例如:用句子描述图像或者用图像匹配语音
  • 多模态融合:它允许FSL学习器使用来自其他模态的额外信息来帮助学习任务模式。这些额外的模态信息将更多的先验知识带入FSL,为匮乏的训练样本提供了一种补救方法。
Fig26. 多模态FSL

6 APPLICATIONS

  • Computer Vision
  • NLP
  • Audio and Speech
  • Reinforcement Learning and Robotic
  • Data Analysis
  • Cross-Field Applications
  • Open Competitions
  • Other Applications

7 FUTURE DIRECTIONS

  • Robustness
  • Universality
  • Interpretability
  • Theoretical System

References

[1]Lu J, Gong P, Ye J, et al. Learning from Very Few Samples: A Survey[J]. arXiv preprint arXiv:2009.02653, 2020.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容