精华内容
下载资源
问答
  • 样本学习

    千次阅读 多人点赞 2020-07-14 23:30:31
    前言 这篇博客为阅读论文后的总结与感受,方便日后翻阅、查缺补漏,侵删! 论文: 零样本学习研究进展 ...更一般来说,零样本学习如果模型在训练过程中,只使用训练类的样本进行训练,,且在测..

    前言

    这篇博客为阅读论文后的总结与感受,方便日后翻阅、查缺补漏,侵删!

    论文:

    • 零样本学习研究进展
    • 零样本图像识别

    概念:

    零样本学习 (Zero-shot learning).,零样本学习是迁移学习的一种特殊场景;在零样本学习过程中,训练类集和测试类集之间没有交集,需要通过训练类与测试类之间的知识迁移来完成学习, 使在训练类上训练得 到的模型能够成功识别测试类输入样例的类标签。更一般来说,零样本学习如果模型在训练过程中,只使用训练类的样本进行训练,,且在测试阶段可以识别从未见过的测试类样例,,那么就认为该模型实现 了零样本学习。

    迁移学习:

    迁移学习简单来说,就是将一个学习任务A建立的模型可以迁移到学习任务B中;这里举个例子:人在实际生活中有很多迁移学习,比如学会了骑自行车,就比较容易学摩托车,学会了C语言,再学一些其它编程语言会简单很多。

    应用:

    在机器视觉领域,你如果想实现一个应用,而不想从零开始训练权重,比方从随机初始化开始训练,实现最快的方式通常是下载已经训练好的权重的网络结构,把它当做预训练迁移到你感兴趣的新任务上,这样可以节省大量的训练时间。

    如上图所示,已有一个模型,该模型输入x最后经Sigmoid处理可以输出猫和狗的概率;但现在我们有一个新任务分类猫、狗、猪、其他动物。这时我们不需要重新训练模型的所有参数,只需要修改模型最后一层并训练改层的参数。

    当然这不是绝对的,如果我们的训练集比较充分,可以选择从零开始训练我们模型的参数,这样分类效果可能更高;但如果我们的数据集较少,也可以选择冻结模型参数的一部分,训练模型的其他参数,实现特定任务的分类。

    零样本学习的基本思想:

    零样本学习利用训练集中的样本,和样本对应的辅助信息 (例如文本描述或者属性特征等) 对模型进行训练,在测试阶段利用在训练过程中得到的信息,以及模型的测试类辅助信息对模型进行补足,使得模型能够成功对测试集中的样例进行分类。我的理解,在训练样本中假设有个牛的样本,我们可以运用该样本集对神经网络模型进行训练,我们知道神经网络可以将输入样本压缩成隐空间的一个向量表示,如果在训练过程还得知,对应隐空间的第i维数值表示待识别动物的体重,第j维数值表示待识别动物鼻子的长短;当我们如果规定,在隐空间的对应牛和训练样本距离很近,且第j维数值较大,我们有理由相信待识别的图像为大象图像。

    零样本学习结构示意图 :

    零样本学习的相关领域:

    • 单样本学习 

    单样本学习 (One-shot learning)是与零样本学习最为相似的研究领域,单样本学习希望识别模型可以实现仅使用某些对象类极为少量 (100 以 内, 甚至只有 1 个) 的训练样本,,就可以对这些类的样例进行识别。但是,单样本学习模型较差的泛化能力是它所具有的致命缺陷,如果测试阶段的样例与训练样例不是十分相似的话,那么单样本学习模型很有可能无法准确地识别测试样例的类标签.。因此,为了回避这一问题,零样本学习在单样本学习的基础上得以产生。

    • 偶然学习 

     “偶然学习” (Serendipitous learning, SL) 方法,该方法希望能够在给定的标签空间之外,识别未定义类标签的测试样例所属类标签;这一方法的核心思想是在对见过的训练类的样例进行识别的同时,也可以对从未见过的未见类样例进行聚类分析

    零样本学习经典模型:

    • 新任务的零数据学习 

    零数据学习的目标在于如何构造模型学习没有可用的训练数据、且只有类描述的分类器学习问题。因此在定义上,零数据学习与零样本学习本质上是相同的。零数据学习主要有(1)输入空间方法 (2)模型空间方法 。

    • (1)输入空间方法

    核心思想:

    利用训练类和测试类中对应于每一类的描述信息,对模型进行信息补充, 使得模型不再是简单的学习由输入样例到类标签的映射关系,而是把输入样例与对应类描述的信息对作为新的输入, 并学习其到类标签的映射关系。 在训练阶段,输入空间方法利用训练类的样本以及对应的类描述信息对模型进行训练,因为是直接在输入阶段,对模型所需要的信息进行了补充,所以该 方法被命名为输入空间方法。个人理解:即测试阶段将测试集类描述信息与已知训练集的辅助联系起来,从而确定未知样本的类别。

    示意图 : 

    上述过程简单来说:训练过程,将训练样例的描述信息D_{tr}看做该样例的类别和训练样例^{}X_{tr}一块输入到模型中进行训练,得到D_{tr}X_{tr}映射关系f。测试阶段,将未知类别的测试样例输入到模型f中,找到待分类样例的描述信息,从而确定类别的方法。

    • (2)模型空间方法 

    核心思想:

    模型空间方法假设对于每一类 y, 都存在对应的分类函数 d(y)∈D。 假定 d(y)为该类所对应的描述信息,用把分类函数参数f_{f}(.)化为g_{d(y)}(x)即令: 

    零数据学习问题变为用 d(y) 和输入样例学习g_{d(y)}(x)的表示问题,例如,可以使用以下平均损失最小化来求解模型参数::

    通俗来讲:训练阶段,如果可以利用给定的 x_{i}y_{i}以及 d(y)^{i}对函数 g 进行充分的训练,在测试阶段,假定每一个测试类都具有给定的 d(y) 时,就可以利用训练阶段学习到的函数 g, 计算每个测试类样例所对应的分类函数g_{d(y)}(x),这样,就可以利用这一系列测试类函数族,来判断测试类输入样例的类标签。

    示意图 : 

    个人感觉这个和输入空间方法是一样的,但论文给的解释为:与输入空间方法相比, 模型空间方法具有更 强的泛化能力, 输入空间方法相当于令 gd(y)(x) = g(x,d(y)), 可看作是模型空间方法的特例. 模型空 间方法将 d(y) 作为调整模型 gd(y)(x) 的参数,不太理解。

    • 语义输出编码零样本学习

    具体做法:先定义多维的语义特征空间,每个维度都对应一个二值编码特征。例如,对于 “狗” 这一类标签来说,在 “多毛”、“有尾巴”、“水下呼吸”、“肉食 性” 和 “可以快速移动” 5 条语义特征下的语义空间中,“狗” 这一类可以利用布尔值表示为语义特征向量 [1, 1, 0, 1, 1],(这里假设知识库只有这5个语义知识)。定义语义输出编码分类器为 H :X → Y,假定 H 是复合映射函数H = L(S(·)),S 函数负责将图像映射到语义空间,L 函数负责将语义编码空间映射到标签集上。 L函数通过查询知识库 K 中语义编码与类标签的对应关 系实现映射。

     学习过程示意图:

    个人感觉这个和新任务的零数据学习相比,就是把新任务的零数据学习中的描述信息D_{tr}进行了one_hat编码而已。

    • 基于属性类间迁移的未见类学习 

    基于属性类间迁移的未见类检测方法, 这一模型可谓是零样本学习的奠基之作,现有的零样本学习方法大多都继承了该模型的思想,Lampert 等建立的数据集 “Animals with attributes” 也成为研究零样本学习所必须使用的数据集之一。

    下面介绍两种拓扑结构零样本学习模型,分别为(1)直接属性预测 (Direct attribute prediction, DAP) 模型,(2)间接属性预测 (Indirect attribute prediction, IAP) 模型。

    • (1)直接属性预测 (Direct attribute prediction, DAP) 模型

    假定y_{1} ,··· ,y_{k}为训练类, y_{k+1},··· ,y_{k+L} 为 测试类; a_{1},··· ,a_{M}为全部属性特征的集合。在测试阶段时,尽管模型从未针对测试类进行训练,但属性层仍然可以利用训练阶段得到的属性分类器 β 对输入的测试类图像所具有的属性进行判断,得到输入图像的属性特征估计之后,就可以利用得到测试样例的属性特征估计以及测试类的属性指示对输入样例进行分类判断。通俗来讲:假设我们要通过{有无尾巴,体积大小、头有没有角}来对动物种类识别,属性分类器 β 可以提取输入图像有无尾巴?体积有多大?头有没有角?,得到的结果与测试类的属性指示对输入样例进行分类判断。

    • (2)间接属性预测 (Indirect attribute prediction, IAP) 模型

    分类公式如下图所示:

    •  跨模态迁移的零样本学习 

    核心思想:

    跨模态迁移学习的核心思想是将图像和类标签同时映射到相同的子空间内, 目前通常是将图像和类标签同时映射 (或称为嵌入 (Embedding)) 到语义空间中, 并在语义空间内, 利用一定的相似性度量方法,去确定测试类输入图像的类标签。

    学习示意图:

    上图五边形白点代表测试类 “猫” 的输入图像在语义空间中的表示, 除此之外的白点代表训练类的输入图像在语义空间中的映射向量。在该方法中,黑点代表所有类标签的语义向量,所有的语义向量都是预先给定的辅助信息,这些语义向量可以是 属性向量,也可以是使用文本描述生成的单词语义向量。 训练阶段,首先利用训练类标签对应的语义向量和训练类的样例对跨模态映射模型进行训练。训练后,映射模型可以成功地将输入样例映射到语义空间中,并准确地映射到输入样例所对应的类标签的语义向量附近,测试阶段,输入测试类的样例时, 首先利用训练阶段得到的跨模态映射模型将测试类输入样例映射到语义空间中,并根据相似性判断方法 (如余弦相 似性、K 近邻方法等), 将与输入样例的的语义向量估计最为相似的语义向量的类标签, 作为测试类图 像的类标签估计。

    简单来说,将类标签映射到语义空间中,根据训练集依据一定原则来训练样例到语义空间的映射关系f,原则即:“样例映射到语义空间中应该在类标签向量周围”,依据映射关系f将测试集也映射到语义空间中,并根据相似性判断方法确定其类别。

    零样本学习关键问题:

    • 广义零样本学习 (Generalized zero-shot learning)

    零样本学习在测试阶段,只有未 见类样例出现。” 这在实际应用中是不现实的,已见类的对象往往是现实世界中最为常见的对象, 而且,如果在训练阶段已见类样本容易得到、未见类样本难以获取, 那么在测试阶段就也不应只有未见类样例出现。

     广义零样本学习定义:

    如果模型在训练过程 中,只可以使用训练类的样本进行训练,并且在测试 阶段可以准确识别已见类样例以及从未见过的未见类样例,那么就认为该模型实现了广义零样本学习。

    虽然广义零样本学习定义十分简单, 但传统零样本学习方法仍会出现上述未见类识别准确率较低的问题,这是因为模型在训练过程中只使用了已见类样本进行训练,已见类的先验知识也更为丰富,从而使得已见类模型占主导地位。所以在输入测试样例时,模型会更加倾向于对未见类样例标注为已见类的标签,从而造成识别准确率与传统零样本学习相比的大幅度下跌对于这一问题, 一般有两种解决方法,一种是 在输入样例时,判断其属于已见类或未见类,这种方 法称为新颖检测;另一种方法是在模型判断输入样例为已见类时,叠加一个校准因子以平衡模型对已见类识别的倾向性, 这一种方法称为叠加校准,两种方法具体内容如下。

    • 枢纽度问题 (Hubness)

    这一问题是指将原始空间 (例如图像特征空间或类标签空间) 中的某个元素映射到特征子空间中,得到原始空间中某个元素的在特征子空间中的新表示,这时如果使用 K 近邻方法进行相似性度量时,可能会有某些原始空间中无关元素映射到多个测试样本特征空间中表示最近的几个近邻中, 而这些无关向量,就称为 “枢纽 (hub)”, 枢纽的出现,污染了测试类的近邻列表,对零样本学习产生了较大的影响。所有利用特征子空间的机器学习模型,都会存在这一现象,维度越高,这一现象愈发明显。简单来说,就是在原特征空间类别可分的样例,映射到特征空间中出现类别不可分的现象。

    枢纽化现象的示意图:.

    • 映射域偏移问题 (The projection domain shift problem)

    映射域偏移问题的根源在于映射模型较差的泛化能力:模型使用了训练类样本学习由样例特征空间到类标签语义空间的映射,由于没有测试类样本可以用于训练,因此,在映射测试类的输入样例时,就会产生一定的偏差。示意图如下所示:白色圆点为训练类标签的语义向量,黑色圆点为测试类标签的语义向量,灰色圆点为测试类输入在语义空间中的映射向量,其余为训练类在语义空间的映射向量,可以看出,老虎、马和斑马为训练类, 熊猫为测试类,训练类的样本都很好地映射到了训练类语义向量的附近,而测试类输入样例映射到语义空间后,却与它所对应的类标签距离较远。 因此,如果想要解决映射域偏移问题,就需要提高映射模型的泛化能力。

    映射域偏移问题示意图:

    零样本学习方法研究进展 :

    目前的零样本学习方法一般都沿袭了将输入和输出映射到子空间的思路,在这一思路下的零样本学习方法可以分为两类:“相容性模型” (主要是DAP 模型)和 “混合模型”(主要是IAP 模型)。

    • (1)相容性模型结构示意图(主要是DAP 模型)

    相容性模型又分为线性相容性模型和非线性相容性模型。 非线性相容性模型使用非线性相容函数,与线性相容性模型相比具有着更强的表达能力;因此, 目前的零样本学习研究中,非线性相容性模型在相容性模型中占据主流地位。

    • 线性相容性模型分类示意图 :

    线性相容性模型与非线性相容性模型的主要区别在于 F(θ(x),ϕ(y),w) 是否为线性函数。 在线性相容性模型中,相容性函数定义为:

    线性相容性零样本学习模型:分别是深度语义嵌入模型、属性标签嵌 入模型、属性描述替换模型、文本描述替换模型、多视图零样本学习模型和细粒度数据视觉描述的深度表示模型。

    • 深度语义嵌入模型:

    • 属性标签嵌 入模型:

    •  属性描述替换模型:

    • 文本描述替换模型:

    • 多视图零样本学习模型:

    • 细粒度数据视觉描述的深度表示模型:

    • 非线性相容性模型分类示意图 :

     顾名思义,非线性相容性模型的相容性函数是非线性的, 一般来说有两种常见形式:(1)距离函数形式 (2)概率形式。我们将介绍 7 种典型非线性相容性模型:语义自编码器模型、语义嵌入一致 性度量模型、联合隐变量相似嵌入模型、隐嵌 入模型、反向深度嵌入模型、基于文本描述的 深度零样本卷积神经网络和基于随机森林的零 样本学习模型。 

    • 语义自编码器模型

    • 语义嵌入一致 性度量模型

    • 联合隐变量相似嵌入模型

    • 隐嵌 入模型

    • 反向深度嵌入模型

    • 基于文本描述的深度零样本卷积神经网络

    • 基于随机森林的零 样本学习模型

    • (2)混合模型结构示意图(主要是IAP 模型)

    利用训练类类标签所对应的特征子空间映射的混合组合来表示测试类输入样例在特征子空间中的映射,进而判断输入样例的映射与测试类类标签映射之间的相似性,得到输入样例类标签估计的模型,称为混合模型。简单来说:训练样例映射到特征子空间中,测试阶段过来一个测试样例同样方法可以映射到特征子空间中,且可以用其他已知样例的特征向量表示出来,比如熊猫 = 猫+熊,这样我们就可以预测输入的类别。

    混合模型分类示意图 : 

    •  语义凸组合模型 

    • 综合零样本学习模型 

    • 语义相似嵌入模型 

    • 高斯混合模型 

    • 结构预测模型 

    • 相关知识迁移模型

    • 属性回归类原型矫正模型 

    • 基于神经网络输出无监督学习应用的零样本学习

    • 辅助信息介绍 :

    辅助信息用于描述训练类和测试类, 并将训练类和测试类关联起来,使得训练类和测试类之间可以共享某些特征, 是成功实现零样本学习的关键,目前来说,有三种形式的辅助信息成功应用于零样本学习中,分别为:手工标注的属性、文本学习模型、 以及层次结。 

    • (1)手工标注的属性 (也称:基于属性的方法)

    属性特征向量表示形式为:a^{l} = \left \{ a_{1}^{l},a_{2}^{l},....,a_{M}^{l} \right \}l代表类标签索引值,,M为第 l个类标签中所有可能出现的属性个数;这种方法带来巨大的人力损耗。

    • (2)文本学习 (也称:基于词嵌入向量的方法)

    运用自然语言处理领域语义向量来表示,得到的特征表示为类标签单词在语义空间中的特征向量。目前,应用在零样 本学习中的自然语言处理工具共有三种:Bag-ofWords、Word2Vec和 GloVe。

    • (3)类层次结构关系 (也称:基于知识图的方法)

    WordNet 为包含100000 个英语单词的数据库, 可以提供大量的类层次结构关系, 可以使用多个相似性度量函数对各个类标签的相似度进行度量;层次结构信息在零样本学习中应用较少。

    零样本图像识别

    零样本图像识别通俗来讲,处理对象为图片的零样本学习。
    机器学习方法对比表:

    零样本图像学习技术结构图:

    其中,函数f是由训练数据集学习而来,用来完成 图像特征到嵌入空间的映射,函数一般选用最近邻算法或是其他更复杂的相似度计算方法,用来确定图像所属的类别标签 。目前根据在训练阶段是否使用未知类的无标记数据,可以将零样本学习分为两大类,分别是直推式零样本学习归纳式零样本学习。 

    •  直推式零样本学习:

    直推式零样本学习是指在训练阶段使用未知类的无标记数据,在训练阶段使用无标签未知类数据提高最终分类器对未知类的判别能力,如下图所示:一方面,利用未知类中的数据训练分类器可以提高在未知类上的泛化能 力;另一方面,未知类与已知类的数据相互结合用于学习,可以联合优化分类器 。 

    直推式零样本学习结构示意图如下: 

    • 归纳式零样本学习:

    归纳式零样本学习是指在分类器训练阶段只使用训练集数据学习函数 ,在测试阶段以并行方式对所有测试集数据进行类标签预测,预测过程相互独立,如下图所示:该方法也是目前零样本学习问题中应用最广泛的一种解决思路。 在归纳式零样本学习中最经典的方法就是 Lampert等人提出的直接预测模型(Direct Attribute Prediction, DAP)和间接预测模型(Indirect Attribute Prediction, IAP),前面已经介绍过,这里就不赘述啦。

     归纳式零样本学习结构示意图:

     工程应用 :

    (1)图像处理领域:

    • 人类姿态识别模型(可以精确地识别图片中人类的姿态)
    • 种不依赖于局部 和低维特征的指纹识别方法(实现在低廉的商用设 备上就能达到高精度的识别效果)
    • 基于零样本学习的语义输出编码分类器(对fMRI图像进行解码分析,做到了对从未见过的图像的预测功能)
    • Zero-shot Hashing算法(实现较以往哈希算法更优越的图像检索性能,同时规避了 高昂的人工标签成本)

    (2)视频处理领域:

    • 基于属性的零样本学习将属性特征运用在人类行为识别上
    • 了一种学 习潜在属性的模型(解决了稀疏标签群体社会活动理解中的 属性学习问题)
    • objects2action 模型(利用零样本学习实现在视频中动作的时空定位)
    • 辅助图像传输编码(解决了基于深度特征编码的 大规模视频情绪识别中对未知情绪的识别问题)

    (3)自然语言处理领域:

    • 多语种的神经机器翻译(NMT)模型(提升了在训练源数据不充足时的翻译质量)
    • 一种简单的零样本学习方法解决了预测一个文档的多个以前从未出现过的可能标签的问题

    关键技术:

    处理零样本学习问题中使用的普遍的步骤为:(1)提取视觉特征构建视觉空间; (2)提取语义特征构建语义空间;(3)实现视觉空间 与语义空间之间的映射构建嵌入空间。 

    • 视觉特征:(一般包括颜色、纹理、 形状等信息)

    (1)传统方法(只能提取图像的低级特征):

    •  描述颜色信息   {HSV、 Lab、HIS等颜色模型和HOG特征}
    • 描 述纹理信息   {灰度共生矩阵、Tamura特征、自回归模型和LBP算子}
    • 描述形状信息  {Hough变换、傅里叶形状描述符、SIFT、 SURF、Haar等特征 }

    (2)基于深度学习方法(可以提取图像的高级特征):

    tip:在零样本图像识别任务中,一般使用基于深度学习方法提取特征效果较好。

    零样本学习中使用较为广泛主要有(1)VGG(2)GoogleNet(3)ResNet

    零样本学习中深度卷积神经网络使用情况统计表:

    • 语义特征(类别的特征表示):

    语义特征提取的目的在于构建语义向量,它必须同时具有足够的语义性和较强的判断性。两者相 互矛盾,语义性强要求语义向量能够包含更多对象 的细节信息,其中包含了与分类任务不相关的信息,如动物的习性、人类的习惯、场景的描述等; 而判断性强则要求语义向量更应该关注最能区分不同对象类别的信息。如何平衡两者之间的权重,强 化零样本学习的泛化能力也是目前零样本学习领域的研究重点之一。

    零样本学习中主要的语义特征提取方法分为(1)基于属性(2)基于词嵌入向量(3)基于知识图;其中这3中属性前面已经介绍过了,这里同样不在赘述了。

    • 视觉---语义映射 :

    视觉-语义映射是解决零样本学习问题必不可少的基石,是图像特征与语义向量之间的连接的枢纽。一旦建立好视觉-语义映射,便可以计算任意未知类数据和未知类原型之间的相似度,并基于该相似度对未知类进行分类。

    构建视觉-语义映射主要有3种方式:

    (1)正向映射

    在视觉端构建,将图片特征映射到语义向量空间, 并在语义向量空间进行未知类识别。(通俗来讲:就是将图片特征映射成语义向量的形式

    (2)反向映射

    在语义端构建,将语义向量映射到图片特征空间,并在图片特征空间进行未知类识别。(通俗来讲:就是将语义向量映射成图片特征的形式

    (3)公共 映射

    该方式为零样本学习的主流映射方式;在公共端构建,将图片特征和语义向量映射到公共空间,比如嵌入空间,并在公共空间内完成识别任务。

     3种视觉-语义映射示意图:

    零样本学习领域常用数据集:

    它们分别是(1)AwA(2)CUB(3)aPY(4)SUN(5)Flower (6)Dogs(7)ImageNet。其中前6个数据集为小规模数据集,最后一个为大规模数据集。

    传统零样本学习VS泛化零样本学习 :

    • 传统零样本学习(conventional Zero-Shot Learning, cZSL)是指在实验阶段仅使用已知类训练模型,仅使用未知类测试模型。
    • 泛化零样本学习 (generalized Zero-Shot Learning, gZSL)是指在实验阶段仅使用已知类训练模型,则不再将测试数据强制认定为仅来自未知类,而是对测试数据的来源做更松弛化的假设(测试数据可以来自于所有类别中的任意对象类)。

    注意:上面两项与直推式零样本学习/归纳式零样本学习的区别与联系。

    一个切实有用的零样本学习系统应该既能精确地识别已知类,又能准确地区分未知类。它不但可以区分待识别对象是来自于已知类还是未知类,也可以识别待识别对象属于已知类或未知类中的哪种 物体。但是由于传统零样本学习的测试阶段设置过 于严苛,不能真实反映现实世界中物体识别的情 景,为了更好地评价零样本学习模型在实际情况中 的性能,泛化零样本学习必不可少。

     零样本学习性能比较(%):

    传统零样本学习性能比较选取两个量化指标对模型性能进行分析,其中SS表示数据集在标准分割规则下得到的识别精度,PS表示数据集在新提出的分割规则下得到的识别精度:(1)早期基于浅层图像特征的模型性能普遍较低,当使用深度卷积神经网络提取图像的深度特征后,性能大幅度提升。(2)零样本学习对于粗粒度数据集的性能要优于细粒度数据集,在表中表现为各个模型在AwA数据集上的性能均大于在CUB和 SUN数据集上的性能。

    泛化零样本学习性能比较选取3个量化指标对模型性能进行分析,其中U->T表示假设测试数据来自于未知类,但在所有对象类中进行识别, S->T表示假设测试数据来自于已知类,但在所有对象类中进行识别, H表示调和平均数。从对比结果可以发现:(1)大多数模型在泛化零样本学习设置下的性能指标都不理想,这说明了传统的零样本学习设置存在一定程度的缺陷,未能较真实地契合现实世界的分类情况;(2)QFSL模型在泛化能力上要明显好于其他模型,由于该模型属于直推式零样本学习模型,所以从侧面说明了只依靠已知类数据构建的 算法缺乏泛化能力。

    展开全文
  • 样本学习

    2021-01-02 17:08:50
    由于最近几年 Few-shot Learning 在图像领域的进展领先于在自然语言处理领域,所以第二部分结合其在图像处理领域的研究进展,详细介绍 Few-shot Learning 的三类典型方法及每种方法的代表性模型;接下来介绍在...

    有一个专门的机器学习分支——Few-shot Learning 来进行研究和解决。过去一年,我们对 Few-shot Learning 进行了系统的梳理和研究,将 Few-shot Learning 和 Capsule Network 融合,提出了 Induction Network,在文本分类上做到了新的 state-of-the-art。

     

    创新总是基于对已有成果的梳理和思考,这篇综述算是一个小结,写出来和大家一起分享,一起讨论。 

     

    本文先介绍 Few-shot Learning 定义;由于最近几年 Few-shot Learning 在图像领域的进展领先于在自然语言处理领域,所以第二部分结合其在图像处理领域的研究进展,详细介绍 Few-shot Learning 的三类典型方法及每种方法的代表性模型;接下来介绍在自然语言处理领域的研究进展以及我们对 metric-based 的方法进行系统总结后提出的 few-shot learning framework。

     

    问题定义

     

    人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-shot Learning 要解决的问题。 

     

    Few-shot Learning 是 Meta Learning 在监督学习领域的应用。Meta Learning,又称为 learning to learn,在 meta training 阶段将数据集分解为不同的 meta task,去学习类别变化的情况下模型的泛化能力,在 meta testing 阶段,面对全新的类别,不需要变动已有的模型,就可以完成分类。 

     

    形式化来说,few-shot 的训练集中包含了很多的类别,每个类别中有多个样本。在训练阶段,会在训练集中随机抽取 C 个类别,每个类别 K 个样本(总共 CK 个数据),构建一个 meta-task,作为模型的支撑集(support set)输入;再从这 C 个类中剩余的数据中抽取一批(batch)样本作为模型的预测对象(batch set)。即要求模型从 C*K 个数据中学会如何区分这 C 个类别,这样的任务被称为 C-way K-shot 问题 

     

    训练过程中,每次训练(episode)都会采样得到不同 meta-task,所以总体来看,训练包含了不同的类别组合,这种机制使得模型学会不同 meta-task 中的共性部分,比如如何提取重要特征及比较样本相似等,忘掉 meta-task 中 task 相关部分。通过这种学习机制学到的模型,在面对新的未见过的 meta-task 时,也能较好地进行分类。 

     

    图 1 展示的是一个 2-way 5-shot 的示例,可以看到 meta training 阶段构建了一系列 meta-task 来让模型学习如何根据 support set 预测 batch set 中的样本的标签;meta testing 阶段的输入数据的形式与训练阶段一致(2-way 5-shot),但是会在全新的类别上构建 support set 和 batch。

     

    图片

     图1:Few-shot Learning示例

     

    在图像领域的研究现状

     

    早期的 Few-shot Learning 算法研究多集中在图像领域,如图 2 所示,Few-shot Learning 模型大致可分为三类:Mode Based,Metric Based 和 Optimization Based。

     

    图片

     图2:Few-shot Learning模型分类

     

    其中 Model Based 方法旨在通过模型结构的设计快速在少量样本上更新参数,直接建立输入 x 和预测值 P 的映射函数;Metric Based 方法通过度量 batch 集中的样本和 support 集中样本的距离,借助最近邻的思想完成分类;Optimization Based 方法认为普通的梯度下降方法难以在 few-shot 场景下拟合,因此通过调整优化方法来完成小样本分类的任务。

     

    Model Based方法

     

    Santoro 等人 [3] 提出使用记忆增强的方法来解决 Few-shot Learning 任务。基于记忆的神经网络方法早在 2001 年被证明可以用于 meta-learning。他们通过权重更新来调节 bias,并且通过学习将表达快速缓存到记忆中来调节输出。

     

    然而,利用循环神经网络的内部记忆单元无法扩展到需要对大量新信息进行编码的新任务上。因此,需要让存储在记忆中的表达既要稳定又要是元素粒度访问的,前者是说当需要时就能可靠地访问,后者是说可选择性地访问相关的信息;另外,参数数量不能被内存的大小束缚。神经图灵机(NTMs)和记忆网络就符合这种必要条件。 

     

    文章基于神经网络图灵机(NTMs)的思想,因为 NTMs 能通过外部存储(external memory)进行短时记忆,并能通过缓慢权值更新来进行长时记忆,NTMs 可以学习将表达存入记忆的策略,并如何用这些表达来进行预测。由此,文章方法可以快速准确地预测那些只出现过一次的数据。

     

    文章基于 LSTM 等 RNN 的模型,将数据看成序列来训练,在测试时输入新的类的样本进行分类。

     

    具体地,在 t 时刻,模型输入图片,也就是在当前时刻预测输入样本的类别,并在下一时刻给出真实的 label,并且添加了 external memory 存储上一次的 x 输入,这使得下一次输入后进行反向传播时,可以让 y (label) 和 x 建立联系,使得之后的 x 能够通过外部记忆获取相关图像进行比对来实现更好的预测。

     

    图片

     图3:Memory Augmented Model

     

    Meta Network [12] 的快速泛化能力源自其“快速权重”的机制,在训练过程中产生的梯度被用来作为快速权重的生成。模型包含一个 meta learner 和一个 base learner,meta learner 用于学习 meta task 之间的泛化信息,并使用 memory 机制保存这种信息,base learner 用于快速适应新的 task,并和 meta learner 交互产生预测输出。

     

    Metric Based方法 

     

    如果在 Few-shot Learning 的任务中去训练普通的基于 cross-entropy 的神经网络分类器,那么几乎肯定是会过拟合,因为神经网络分类器中有数以万计的参数需要优化。

     

    相反,很多非参数化的方法(最近邻、K-近邻、Kmeans)是不需要优化参数的,因此可以在 meta-learning 的框架下构造一种可以端到端训练的 few-shot 分类器。该方法是对样本间距离分布进行建模,使得同类样本靠近,异类样本远离。下面介绍相关的方法。 

     

    如图 4 所示,孪生网络(Siamese Network)[4] 通过有监督的方式训练孪生网络来学习,然后重用网络所提取的特征进行 one/few-shot 学习。

     

    图片

     图4:Siamese Network

     

    具体的网络是一个双路的神经网络,训练时,通过组合的方式构造不同的成对样本,输入网络进行训练,在最上层通过样本对的距离判断他们是否属于同一个类,并产生对应的概率分布。在预测阶段,孪生网络处理测试样本和支撑集之间每一个样本对,最终预测结果为支撑集上概率最高的类别。

     

    相比孪生网络,匹配网络(Match Network)[2] 为支撑集和 Batch 集构建不同的编码器,最终分类器的输出是支撑集样本和 query 之间预测值的加权求和。

     

    如图 5 所示,该文章也是在不改变网络模型的前提下能对未知类别生成标签,其主要创新体现在建模过程和训练过程上。对于建模过程的创新,文章提出了基于 memory 和 attention 的 matching nets,使得可以快速学习。

     

    对于训练过程的创新,文章基于传统机器学习的一个原则,即训练和测试是要在同样条件下进行的,提出在训练的时候不断地让网络只看每一类的少量样本,这将和测试的过程是一致的。

     

    具体地,它显式的定义一个基于支撑集图片的分类器,对于一个新的数据图片,其分类概率由图片与支撑集 S 之间的距离度量得出:

     

    图片

     

    其中 a 是基于距离度量的 attention score:

     

    图片

     

    进一步,支撑集样本 embedding 模型 g 能继续优化,并且支撑集样本应该可以用来修改测试样本的 embedding 模型 f。

     

    这个可以通过如下两个方面来解决,即:1)基于双向 LSTM 学习训练集的 embedding,使得每个支撑样本的 embedding 是其它训练样本的函数;2)基于 attention-LSTM 来对测试样本 embedding,使得每个 Query 样本的 embedding 是支撑集 embedding 的函数。文章称其为 FCE (fully-conditional embedding)。

     

    图片

     图5:Match Network

     

    原型网络(Prototype Network)[5] 基于这样的想法:每个类别都存在一个原型表达,该类的原型是 support set 在 embedding 空间中的均值。然后,分类问题变成在 embedding 空间中的最近邻。

     

    如图 6 所示,c1、c2、c3 分别是三个类别的均值中心(称 Prototype),将测试样本 x 进行 embedding 后,与这 3 个中心进行距离计算,从而获得 x 的类别。

     

    图片

     图6:Prototype Network

     

    文章采用在 Bregman 散度下的指数族分布的混合密度估计,文章在训练时采用相对测试时更多的类别数,即训练时每个 episodes 采用 20 个类(20 way),而测试对在 5 个类(5 way)中进行,其效果相对训练时也采用 5 way 的提升了 2.5 个百分点。

     

    前面介绍的几个网络结构在最终的距离度量上都使用了固定的度量方式,如 cosine,欧式距离等,这种模型结构下所有的学习过程都发生在样本的 embedding 阶段。

     

    而 Relation Network [6] 认为度量方式也是网络中非常重要的一环,需要对其进行建模,所以该网络不满足单一且固定的距离度量方式,而是训练一个网络来学习(例如 CNN)距离的度量方式,在 loss 方面也有所改变,考虑到 relation network 更多的关注 relation score,更像一种回归,而非 0/1 分类,所以使用了 MSE 取代了 cross-entropy。

     

    图片

     图7:Relation Networks

     

    Optimization Based方法

     

    Ravi 等人 [7] 研究了在少量数据下,基于梯度的优化算法失败的原因,即无法直接用于 meta learning。

     

    首先,这些梯度优化算法包括 momentum, adagrad, adadelta, ADAM 等,无法在几步内完成优化,特别是在非凸的问题上,多种超参的选取无法保证收敛的速度。

     

    其次,不同任务分别随机初始化会影响任务收敛到好的解上。虽然 finetune 这种迁移学习能缓解这个问题,但当新数据相对原始数据偏差比较大时,迁移学习的性能会大大下降。我们需要一个系统的学习通用初始化,使得训练从一个好的点开始,它和迁移学习不同的是,它能保证该初始化能让 finetune 从一个好的点开始。 

     

    文章学习的是一个模型参数的更新函数或更新规则。它不是在多轮的 episodes 学习一个单模型,而是在每个 episode 学习特定的模型。

     

    具体地,学习基于梯度下降的参数更新算法,采用 LSTM 表达 meta learner,用其状态表达目标分类器的参数的更新,最终学会如何在新的分类任务上,对分类器网络(learner)进行初始化和参数更新。这个优化算法同时考虑一个任务的短时知识和跨多个任务的长时知识。

     

    文章设定目标为通过少量的迭代步骤捕获优化算法的泛化能力,由此 meta learner 可以训练让 learner 在每个任务上收敛到一个好的解。另外,通过捕获所有任务之前共享的基础知识,进而更好地初始化 learner。 

     

    以训练 miniImage 数据集为例,训练过程中,从训练集(64 个类,每类 600 个样本)中随机采样 5 个类,每个类 5 个样本,构成支撑集,去学习 learner;然后从训练集的样本(采出的 5 个类,每类剩下的样本)中采样构成 Batch 集,集合中每类有 15 个样本,用来获得 learner 的 loss,去学习 meta leaner。

     

    测试时的流程一样,从测试集(16 个类,每类 600 个样本)中随机采样 5 个类,每个类 5 个样本,构成支撑集 Support Set,去学习 learner;然后从测试集剩余的样本(采出的 5 个类,每类剩下的样本)中采样构成 Batch 集,集合中每类有 15 个样本,用来获得 learner 的参数,进而得到预测的类别概率。这两个过程分别如图 8 中虚线左侧和右侧。

     

    图片

     图8:Optimization as a model

     

    meta learner 的目标是在各种不同的学习任务上学出一个模型,使得可以仅用少量的样本就能解决一些新的学习任务。这种任务的挑战是模型需要结合之前的经验和当前新任务的少量样本信息,并避免在新数据上过拟合。 

     

    Finn [8] 提出的方法使得可以在小量样本上,用少量的迭代步骤就可以获得较好的泛化性能,而且模型是容易 fine-tine 的。而且这个方法无需关心模型的形式,也不需要为 meta learning 增加新的参数,直接用梯度下降来训练 learner。

     

    文章的核心思想是学习模型的初始化参数使得在一步或几步迭代后在新任务上的精度最大化。它学的不是模型参数的更新函数或是规则,它不局限于参数的规模和模型架构(比如用 RNN 或 siamese)。它本质上也是学习一个好的特征使得可以适合很多任务(包括分类、回归、增强学习),并通过 fine-tune 来获得好的效果。

     

    文章提出的方法,可以学习任意标准模型的参数,并让该模型能快速适配。他们认为,一些中间表达更加适合迁移,比如神经网络的内部特征。因此面向泛化性的表达是有益的。因为我们会基于梯度下降策略在新的任务上进行 finetune,所以目标是学习这样一个模型,它能对新的任务从之前任务上快速地进行梯度下降,而不会过拟合。事实上,是要找到一些对任务变化敏感的参数,使得当改变梯度方向,小的参数改动也会产生较大的 loss。

     

    在自然语言处理的研究现状

     

    早期的 Few-shot Learning 算法研究主要集中在小样本图像识别的任务上,以 MiniImage 和 Omnigraffle 两个数据集为代表。

     

    近年来,在自然语言处理领域也开始出现 Few-shot Learning 的数据集和模型,相比于图像,文本的语义中包含更多的变化和噪声,我们将在本节从数据集和模型两个方面介绍 Few-shot Learning 在自然语言处理领域的进展,以及我们团队基于对话工厂平台所做的探索。

     

    数据集

     

    1. FewRel 数据集 [11] 由Han等人在EMNLP 2018提出,是一个小样本关系分类数据集,包含64种关系用于训练,16种关系用于验证和20种关系用于测试,每种关系下包含700个样本。 

     

    2. ARSC 数据集 [10] 由 Yu 等人在 NAACL 2018 提出,取自亚马逊多领域情感分类数据,该数据集包含 23 种亚马逊商品的评论数据,对于每一种商品,构建三个二分类任务,将其评论按分数分为 5、4、 2 三档,每一档视为一个二分类任务,则产生 23*3=69 个 task,然后取其中 12 个 task(4*3)作为测试集,其余 57 个 task 作为训练集。 

     

    3. ODIC 数据集来自阿里巴巴对话工厂平台的线上日志,用户会向平台提交多种不同的对话任务,和多种不同的意图,但是每种意图只有极少数的标注数据,这形成了一个典型的 Few-shot Learning 任务,该数据集包含 216 个意图,其中 159 个用于训练,57 个用于测试。

     

    主要模型

     

    Gao [9] 等人提出文本与图像的一大区别在于其多样性和噪音更大,因此提出一种基于混合注意力的原型网络结构,如图 9 所示,首先使用 instance-level 的 attention 从支撑集中选出和 query 更为贴近的实例,同时降低噪声实例所带来的影响。

     

    然后 feature-level 的实例能够衡量特征空间中的哪些维度对分类更为重要,从而为每种不同的关系都生成相适应的距离度量函数,从而使模型能够有效处理特征稀疏的问题。

     

    图片

     图9:基于混合注意力的原型网络

     

    Yu [10] 等人指出在图像领域的 Few-shot Learning 任务中,比如 Omniglot 和 miniImage 数据集,所有的数据都是从同一个大的数据集采样而来,也就是说所有的 meta-task 都是来自同一个领域,所以相关性是很强的。

     

    所以之前的 Few-shot Learning 方法只需使用一个 meta model 即可解决剩余的 few-shot 任务。但是在现实场景当中,不同的 meta task 可能来自完全不同的领域,因此使用单独的度量方式不足以衡量所有的 meta task。 

     

    在这种场景下,Yu 提出使用多种度量方式融合来解跨领域的 Few-shot Learning 问题。在训练阶段,meta learner 通过任务聚类选择和结合多种度量方式来学习目标任务,不同领域的 meta task 首先通过聚类来划分,因此同一个簇内的 task 可以认为是相关的,然后在该簇中训练一个深度神经网络作为度量函数,这种机制保证了只有在同一个簇中的 task 才会共享度量函数。

     

    在测试阶段,为每个 test task 使用所有度量函数的线性组合作为任务适应的度量方式。

     

    图片

     

    在对话工厂平台的研究和应用

     

    我们团队基于目前 Metric Based 方法,提出了 Encoder-Induction-Relation 的三级框架,如图 10 所示,Encoder 模块用于获取每个样本的语义表示,可以使用典型的 CNN、LSTM、Transformer 等结构,Induction 模块用于从支撑集的样本语义中归纳出类别特征,Relation 模块用于度量 query 和类别之间的语义关系,进而完成分类。

     

    图片

     图10:Encoder-Induction-Relation三级框架

     

    如表 1 所示,之前的工作往往致力于学习不同的距离度量方式,而忽视了从样本表示到类表示的建模。而在自然语言当中,由于每个人的语言习惯不同,同一个类别的不同表述往往有很多种,如果仅仅是简单加和或取平均来作为类别的表示,这些与分类无关的干扰信息就会累加,影响最终的效果。

     

    因此我们的工作显式的建模了从样本表示到类表示这一能力,在 ODIC 和 ARSC 两个数据集上,超过了之前的 state-of-the-art 的模型,实验结果如表 2 所示。

     

    图片

     表1:Metric Based方法对比

     

    图片

     表2:ODIC数据集实验结果

     

    此外,我们在 ODIC 数据集上逐渐增加训练数据的类别数,如图 11,在测试集上得到的效果会逐渐提升,这满足了平台级的语言理解所需要的可泛化、可持续学习的需求。

     

    图片

     图11:ODIC数据集变化趋势

     

    总结

     

    本文从对话工厂平台的实际问题出发,对小样本学习方法进行了系统梳理和研究,给出了 Few-shot Learning 的定义,综述了其在图像和 NLP 领域的研究现状。

     

    针对 Metric Based 系列方法,我们提出了统一的 Encode-Induction-Relation 描述框架,介绍了我们团队在使用 Few-shot Learning 解决平台级自然语言理解所做的工作,即显式建模从样本表示到类表示的归纳能力。

     

    参考文献

     

    [1] Brenden M. Lake, Ruslan Salakhutdinov, Jason Gross, and Joshua B. Tenenbaum. One shot learning of simple visual concepts. In CogSci, 2011. 

    [2] Oriol Vinyals, Charles Blundell, Tim Lillicrap, Daan Wierstra, et al. Matching networks for one shot learning. In Advances in Neural Information Processing Systems, pages 3630–3638, 2016. 

    [3] Santoro A, Bartunov S, Botvinick M, et al. One-shot learning with memory-augmented neural networks[J]. arXiv preprint arXiv:1605.06065, 2016. 

    [4] Koch, Gregory, Richard Zemel, and Ruslan Salakhutdinov. "Siamese neural networks for one-shot image recognition." ICML Deep Learning Workshop. Vol. 2. 2015. 

    [5] Snell, Jake, Kevin Swersky, and Richard Zemel. "Prototypical networks for few-shot learning." Advances in Neural Information Processing Systems. 2017. 

    [6] Sung, Flood, et al. "Learning to compare: Relation network for few-shot learning." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018. 

    [7] Ravi, Sachin, and Hugo Larochelle. "Optimization as a model for few-shot learning." (2016). 

    [8] Finn, Chelsea, Pieter Abbeel, and Sergey Levine. "Model-agnostic meta-learning for fast adaptation of deep networks." Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017. 

    [9] Gao, Tianyu, et al. "Hybrid Attention-Based Prototypical Networks for Noisy Few-Shot Relation Classification." (2019). 

    [10] Yu, Mo, et al. "Diverse few-shot text classification with multiple metrics." arXiv preprint arXiv:1805.07513 (2018). 

    [11] Han, Xu, et al. "FewRel: A Large-Scale Supervised Few-Shot Relation Classification Dataset with State-of-the-Art Evaluation." arXiv preprint arXiv:1810.10147 (2018). 

    [12] Munkhdalai, Tsendsuren, and Hong Yu. "Meta networks." Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017. 

    [13] Geng R, Li B, Li Y, et al. Few-Shot Text Classification with Induction Network[J]. arXiv preprint arXiv:1902.10482, 2019. 

    [14] https://blog.csdn.net/qq_16234613/article/details/79902085 

    [15] https://lilianweng.github.io/lil-log/2018/11/30/meta-learning.html#learner-and-meta-learner

     


    参考资料

     PaperWeekly  小样本学习(Few-shot Learning)综述  https://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw%3D%3D&chksm=96ea2ee8a19da7fe9bf3d9cbf15c3a2fc6e3ca898e48a2d01207a7cdc2cd046c4087eda27637&idx=1&mid=2247496040&scene=21&sn=ebea875571ccc80a70a3166f62b9640b#wechat_redirect

    若有侵权,请联系删除~

    展开全文
  • 样本学习综述

    千次阅读 2019-04-02 11:02:32
    问题定义 人类非常擅长通过极少量的样本识别一个新...在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-sh...

    原文链接:https://mp.weixin.qq.com/s/-73CC3JqnM7wxEqIWCejWQ

     

    问题定义

     

    人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-shot Learning 要解决的问题。 

     

    Few-shot Learning 是 Meta Learning 在监督学习领域的应用。Meta Learning,又称为 learning to learn,在 meta training 阶段将数据集分解为不同的 meta task,去学习类别变化的情况下模型的泛化能力,在 meta testing 阶段,面对全新的类别,不需要变动已有的模型,就可以完成分类。 

     

    形式化来说,few-shot 的训练集中包含了很多的类别,每个类别中有多个样本。在训练阶段,会在训练集中随机抽取 C 个类别,每个类别 K 个样本(总共 CK 个数据),构建一个 meta-task,作为模型的支撑集(support set)输入;再从这 C 个类中剩余的数据中抽取一批(batch)样本作为模型的预测对象(batch set)。即要求模型从 C*K 个数据中学会如何区分这 C 个类别,这样的任务被称为 C-way K-shot 问题 

     

    训练过程中,每次训练(episode)都会采样得到不同 meta-task,所以总体来看,训练包含了不同的类别组合,这种机制使得模型学会不同 meta-task 中的共性部分,比如如何提取重要特征及比较样本相似等,忘掉 meta-task 中 task 相关部分。通过这种学习机制学到的模型,在面对新的未见过的 meta-task 时,也能较好地进行分类。 

     

    图 1 展示的是一个 2-way 5-shot 的示例,可以看到 meta training 阶段构建了一系列 meta-task 来让模型学习如何根据 support set 预测 batch set 中的样本的标签;meta testing 阶段的输入数据的形式与训练阶段一致(2-way 5-shot),但是会在全新的类别上构建 support set 和 batch。

     

     图1:Few-shot Learning示例

     

    在图像领域的研究现状

     

    早期的 Few-shot Learning 算法研究多集中在图像领域,如图 2 所示,Few-shot Learning 模型大致可分为三类:Mode Based,Metric Based 和 Optimization Based。

     

     图2:Few-shot Learning模型分类

     

    其中 Model Based 方法旨在通过模型结构的设计快速在少量样本上更新参数,直接建立输入 x 和预测值 P 的映射函数;Metric Based 方法通过度量 batch 集中的样本和 support 集中样本的距离,借助最近邻的思想完成分类;Optimization Based 方法认为普通的梯度下降方法难以在 few-shot 场景下拟合,因此通过调整优化方法来完成小样本分类的任务。

     

    Model Based方法

     

    Santoro 等人 [3] 提出使用记忆增强的方法来解决 Few-shot Learning 任务。基于记忆的神经网络方法早在 2001 年被证明可以用于 meta-learning。他们通过权重更新来调节 bias,并且通过学习将表达快速缓存到记忆中来调节输出。

     

    然而,利用循环神经网络的内部记忆单元无法扩展到需要对大量新信息进行编码的新任务上。因此,需要让存储在记忆中的表达既要稳定又要是元素粒度访问的,前者是说当需要时就能可靠地访问,后者是说可选择性地访问相关的信息;另外,参数数量不能被内存的大小束缚。神经图灵机(NTMs)和记忆网络就符合这种必要条件。 

     

    文章基于神经网络图灵机(NTMs)的思想,因为 NTMs 能通过外部存储(external memory)进行短时记忆,并能通过缓慢权值更新来进行长时记忆,NTMs 可以学习将表达存入记忆的策略,并如何用这些表达来进行预测。由此,文章方法可以快速准确地预测那些只出现过一次的数据。

     

    文章基于 LSTM 等 RNN 的模型,将数据看成序列来训练,在测试时输入新的类的样本进行分类。

     

    具体地,在 t 时刻,模型输入,也就是在当前时刻预测输入样本的类别,并在下一时刻给出真实的 label,并且添加了 external memory 存储上一次的 x 输入,这使得下一次输入后进行反向传播时,可以让 y (label) 和 x 建立联系,使得之后的 x 能够通过外部记忆获取相关图像进行比对来实现更好的预测。

     

     图3:Memory Augmented Model

     

    Meta Network [12] 的快速泛化能力源自其“快速权重”的机制,在训练过程中产生的梯度被用来作为快速权重的生成。模型包含一个 meta learner 和一个 base learner,meta learner 用于学习 meta task 之间的泛化信息,并使用 memory 机制保存这种信息,base learner 用于快速适应新的 task,并和 meta learner 交互产生预测输出。

     

    Metric Based方法 

     

    如果在 Few-shot Learning 的任务中去训练普通的基于 cross-entropy 的神经网络分类器,那么几乎肯定是会过拟合,因为神经网络分类器中有数以万计的参数需要优化。

     

    相反,很多非参数化的方法(最近邻、K-近邻、Kmeans)是不需要优化参数的,因此可以在 meta-learning 的框架下构造一种可以端到端训练的 few-shot 分类器。该方法是对样本间距离分布进行建模,使得同类样本靠近,异类样本远离。下面介绍相关的方法。 

     

    如图 4 所示,孪生网络(Siamese Network)[4] 通过有监督的方式训练孪生网络来学习,然后重用网络所提取的特征进行 one/few-shot 学习。

     

     图4:Siamese Network

     

    具体的网络是一个双路的神经网络,训练时,通过组合的方式构造不同的成对样本,输入网络进行训练,在最上层通过样本对的距离判断他们是否属于同一个类,并产生对应的概率分布。在预测阶段,孪生网络处理测试样本和支撑集之间每一个样本对,最终预测结果为支撑集上概率最高的类别。

     

    相比孪生网络,匹配网络(Match Network)[2] 为支撑集和 Batch 集构建不同的编码器,最终分类器的输出是支撑集样本和 query 之间预测值的加权求和。

     

    如图 5 所示,该文章也是在不改变网络模型的前提下能对未知类别生成标签,其主要创新体现在建模过程和训练过程上。对于建模过程的创新,文章提出了基于 memory 和 attention 的 matching nets,使得可以快速学习。

     

    对于训练过程的创新,文章基于传统机器学习的一个原则,即训练和测试是要在同样条件下进行的,提出在训练的时候不断地让网络只看每一类的少量样本,这将和测试的过程是一致的。

     

    具体地,它显式的定义一个基于支撑集的分类器,对于一个新的数据,其分类概率由与支撑集 S 之间的距离度量得出:

     

     

    其中 a 是基于距离度量的 attention score:

     

     

    进一步,支撑集样本 embedding 模型 g 能继续优化,并且支撑集样本应该可以用来修改测试样本的 embedding 模型 f。

     

    这个可以通过如下两个方面来解决,即:1)基于双向 LSTM 学习训练集的 embedding,使得每个支撑样本的 embedding 是其它训练样本的函数;2)基于 attention-LSTM 来对测试样本 embedding,使得每个 Query 样本的 embedding 是支撑集 embedding 的函数。文章称其为 FCE (fully-conditional embedding)。

     

     图5:Match Network

     

    原型网络(Prototype Network)[5] 基于这样的想法:每个类别都存在一个原型表达,该类的原型是 support set 在 embedding 空间中的均值。然后,分类问题变成在 embedding 空间中的最近邻。

     

    如图 6 所示,c1、c2、c3 分别是三个类别的均值中心(称 Prototype),将测试样本 x 进行 embedding 后,与这 3 个中心进行距离计算,从而获得 x 的类别。

     

     图6:Prototype Network

     

    文章采用在 Bregman 散度下的指数族分布的混合密度估计,文章在训练时采用相对测试时更多的类别数,即训练时每个 episodes 采用 20 个类(20 way),而测试对在 5 个类(5 way)中进行,其效果相对训练时也采用 5 way 的提升了 2.5 个百分点。

     

    前面介绍的几个网络结构在最终的距离度量上都使用了固定的度量方式,如 cosine,欧式距离等,这种模型结构下所有的学习过程都发生在样本的 embedding 阶段。

     

    而 Relation Network [6] 认为度量方式也是网络中非常重要的一环,需要对其进行建模,所以该网络不满足单一且固定的距离度量方式,而是训练一个网络来学习(例如 CNN)距离的度量方式,在 loss 方面也有所改变,考虑到 relation network 更多的关注 relation score,更像一种回归,而非 0/1 分类,所以使用了 MSE 取代了 cross-entropy。

     

     

     

    图7:Relation Networks

     

    Optimization Based方法

     

    Ravi 等人 [7] 研究了在少量数据下,基于梯度的优化算法失败的原因,即无法直接用于 meta learning。

     

    首先,这些梯度优化算法包括 momentum, adagrad, adadelta, ADAM 等,无法在几步内完成优化,特别是在非凸的问题上,多种超参的选取无法保证收敛的速度。

     

    其次,不同任务分别随机初始化会影响任务收敛到好的解上。虽然 finetune 这种迁移学习能缓解这个问题,但当新数据相对原始数据偏差比较大时,迁移学习的性能会大大下降。我们需要一个系统的学习通用初始化,使得训练从一个好的点开始,它和迁移学习不同的是,它能保证该初始化能让 finetune 从一个好的点开始。 

     

    文章学习的是一个模型参数的更新函数或更新规则。它不是在多轮的 episodes 学习一个单模型,而是在每个 episode 学习特定的模型。

     

    具体地,学习基于梯度下降的参数更新算法,采用 LSTM 表达 meta learner,用其状态表达目标分类器的参数的更新,最终学会如何在新的分类任务上,对分类器网络(learner)进行初始化和参数更新。这个优化算法同时考虑一个任务的短时知识和跨多个任务的长时知识。

     

    文章设定目标为通过少量的迭代步骤捕获优化算法的泛化能力,由此 meta learner 可以训练让 learner 在每个任务上收敛到一个好的解。另外,通过捕获所有任务之前共享的基础知识,进而更好地初始化 learner。 

     

    以训练 miniImage 数据集为例,训练过程中,从训练集(64 个类,每类 600 个样本)中随机采样 5 个类,每个类 5 个样本,构成支撑集,去学习 learner;然后从训练集的样本(采出的 5 个类,每类剩下的样本)中采样构成 Batch 集,集合中每类有 15 个样本,用来获得 learner 的 loss,去学习 meta leaner。

     

    测试时的流程一样,从测试集(16 个类,每类 600 个样本)中随机采样 5 个类,每个类 5 个样本,构成支撑集 Support Set,去学习 learner;然后从测试集剩余的样本(采出的 5 个类,每类剩下的样本)中采样构成 Batch 集,集合中每类有 15 个样本,用来获得 learner 的参数,进而得到预测的类别概率。这两个过程分别如图 8 中虚线左侧和右侧。

     

     图8:Optimization as a model

     

    meta learner 的目标是在各种不同的学习任务上学出一个模型,使得可以仅用少量的样本就能解决一些新的学习任务。这种任务的挑战是模型需要结合之前的经验和当前新任务的少量样本信息,并避免在新数据上过拟合。 

     

    Finn [8] 提出的方法使得可以在小量样本上,用少量的迭代步骤就可以获得较好的泛化性能,而且模型是容易 fine-tine 的。而且这个方法无需关心模型的形式,也不需要为 meta learning 增加新的参数,直接用梯度下降来训练 learner。

     

    文章的核心思想是学习模型的初始化参数使得在一步或几步迭代后在新任务上的精度最大化。它学的不是模型参数的更新函数或是规则,它不局限于参数的规模和模型架构(比如用 RNN 或 siamese)。它本质上也是学习一个好的特征使得可以适合很多任务(包括分类、回归、增强学习),并通过 fine-tune 来获得好的效果。

     

    文章提出的方法,可以学习任意标准模型的参数,并让该模型能快速适配。他们认为,一些中间表达更加适合迁移,比如神经网络的内部特征。因此面向泛化性的表达是有益的。因为我们会基于梯度下降策略在新的任务上进行 finetune,所以目标是学习这样一个模型,它能对新的任务从之前任务上快速地进行梯度下降,而不会过拟合。事实上,是要找到一些对任务变化敏感的参数,使得当改变梯度方向,小的参数改动也会产生较大的 loss。

     

    在自然语言处理的研究现状

     

    早期的 Few-shot Learning 算法研究主要集中在小样本图像识别的任务上,以 MiniImage 和 Omnigraffle 两个数据集为代表。

     

    近年来,在自然语言处理领域也开始出现 Few-shot Learning 的数据集和模型,相比于图像,文本的语义中包含更多的变化和噪声,我们将在本节从数据集和模型两个方面介绍 Few-shot Learning 在自然语言处理领域的进展,以及我们团队基于对话工厂平台所做的探索。

     

    数据集

     

    1. FewRel 数据集 [11] 由Han等人在EMNLP 2018提出,是一个小样本关系分类数据集,包含64种关系用于训练,16种关系用于验证和20种关系用于测试,每种关系下包含700个样本。 

     

    2. ARSC 数据集 [10] 由 Yu 等人在 NAACL 2018 提出,取自亚马逊多领域情感分类数据,该数据集包含 23 种亚马逊商品的评论数据,对于每一种商品,构建三个二分类任务,将其评论按分数分为 5、4、 2 三档,每一档视为一个二分类任务,则产生 23*3=69 个 task,然后取其中 12 个 task(4*3)作为测试集,其余 57 个 task 作为训练集。 

     

    3. ODIC 数据集来自阿里巴巴对话工厂平台的线上日志,用户会向平台提交多种不同的对话任务,和多种不同的意图,但是每种意图只有极少数的标注数据,这形成了一个典型的 Few-shot Learning 任务,该数据集包含 216 个意图,其中 159 个用于训练,57 个用于测试。

     

    主要模型

     

    Gao [9] 等人提出文本与图像的一大区别在于其多样性和噪音更大,因此提出一种基于混合注意力的原型网络结构,如图 9 所示,首先使用 instance-level 的 attention 从支撑集中选出和 query 更为贴近的实例,同时降低噪声实例所带来的影响。

     

    然后 feature-level 的实例能够衡量特征空间中的哪些维度对分类更为重要,从而为每种不同的关系都生成相适应的距离度量函数,从而使模型能够有效处理特征稀疏的问题。

     

     图9:基于混合注意力的原型网络

     

    Yu [10] 等人指出在图像领域的 Few-shot Learning 任务中,比如 Omniglot 和 miniImage 数据集,所有的数据都是从同一个大的数据集采样而来,也就是说所有的 meta-task 都是来自同一个领域,所以相关性是很强的。

     

    所以之前的 Few-shot Learning 方法只需使用一个 meta model 即可解决剩余的 few-shot 任务。但是在现实场景当中,不同的 meta task 可能来自完全不同的领域,因此使用单独的度量方式不足以衡量所有的 meta task。 

     

    在这种场景下,Yu 提出使用多种度量方式融合来解跨领域的 Few-shot Learning 问题。在训练阶段,meta learner 通过任务聚类选择和结合多种度量方式来学习目标任务,不同领域的 meta task 首先通过聚类来划分,因此同一个簇内的 task 可以认为是相关的,然后在该簇中训练一个深度神经网络作为度量函数,这种机制保证了只有在同一个簇中的 task 才会共享度量函数。

     

    在测试阶段,为每个 test task 使用所有度量函数的线性组合作为任务适应的度量方式。

     

     

    在对话工厂平台的研究和应用

     

    我们团队基于目前 Metric Based 方法,提出了 Encoder-Induction-Relation 的三级框架,如图 10 所示,Encoder 模块用于获取每个样本的语义表示,可以使用典型的 CNN、LSTM、Transformer 等结构,Induction 模块用于从支撑集的样本语义中归纳出类别特征,Relation 模块用于度量 query 和类别之间的语义关系,进而完成分类。

     

     

    ▲ 图10:Encoder-Induction-Relation三级框架

     

    如表 1 所示,之前的工作往往致力于学习不同的距离度量方式,而忽视了从样本表示到类表示的建模。而在自然语言当中,由于每个人的语言习惯不同,同一个类别的不同表述往往有很多种,如果仅仅是简单加和或取平均来作为类别的表示,这些与分类无关的干扰信息就会累加,影响最终的效果。

     

    因此我们的工作显式的建模了从样本表示到类表示这一能力,在 ODIC 和 ARSC 两个数据集上,超过了之前的 state-of-the-art 的模型,实验结果如表 2 所示。

     

     表1:Metric Based方法对比

     

     表2:ODIC数据集实验结果

     

    此外,我们在 ODIC 数据集上逐渐增加训练数据的类别数,如图 11,在测试集上得到的效果会逐渐提升,这满足了平台级的语言理解所需要的可泛化、可持续学习的需求。

     

     图11:ODIC数据集变化趋势

     

    总结

     

    本文从对话工厂平台的实际问题出发,对小样本学习方法进行了系统梳理和研究,给出了 Few-shot Learning 的定义,综述了其在图像和 NLP 领域的研究现状。

     

    针对 Metric Based 系列方法,我们提出了统一的 Encode-Induction-Relation 描述框架,介绍了我们团队在使用 Few-shot Learning 解决平台级自然语言理解所做的工作,即显式建模从样本表示到类表示的归纳能力。

     

    参考文献

     

    [1] Brenden M. Lake, Ruslan Salakhutdinov, Jason Gross, and Joshua B. Tenenbaum. One shot learning of simple visual concepts. In CogSci, 2011. 

    [2] Oriol Vinyals, Charles Blundell, Tim Lillicrap, Daan Wierstra, et al. Matching networks for one shot learning. In Advances in Neural Information Processing Systems, pages 3630–3638, 2016. 

    [3] Santoro A, Bartunov S, Botvinick M, et al. One-shot learning with memory-augmented neural networks[J]. arXiv preprint arXiv:1605.06065, 2016. 

    [4] Koch, Gregory, Richard Zemel, and Ruslan Salakhutdinov. "Siamese neural networks for one-shot image recognition." ICML Deep Learning Workshop. Vol. 2. 2015. 

    [5] Snell, Jake, Kevin Swersky, and Richard Zemel. "Prototypical networks for few-shot learning." Advances in Neural Information Processing Systems. 2017. 

    [6] Sung, Flood, et al. "Learning to compare: Relation network for few-shot learning." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018. 

    [7] Ravi, Sachin, and Hugo Larochelle. "Optimization as a model for few-shot learning." (2016). 

    [8] Finn, Chelsea, Pieter Abbeel, and Sergey Levine. "Model-agnostic meta-learning for fast adaptation of deep networks." Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017. 

    [9] Gao, Tianyu, et al. "Hybrid Attention-Based Prototypical Networks for Noisy Few-Shot Relation Classification." (2019). 

    [10] Yu, Mo, et al. "Diverse few-shot text classification with multiple metrics." arXiv preprint arXiv:1805.07513 (2018). 

    [11] Han, Xu, et al. "FewRel: A Large-Scale Supervised Few-Shot Relation Classification Dataset with State-of-the-Art Evaluation." arXiv preprint arXiv:1810.10147 (2018). 

    [12] Munkhdalai, Tsendsuren, and Hong Yu. "Meta networks." Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017. 

    [13] Geng R, Li B, Li Y, et al. Few-Shot Text Classification with Induction Network[J]. arXiv preprint arXiv:1902.10482, 2019. 

    [14] https://blog.csdn.net/qq_16234613/article/details/79902085 

    [15] https://lilianweng.github.io/lil-log/2018/11/30/meta-learning.html#learner-and-meta-learner

    展开全文
  • 样本学习(one/few-shot learning)

    万次阅读 多人点赞 2019-04-03 19:42:14
    原文:...小样本学习 来源:我们人类是具有快速从少量(单)样本中快速学习能力的,其实在我们学习的过程中,人类的大脑将对象和类别组成有用的信息将之分类。 首先需要声明的是,小样...

    原文:https://blog.csdn.net/mao_feng/article/details/78939864
    原博地址:https://blog.csdn.net/xhw205/article/details/79491649

    小样本学习

    来源:我们人类是具有快速从少量(单)样本中快速学习能力的,其实在我们学习的过程中,人类的大脑将对象和类别组成有用的信息将之分类。

    首先需要声明的是,小样本学习属于迁移学习。接着,举个例子详细阐述。

    人类从未见到过“澳大利亚的鸭嘴兽”,给我们一张鸭嘴兽的照片后,人类就认识了!

    有的朋友可能会想,为什么我们人类总是能快速的学习到未知的事物?简单的说,是因为人类生活中各种知识的积累以及人类天生的思考能力(如:类比能力)。知识的积累意味着我们是存在各种知识的先验的,天生的思考能力意味着我们拥有强大的类比能力、强大的大脑算力。

    以“人类从未见到过“澳大利亚的鸭嘴兽”,给我们一张鸭嘴兽的照片后,人类就认识了!”这句话为例。鸭嘴兽就代表未知的事物(new class),而我们生活中已经见到过的鸭子、狸猫、鱼等动物就代表知识的先验,我们把这种知识的先验称为 元知识 (Meta Knowledge),我们大脑的能快速的把从未见过的鸭嘴兽与这些元知识快速的类比(可能还存在一些其他脑力活动,如视觉提取物体的特征),得出结论:这个长得像鸭子嘴,还能像鱼一样游泳、身形扁扁的新动物就是鸭嘴兽。

    这里有的朋友可能会疑问了,如果你是一个刚学会走路的孩子,什么都没见过,是否还存在这种快速的样本学习能力呢?可以这么想,人生来都是初始化的,装备全靠打,IQ 高的元知识积累的就快,IQ 低的元知识积累的就慢。吐舌头

    机器学习目前都是类比人类的智能来做的,那么对应我们的机器模型,few-shot learning 又是怎么样的呢?
    对应我们的机器模型,few-shot learning 的核心任务可以当成识别新的类。例如:我们已经通过些许动物(狗除外)的样本训练出来了模型,我们想让模型识别新的类-----狗。显然,这就是要把源知识(source)迁移到包含狗的知识领域来(target)。显然这正是迁移学习的范畴。这时候我们需要识别新的类------狗,比较简单的解决方案是什么呢?绝大部分同学会想到,把源模型当做预训练模型,修改全连接层,进行 fine-tune。需要注意的是:

    源模型是需要大量带 label 的样本训练的,一般的如 Imagenet上预训练模型
    fine-tune 也是需要样本量的支持的,不然 retrain 全连接层时很容易过拟合。 
    

    fine-tune 本质还是依赖深度学习 big data 喂餐的策略,仿佛与我们的小样本学习背道而驰。

    我们来看看真正的 few shot 吧~

    为了完成识别新类(狗)的问题,于是需要新来一张标好 label 的样本(如 :有 label,样本是田园土狗, 称作 sample set 或 support set)用来泛化模型,那么再来 test 样本时候(如:无 label,样本是哈士奇,称作 query set 或者 test set),我们就可以把这个 哈士奇的样本 label 标出来,达到分类的目的。这种学习叫做 one-shot learning,即单样本学习。

    注意:我这里举得例子,各品种狗的 label 都是 dog,不单独区分细粒度。

    同样的,如果刚才来的是一堆标好 label 的样本(除了田园土狗,可能还有京巴、吉娃娃、泰迪等做 support set),这种学习叫做 few-shot learning,即小样本学习,一般 few 不会大于 20。

    经过我上边的介绍,可以对小样本学习做个定义:
    在这里插入图片描述

    自己的话解释一下就是: 模型只有少量的有 label 的训练样本 S ,S 中包括 N 个样本,yi 代表各样本的 label。因为测试样本集中每个样本都有一个正确的类别,我们希望,再来新的待分类的测试样本 x’ 时候,正确预测出 x’ 标签是 y’。

    注: 把每个类别 yi 的单个样本换成 k个样本就 变成了k-shot learning , few-shot 一般指的是 k 不超过 20。
    

    解决小样本问题的一种模型(孪生网络)
    在这里插入图片描述

    结构意思就是:输入两张图片到两个 CNN, 来比较两种相同类别的概率。具体可查看 https://sorenbouma.github.io/blog/oneshot/

    如下图简单理解一下小样本的训练方式:

    Training(训练模型) Sample Set Query Set
    Testing(测试模型) Support Set Test Set (无label)

    训练和测试过程是相似的,拿 Omniglot 数据集为例。

    此数据集可以认为是小样本学习的一个基准数据集。
    它一共包含1623 类手写体,每一类中包含20 个样本。其中这 1623 个手写体类来自 50 个不同地区(或文明)的 alphabets,如:Latin 文明包含 26 个alphabets,Greek 包含 24 个alphabets。
    一般用于训练的是 964 类(30个地区的字母),用于测试的是 659 类 (20个地区的字母)。
    
    训练的目的就是,用 964 个类来训练模型,识别 659 个新的类。
    
    如下图的 24个 希腊字母,代表 Greek 文明下的 24 个类,每个字母只有 20 个样本。
    

    在这里插入图片描述Training:

    每次 iteration 从 964 个类中随机的选择 20 个类,从每个类中的 20 个样本采样 5 个作为 support set,5 个 作为 query set。(选择的这个数目可以自行改变)。
    以孪生网络为例,就是 query set 中的图片不断的于 support set 的图片成对组合,训练模型,确定模型参数。
    

    Testing:

    测试过程,对 659 个类中随机选择 m 个类,每个类提供 k 个样本作为 Support Set 来泛化模型。称为 m-way k-shot。
    以孪生网络为例,在 m 个类中,若 Support Set 每类都为单样本(即 m 个样本),送进来的 Query Set ( 同样的是 m 个类 )不断的与 Support Set 成对相似度量,若相似,则归于该类。
    

    引言

    深度学习(deep learning)已经广泛应用于各个领域,解决各类问题,例如在图像分类问题下,如图1,区分这10类目标的准确率目前可以轻松做到94%。然而,deep learning是一种data hungry的技术,需要大量的标注样本才能发挥作用。
    在这里插入图片描述 现实世界中,有很多问题是没有这么多的标注数据的,获取标注数据的成本也非常大,例如在医疗领域、安全领域等。因此,我们现在讨论的是这样一个问题的场景,也就是小样本问题。它面临的问题是:

    训练过程中有从未见过的新类,只能借助每类少数几个标注样本;
    不改变已经训练好的模型。
    

    还是用10类图像分类数据为例,传统的方法是基于左边这些训练集,获得模型,然后对右边测试集进行自动标注。而小样本问题如图2所示,我们大量拥有的是上方这5类的数据,而新问题(下方这5类)是只有很少的标注数据。
    在这里插入图片描述当标注数据量比较少时,怎么学习出好的特征?我们需要泛化这些罕见的类别,而不需要额外的训练,因为训练会因为数据少、代价高、周期长而无法获得收益。下面介绍近几年几种解决小样本问题的方法,我们将这些方法称为fewshot learning(如果只有一个标注样本,称oneshot learning)。

    基于Finetune

    这种方法已被广泛地应用。获得一定量的标注数据,然后基于一个基础网络进行微调。
    这个基础网络是通过含有丰富标签的大规模数据集获得的,比如imagenet,我们的淘宝电商数据,称为通用数据域。然后在特定数据域上进行训练。训练时,会固定基础网络部分的参数,对领域特定的网络参数进行训练(这里有很多训练的trick,包括如何设置固定层和学习率等),如图3。这个方法可以相对较快,依赖数据量也不必太多,效果还行。
    在这里插入图片描述

    基于metric

    该方法是对样本间距离分布进行建模,使得属于同类样本靠近,异类样本远离。简单地,我们可以采用无参估计的方法,如KNN。KNN虽然不需要训练,但效果依赖距离度量的选取, 一般采用的是一个比较随意的距离计算(L2)。另一种,也是目前比较好的方法,即通过学习一个端到端的最近邻分类器,它同时受益于带参数和无参数的优点,使得不但能快速的学习到新的样本,而且能对已知样本有很好的泛化性。下面介绍3个相关的方法。
    孪生网络 (Siamese Neural Networks)[1]

    这个方法对输入的结构进行限制并自动发现可以从新样本上泛化的特征。通过一个有监督的基于孪生网络的度量学习来训练,然后重用那个网络所提取的特征进行one/few-shot学习。
    它是一个双路的神经网络,训练时,通过组合不同类的样本成对,同时输入网络进行训练,在最上层通过一个距离的交叉熵进行loss的计算,如图4。在预测的时候,以5way-5shot为例,从5个类中随机抽取5个样本,把这个mini-batch=25的数据输入网络,最后获得25个值,取分数最高对应的类别作为预测结果,如图5。
    在这里插入图片描述 网络结构如图6所示,是一个8层深度卷积孪生网络,图中只展示了其中一路计算,在网络的4096维的全连接层后执行component-wise 的L1距离计算,产生一个4096维的特征向量,并通过sigmoidal激活获得一个0到1的概率作为两个输入样本是否相似的结果。
    在这里插入图片描述

    匹配网络(matching networks)[2]

    这篇文章的工作被李飞飞高徒karpath点赞过,成为之后相关研究中经常被对比的参照。该文章也是在不改变网络模型的前提下能对未知类别生成标签,其主要创新体现在建模过程和训练过程上。对于建模过程的创新,文章提出了基于memory和attantion的matching nets,使得可以快速学习。对于训练过程的创新,文章基于传统机器学习的一个原则,即训练和测试是要在同样条件下进行的,提出在训练的时候不断地让网络只看每一类的少量样本,这将和测试的过程是一致的。
    具体地,它尝试获得一个从支持集S(support set, 由k个样本及其标签组成)到分类器y^ 的一个映射,该映射是一个网络:P(y^ |x^ ,S),它基于当前的S,对每个未见过的测试样本x^ 给出其标签y^,该标签让P达到最大值。这个模型可以表示为如公式1),其中a是一个attetion。
    在这里插入图片描述即一个新样本的输出(即在S上类别的分布)是S上的类attation线性组合,也就是对于离x^最远的xi,其在某度量下的attation是0, 那么其值就是和x^相似的xi所对应标签的权重融合。
    上述的attention具体是,对训练样本xi和测试样本x^分别进行embedding,然后求内积(cosine),这就是文章提出的"matching",然后输入到一个softmax中,公式如公式2),其中c是cosine距离。其中两个embedding的模型是share的,比如用CNN。这个a是和度量学习(metric learning)相关的,对于待分类的样本x, 让其和那些标签为y的样本对齐,和其它的不对齐,这种loss其实就是和NCA,triplet loss和margin nearest neighbor相关的。
    在这里插入图片描述进一步,支持集样本embedding模型g能继续优化,并且支持集样本应该可以用来修改测试样本的embedding模型f。这个可以通过如下两个方面来解决:即1)基于双向LSTM学习训练集的embedding,使得每个训练样本的embedding是其它训练样本的函数;2)基于attention-LSTM来对测试样本embedding,使得每个测试样本的embeding是训练集embedding的函数。文章称其为FCE(fully-conditional embedding)。
    关于g 的优化。上述虽然是在整个支持集样本上做分类,但用来做cosine距离计算的embedding 的获得是互相独立的,因此文章把对支持集样本的embedding改为g(xi, S), 这当比如xj十分接近xi时改变g函数是有用的。文章用了双向LSTM,即把S看成一个序列(文章并没有提到这个序列的顺序是怎么生成的,也许是随机的),然后对每个xi进行编码。具体公式如下,其中g’(xi)是原始只依赖自己的embedding,xi通过BiLSTM进行信息互通。
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述关于f的优化。支持集样本可以用来修改测试样本的embedding模型。这个可以通过一个固定步数的LSTM和对支持集的attention模型来解决, 即如下公式,其中f’(x)是只依赖测试样本自己的特征,作为LSTM的输入(每步不变),K是LSTM的步数,g(S)是支持集的embedding。由此,模型会忽略支持集S中的一些样本。
    在这里插入图片描述在这里插入图片描述这两个embedding函数f和g是对特征空间进行了优化,从而让精度提升。
    关于训练策略。文章对imagenet进行的采样,制作了3种适合做one/few shot的数据集,其中miniImageNet,它包含100类,每类600张图片,其中80个类用来训练,20类用来测试, 称为后续相关研究经常被采用的数据集。以5-way 5-shot为例。训练时,在80类中随机采样5个类,然后把这5类中的数据分成支持集S和测试B,训练matching net模型来使得在S条件下的B的预测结果误差最小。测试时,在20个未被训练过的类中抽取5类,每类5张图,作为测试支持集S’。如图7,MatchNet方法相对原始的Inception模型能正确识别模型从未见过的轮胎和自行车。
    在这里插入图片描述

    原型网络 (Prototypical Networks)[3]

    该方法思想十分简单高效,效果也非常好。它学习一个度量空间, 通过计算和每个类别的原型表达的距离来进行分类。文章基于这样的想法:每个类别都存在一个聚在某单个原型表达周围的embedding,该类的原型是support set在embedding空间中的均值。然后,分类问题变成在embedding空间中的最近邻。如图8,c1、c2、c3分别是三个类别的均值中心(称Prototype),将测试样本x进行embedding后,与这3个中心进行距离计算,从而获得x的类别。

    在这里插入图片描述其伪代码也十分清晰:

    在这里插入图片描述文章采用在Bregman散度下的指数族分布的混合密度估计,实验表明squared Euclidean距离比cosine距离要好14到17个点。另外,文章在训练时采用相对测试时更多的类别数,即训练时每个episodes采用20个类(20 way),而测试对在5个类(5 way)中进行,其效果相对训练时也采用5 way的提升了2.5个点。

    基于graph neural network

    这是一篇比较新的文章,提交到ICLR 2018[4]。他定义了一个图神经网络框架,端到端地学习消息传递的“关系”型任务。在这里,每个样本看成图的节点,该方法不仅学习节点的embedding,也学习边的embedding。如图9,在网络第一层5个样本通过边模型A~构建了图,接着通过图卷积(graph conv)获得了节点的embedding,然后在后面的几层继续用A~更新图、用graph conv更新节点embedding, 这样便构成了一个深度GNN,最后输出样本的预测标签。
    在这里插入图片描述在构建边模型时,先采用一个4层的CNN网络获得每个节点特征向量,然后将节点对xi,xj的差的绝对值过4层带Batch Norm和Leaky Relu的全连接层,从而获得边的embedding,如图10的左侧。随后,我们将节点的embedding和边的embedding一起过图卷积网络,从而获得更新后的节点的embedding,如图10的右侧。
    在这里插入图片描述这篇文章和Siamese networks、Matching networks和Prototypical networks在本质上是有相同之处的,可以看作这3种方法的推广,而且用图来解决这类问题是一种创新,并取得了不错的效果。

    基于元学习meta learning

    通过大量的数据,现在的AI系统能从0开始学习一个复杂的技能。我们希望AI系统能获得多种技能并能适应各种环境,但针对每种技能都从0开始训练是无法承受的。因此,我们希望它能够从之前的经验快速地学习新的技能,而不是把新的任务孤立地考虑。这个方法,我们称为元学习(learning to learn,或meta learning), 使得我们的系统在它的整个生命周期中可以持续地学习各种各样的任务。
    meta learning是机器学习的一个子领域,它自动学习一些应用于机器学习实验的元数据,主要目的是使用这些元数据来自动学习如何在解决不同类型的学习问题时变得灵活,从而提高现有的学习算法。灵活性是非常重要的,因为每个学习算法都是基于一组有关数据的假设,即它是归纳偏(bias)的。这意味着如果bias与学习问题中的数据相匹配,那么学习就会很好。学习算法在一个学习问题上表现得非常好,但在下一个学习问题上表现得非常糟糕。这对机器学习或数据挖掘技术的使用造成了很大的限制,因为学习问题与不同学习算法的有效性之间的关系尚不清楚。
    通过使用不同类型的元数据,如学习问题的属性,算法属性(如性能测量)或从之前数据推导出的模式,可以选择、更改或组合不同的学习算法,以有效地解决给定的学习问题。
    元学习一般有两级,第一级是快速地获得每个任务中的知识,第二级是较慢地提取所有任务中学到的信息。下面从不同角度解释了元学习的方法

    通过知识诱导来表达每种学习方法如何在不同的学习问题上执行,从而发现元知识。元数据是由学习问题中的数据特征(一般的,统计的,信息论的......)以及学习算法的特征(类型,参数设置,性能测量...)形成的。然后,另一个学习算法学习数据特征如何与算法特征相关。给定一个新的学习问题,测量数据特征,并且可以预测不同学习算法的性能。因此,至少在诱导关系成立的情况下,可以选择最适合新问题的算法。
    stacking. 通过组合一些(不同的)学习算法,即堆叠泛化。元数据是由这些不同算法的预测而形成的。然后,另一个学习算法从这个元数据中学习,以预测哪些算法的组合会给出好的结果。在给定新的学习问题的情况下,所选择的一组算法的预测被组合(例如通过加权投票)以提供最终的预测。由于每种算法都被认为是在一个问题子集上工作,所以希望这种组合能够更加灵活,并且能够做出好的预测。
    boosting. 多次使用相同的算法,训练数据中的示例在每次运行中获得不同的权重。这产生了不同的预测,每个预测都集中于正确预测数据的一个子集,并且结合这些预测导致更好(但更昂贵)的结果。
    动态偏选择(Dynamic bias selection)通过改变学习算法的感应偏来匹配给定的问题。这通过改变学习算法的关键方面来完成,例如假设表示,启发式公式或参数。
    learning to learn,研究如何随着时间的推移改进学习过程。元数据由关于以前的学习事件的知识组成,并被用于高效地开发新任务的有效假设。其目标是使用从一个领域获得的知识来帮助其他领域的学习。
    

    在meta learning中,我们在训练集上训练一个训练过程(meta learner)来生产生一个分类器(learner)使得learner在测试集上获得高的精度。如下图
    在这里插入图片描述下面介绍几个经典的解决fewshot的meta learning的方法。
    递归记忆模型 (Memory-Augmented Neural Networks)[5]

    基于记忆的神经网络方法早在2001年被证明可以用于meta-learning。他们通过权重更新来调节bias,并且通过学习将表达快速缓存到记忆中来调节输出。然而,利用循环神经网络的内部记忆单元无法扩展到需要对大量新信息进行编码的新任务上。因此,我们需要让存储在记忆中的表达既要稳定又要是元素粒度访问的,前者是说当需要时就能可靠地访问,后者是说可选择性地访问相关的信息;另外,参数数量不能被内存的大小束缚。像神经图灵机(NTMs)和记忆网络就符合这种必要条件。
    文章基于神经网络图灵机(NTMs)的思想,因为NTMs能通过外部存储(external memory)进行短时记忆,并能通过缓慢权值更新来进行长时记忆,NTMs可以学习将表达存入记忆的策略,并如何用这些表达来进行预测。由此,文章方法可以快速准确地预测那些只出现过一次的数据。文章基于LSTM等RNN的模型,将数据看成序列来训练,在测试时输入新的类的样本进行分类。具体地,网络的输入把上一次的y (label)也作为输入,并且添加了external memory存储上一次的x输入,这使得下一次输入后进行反向传播时,可以让y (label)和x建立联系,使得之后的x能够通过外部记忆获取相关图像进行比对来实现更好的预测。这里的RNN就是meta-learner。
    在这里插入图片描述优化器学习 (meta-learning LSTM)[6]

    文章研究了在少量数据下,基于梯度的优化算法失败的原因,即无法直接用于meta learning。首先,这些梯度优化算法包括momentum, adagrad, adadelta, ADAM等,无法在几步内完成优化,特别是在非凸的问题上,多种超参的选取无法保证收敛的速度。其次,不同任务分别随机初始化会影响任务收敛到好的解上。虽然finetune这种迁移学习能缓解这个问题,但当新数据相对原始数据偏差比较大时,迁移学习的性能会大大下降。我们需要一个系统的学习通用初始化,使得训练从一个好的点开始,它和迁移学习不同的是,它能保证该初始化能让finetune从一个好的点开始。
    文章学习的是一个模新参数的更新函数或更新规则。它不是在多轮的episodes学习一个单模型,而是在每个episode学习特定的模型。具体地,学习基于梯度下降的参数更新算法,采用LSTM表达meta learner,用其状态表达目标分类器的参数的更新,最终学会如何在新的分类任务上,对分类器网络(learner)进行初始化和参数更新。这个优化算法同时考虑一个任务的短时知识和跨多个任务的长时知识。文章设定目标为通过少量的迭代步骤捕获优化算法的泛化能力,由此meta learner可以训练让learner在每个任务上收敛到一个好的解。另外,通过捕获所有任务之前共享的基础知识,进而更好地初始化learner。
    基于梯度下降的参数更新公式如公式5所示,θt-1 是learner在第t-1次updates后的模型参数,αt 是学习率,Lt是损失函数。θt是learner的参数。

    在这里插入图片描述(公式5)

    这个形式和lstm是一样的,如公式6,

    在这里插入图片描述(公式6)

    状态Ct为模型参数。it是学习率,如公式7,学习率是当前参数、当前梯度、当前损失和上一次学习率的函数。由此,meta learner 可以精细地控制学习率,从而可以快速地学习而不会发散。

    在这里插入图片描述(公式7)

    ft为忘记门,当learner陷入局部最优,需要大的改变才能逃脱的时候,即梯度为0但损失很大。我们需要忘记以前的值,因此ft 应该是这个信息的函数:

    在这里插入图片描述(公式8)

    c0是learner的初始化参数。好的初始值是让优化快速收敛的关键。
    以训练miniImagenet数据集为例,训练过程中,我们从Dmeta-train的训练集(64个类,每类600个样本)中随机采样5个类,每个类5个样本,构成训练集,去学习learner;然后从Dmeta-train测集的样本(64个类,每类剩下的样本)中采样构成测试集,集合中每类有15个样本,用来获得learner的loss,去学习meta leaner。评估过程一样,我们从Dmeta-test的训练集(16个类,每类600个样本)中随机采样5个类,每个类5个样本,构成训练集,去学习learner;然后从Dmeta-test测集的样本(16个类,每类剩下的样本)中采样构成测试集,集合中每类有15个样本,用来获得learner的loss,去学习meta leaner。这两个过程分别如图13的虚线左侧和右侧。
    在这里插入图片描述 对meta-learner的训练过程进行可视化,把gate的值画出来,观察其在不同的数据之间是否存在变化。在1-shot上,meta learner学了10步,5-shot上学了5步。对于遗忘门,meta-leanrer采用一个简单的权值衰减策略,而且每层都比较一致。输入门在不同数据上的变化比较大,说明meta learner没有采用一个固定的优化策略,而且1-shot和5-shot的表现也不同,说明meta learner对两者采用了不同的方法。如图14:
    在这里插入图片描述模型无关自适应(Model-Agnostic)[7]

    meta learning 的目标是在各种不同的学习任务上学出一个模型,使得可以仅用少量的样本就能解决一些新的学习任务。这种任务的挑战是模型需要结合之前的经验和当前新任务的少量样本信息,并避免在新数据上过拟合。
    文章提出的方法使得可以在小量样本上,用少量的迭代步骤就可以获得较好的泛化性能,而且模型是容易fine-tine的。而且这个方法无需关心模型的形式,也不需要为meta learning增加新的参数,直接用梯度下降来训练learner。文章的核心思想是学习模型的初始化参数使得在一步或几步迭代后在新任务上的精度最大化。它学的不是模型参数的更新函数或是规则,它不局限于参数的规模和模型架构(比如用RNN或siamese)。它本质上也是学习一个好的特征使得可以适合很多任务(包括分类、回归、增强学习),并通过fine-tune来获得好的效果。
    文章提出的方法,可以学习任意标准模型的参数,并让该模型能快速适配。方法认为,一些中间表达更加适合迁移,比如神经网络的内部特征。因此面向泛化性的表达是有益的。因为我们会基于梯度下降策略在新的任务上进行finetune,所以目标是学习这样一个模型,它能对新的任务从之前任务上快速地进行梯度下降,而不会过拟合。事实上,是要找到一些对任务变化敏感的参数,使得当改变梯度方向,小的参数改动也会产生较大的loss,如图15。
    在这里插入图片描述该方法的目标函数如公式9,即训练关于全局模型参数θ的具体任务参数θ‘,使其在从p(T )上采样的各个任务上误差最小。
    在这里插入图片描述整个训练的流程如下伪代码,有内外两个循环,外循环是训练meta learner的参数θ,即一个全局的模型,内循环对每个采样任务分别做梯度下降,进而在全局模型上做梯度下降(a gradient through a gradient)。在这里插入图片描述效果对比

    比较one/fewshot learning的方法一般采用Omniglot和miniImagenet两个数据集,由于前者相对比较简单,准确率已经比较容易达到99%,所以这里只给出miniImagenet上的对比测试结果。miniImagenet的数据集从 https://drive.google.com/file/d/0B3Irx3uQNoBMQ1FlNXJsZUdYWEE/view 这里下载。
    参考文献

    [1] G Koch, R Zemel, and R Salakhutdinov. Siamese neural networks for one-shot image recognition. In ICML Deep Learning workshop, 2015.
    [2] Oriol Vinyals, Charles Blundell, Tim Lillicrap, Daan Wierstra, et al. Matching networks for one shot learning. In Advances in Neural Information Processing Systems, pages 3630–3638, 2016.
    [3] Jake Snell, Kevin Swersky, and Richard S Zemel. Prototypical networks for few-shot learning. arXiv preprint arXiv:1703.05175, 2017.
    [4] Victor Garcia, Joan Bruna. Few-shot learning with graph neural networs. Under review as a conference paper at ICLR 2018.
    [5] Santoro, Adam, Bartunov, Sergey, Botvinick, Matthew, Wierstra, Daan, and Lillicrap, Timothy. Meta-learning with memory-augmented neural networks. In International Conference on Machine Learning (ICML), 2016.
    [6] Ravi, Sachin and Larochelle, Hugo. Optimization as a model for few-shot learning. In International Conference on Learning Representations (ICLR), 2017.
    [7] Chelsea Finn, Pieter Abbeel, and Sergey Levine. Model-agnostic meta-learning for fast adaptation of deep networks. arXiv preprint arXiv:1703.03400, 2017.

    展开全文
  • 遥感数据样本制作

    2021-08-15 13:33:54
    在真正了解如何制作样本之前,我们需要先了解一些深度学习的基础知识,搞清楚一些专有名词,这样我们才能知其然并知其所以然。在计算机视觉中,我们常常会听到这几个名词,如图片分类、目标检测、语义分割以及实例...
  • 文 | ????????????????编 | 小轶以前的小样本学习(Few-shot Learning),是需要用一个巨大的训练集训练的。测试时只给出 n-way k-shot,在这 N...
  • 遥感解译实验样本标注规范

    千次阅读 2018-02-25 22:20:36
    遥感解译实验样本标注规范为了进行遥感解译实验,现进行全地物类别产品实验,需要提供大量的样本数据,故对GF1-WFV(16米分辨率)影像进行样本的标注,用于深度学习技术的训练学习阶段。一 实验所用软件ENVI5.1二 ...
  • 快速了解AB实验和样本量计算原理

    千次阅读 2021-02-20 10:56:10
    AB实验简介 什么是AB实验 将测试对象随机分成A,B两组,然后比较两组之间的差异 AB测试是为Web或App界面或流程制作两个...随机:为了排除实验条件以外的干扰因素,我们需要确保两个组的用户是随机选取,这是为了排除
  • 1、简介 见过和没见过的类别都要提供类别描述信息(比如用户定义的属性标注、类别的文本描述、类...定义这个函数的目的是对于见过或没见过的类别,衡量图像特征 φ(x) 和语义表征 ψ(y) 之间的相容(compatibil...
  • 机器学习2 机器学习误差分析与代表性算法 目录机器学习2 机器学习误差分析与代表性算法1. 误差分析(1)误差公式(2)欠拟合与过拟合2. 代表性的算法(1)有监督a. 逻辑回归b. 随机森林c. SVM2. 无监督聚类 1. ...
  • Few-shot learning (FSL)在机器学习领域具有重大意义和挑战,是否拥有从少量样本中学习和概括的能力,是将人工智能和人类智能进行区分的明显分界点,因为人类可以仅通过一...
  • 简介用来检验来自两配对总体的均值是否在统计上有显著差异配对样本均数t检验简称配对t检验(paired t test),又称非独立两样本均数t检验,适用于配对设计计量资料均数的比较,其比较目的是检验两相关样本均数所代表的...
  • 样本学习(Few-shot Learning)综述

    千次阅读 2019-04-06 21:44:39
    作者丨耿瑞莹、李永彬、黎槟华团队丨阿里巴巴智能服务事业部小蜜北京团队分类非常常见,但如果每个类只有几个标注样本,怎么办呢?笔者所在的阿里巴巴小蜜北京团队就面临这个挑战。我...
  • 抽样方案 由于经济上和时间上的原因,通常不是将产品全数进行可靠试验,而是按一定的原则和程序从一批产品中抽取适当数量的样品进行试验,用这些样品试验的结果来判断该批产品的可靠水平是否符合标准或订货合同...
  • 样本t检验(one-sample t-test)又称单样本均数t检验,适用于样本均数$\overline{X}$与已知总体均数$\mu_{0}$的比较,其比较目的是检验样本均数所代表的总体均数µ是否与已知总体均数$\mu_{0}$有差别 已知总体均数$...
  • 如同CV领域当前的重点一样,我们更应该关注如何利用机器学习思想,更好地去解决NLP分类任务中的低耗时、小样本、鲁棒、不平衡、测试检验、增量学习、长文本等问题。本文以QA形式探讨了以下问题:Q1: 如何科学地...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、二、使用步骤1.引入库2.读入数据总结 ...为了减轻负样本选择(非相互作用蛋白)固有的不代表性和偏差,我们提出
  • one-stage 代表性的方法是R-CNN系列,如 R-CNN, Fast R-CNN, Faster R-CNN。 而one-stage 方法直接对图像的大量 Candiate Proposals 进行分类与回归。 这两类方法中均存在类别不平衡问题,two-stage 方法通过第一...
  • Airbnb在《Real-time Personalization using Embeddings for Search Ranking at Airbnb》一文中的做法,就是根据业务逻辑来选取hard negative 增加与正样本同城的房间作为负样本,增强了正负样本在地域上的相似,...
  • R语言中样本平衡的几种方法

    千次阅读 2017-06-06 21:39:07
    在对不平衡的分类数据集进行建模时,机器学习算法可能并不稳定,其预测结果甚至可能是有偏的,而预测精度此时也变得带有误导。在不平衡的数据中,任一算法都没法从样本量少的类中获取足够的信息来进行精确预测。...
  • 面向可视解释的零样本分类主动学习1 文章概要1.1 摘要1.2 引言1.3 组织结构 1 文章概要 1.1 摘要 问题:零样本分类是解决训练类和测试类不相交问题的一种很有前景的范例。实现这一点通常需要专家通过手动指定类属性...
  • 受此影响,很多同行在开展科研的过程中不分青红皂白地遵循这四大原则。特别是对于“均衡”这一概念,很多研究者总是觉得要是实验组和对照组不平衡(样本量相差甚远)的话,研究结果就不够可靠。殊不知,并非所有...
  • 当存在无数种shift可能时,若样本是稠密的,则其可以通过变换生成任意信号,因此,样本的稀疏和不变是不可兼得的,这体现为“不变”与“稀疏”的Trade-off。通常深度网络可能隐含了样本的稀疏化过程,而...
  • 原则》读后感(一)

    千次阅读 2019-01-15 13:46:32
    原则》瑞·达利欧 豆瓣链接 这本书就不介绍了,这里是我自己的阅读笔记,分享...原则是根本的真理,它构成了行动的基础,通过行动让你实现生命中的愿望。 知其然,更知其所以然。某种层面上,“原则”可以暂且...
  • 本文由@浅墨_毛星云出品,首发于知乎专栏,转载请注明出处 ...基于物理的渲染(Physically Based Rendering , PBR)技术,自迪士尼在SIGGRAPH 2012上提出了著名的“迪士尼原则的BRDF(Disney Principled B...
  • 样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks 文章目录小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks0. 前言1. ...
  • 上回说到,做了VBM和SBM的指标提取及双样本T检验的统计分析,那接下来我们还可以做什么呢,可以从许多文献中看到,有的不仅仅只计算每个体素指标值之间的差异,还会想到要将其放到各个脑区上,比较指标在脑区之间的...
  • 当连续变量符合正态分布(P > 0.05)且方差齐(P > 0.05)的要求时,医统无忧智能统计软件采用两独立样本t检验进行两组间比较,并采用均数±标准差对连续变量的分布进行描述;当连续变量不符合上述条件时,医统...
  • 因为决策树会非常细致地划分样本,如果给决策树分太多的节点,就会导致在训练集上出现过拟合,而如果不增加节点的个数,决策树的表现又不会很理想。为了解决这个两难困境,聪明的专家们想出了这样的思路:既然我没有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,396
精华内容 7,358
关键字:

代表性样本的原则