Python 单样本学习实用指南(二)
五、基于生成建模的方法
当人们对看不见的数据进行推断时,他们会利用有关他们已经看到,听到,触摸或经历过的相关事件的强大先验知识(或归纳偏见)。 例如,与狗一起长大的婴儿可能第一次见到猫,并立即推断出它与家犬的宠物般的性情相似。 当然,猫和狗作为物种和个体是千差万别的。 但是,公平地说,猫比狗更像狗,而不是孩子经历的其他随机事物(例如食物)。 与机器学习模型相反,人类不需要成千上万的猫实例就可以从头开始学习,只要他们已经学会了识别狗就可以识别猫。 人脑具有元学习的固有能力,这与机器学习语言中的迁移学习和多任务学习有关。 此能力通过利用从相关任务中学到的知识来加速新概念的学习。
生成模型是概率模型,旨在弥合人类学习与机器学习之间的鸿沟。 这些模型旨在从对象的各个部分学习高级抽象特征,并将这些学习的特征应用于新的但相似的对象类别。 在本章中,我们将研究如何生成这些生成模型,拥有先验知识意味着什么,如何用数学术语构筑先验知识,如何从一些对象中学习高级概念(模型的参数学习) ),以及如何将这些新学到的知识与先验知识相结合,以对新对象做出有意义的决策(推断)。
本章将涵盖以下主题:
- 贝叶斯学习概述
- 了解有向图模型
- 概率方法概述
- 贝叶斯程序学习
- 判别式 K 样本学习
技术要求
本章将基于理论,因此没有正式的技术要求,但是需要对贝叶斯建模有基本的了解。
贝叶斯学习概述
在本节中,我们将从数学的角度简要讨论贝叶斯学习背后的思想,这是单样本学习概率模型的核心。 贝叶斯学习的总体目标是在给定训练数据的情况下,对参数θ的分布进行建模,即学习分布p(θ | Data)。
在机器学习的概率视图中,我们尝试求解以下方程式:
在此设置中,我们尝试找到可以解释数据的最佳参数集θ。 因此,我们在θ上最大化给定方程:
我们可以对两边取对数,这不会影响优化问题,但会使数学容易且易于处理:
我们可以从数据的右侧删除P(data),因为它不依赖于θ来进行优化,因此优化问题如下:
在非概率视图(也称为期望最大化框架)中,右侧等式中的项p(Data | θ)和P(θ),分别成为损失函数和正则化。 在给定的概率设置中,相同的项称为(给定θ的数据的)似然和先验(在参数空间中的先验信念)。 这种概率优化称为最大后验(MAP)估计,因为我们正在从数据中最大化模型参数的后验分布。 但是,贝叶斯统计不相信 MAP 估计,因为它可能给我们有关最终学习参数的错误结果。 一个不同的数据集很有可能会给我们完全不同的学习参数,这些参数在参数空间中与从原始数据集中学习的参数相距甚远。 这就是贝叶斯学习试图解决的问题。 它显式地模拟参数空间中的不确定性。
考虑给定左撇子和右撇子人数据集的参数分布示例。 下图显示了分布:
最大化来自数据的参数(θ)概率的 MAP 估计将收敛至点A。但是,大多数概率量都更偏向于惯用右手的人,这与世界上惯用右手的人多于惯用左手的人这一事实相吻合。
因此,在贝叶斯学习中,重点是解决后验参数P(Data | θ),以明确地对参数中的不确定性建模。
了解有向图模型
现在,在深入研究用于单样本学习的概率模型之前,我们将简要研究有向图模型。 有向图模型(也称为贝叶斯网络)由与有向边相连的随机变量定义,如在父子关系中。 下图显示了一个这样的贝叶斯网络:
此图中S,R,L,W和T的随机变量的联合分布,通过一个简单的链式规则可分为多个分布:
前面方程右侧的条件分布具有大量参数。 这是因为每个分布都以许多变量为条件,并且每个条件变量都有其自己的结果空间。 如果我们在有大量条件变量的情况下在图中走得更远,则这种影响会更加突出。 因此,要学习每种条件分布的庞大参数集,我们需要大量的标记数据,这在现代机器学习任务中通常是不可用的。
这是有向图模型进入图片的地方。 它断言了概率的一些条件独立性,从而简化了前面描述的方程式。 有向图模型中的每个变量在条件上独立于给定其父对象的非后代。 有向图模型不过是条件独立性的表示。 更正式地讲,如果X[i]是有向图中的顶点,则V是顶点数,X[pa(t)]都是顶点X[t]的父级,则所有顶点上的联合概率分布可写为:
鉴于此,前面公式中定义的联合分布可简化为以下形式:
这减少了模型中参数的数量,并易于使用相对较少的数据来学习模型。
概率方法概述
人类的概念学习趋向于在两个主要方面不同于机器学习。 在下图中考虑来自大量词汇的手写数字示例:
首先,人们倾向于仅从一个或几个示例中学习关于对象的有意义的信息,例如对象边界,并对其进行高精度分类(请参见上图中的i)部分)。 另一方面,深度学习模型需要大量带标签的数据才能在诸如对象识别之类的任务上达到人类水平的表现。
其次,人类从一个示例中学习了绝大多数能力,例如,创建新字符(参见上图中的ii)部分),将对象/字符分解为各个部分和关系(请参见iii)部分),并根据有关现有概念的现有知识开发新的,有意义的概念/字符(请参见上图中的iv)部分)。 相反,深度学习模型针对每个任务都需要特殊的损失函数和架构,由于该任务可用的标记数据非常有限,因此通常不切实际。
人们如何仅从一个示例中学习对对象和概念的如此丰富,强大的表示?
学习理论指出,需要更多的数据(而不是更少的数据)来学习更复杂的,可以很好地概括的模型。 但是人类往往会从非常稀疏的数据中学习到更丰富的表述,这些表述可以很好地概括。
概率模型旨在弥合数据饥渴的机器模型与人类采用的高度健壮的元学习方法之间的鸿沟。 在本章中,我们将讨论两行概率方法,这些方法在从很少的数据中学习各种任务方面已经获得了广泛的成功:
- 第一种方法是对对象零件,子零件及其之间的关系进行显式建模,以学习概念(对象)。 这可用于从一个或几个示例中对新对象进行分类,并从预定义的零件和子零件列表中绘制新类型的对象。
- 第二种方法基于深度学习方法,通过从初始的大量训练数据中学习新类别(其中只有一个类别的图像,以及来自其他类别的大量图像)来完成一次分类任务。 这种方法将潜在变量定义为概念(类)的先验。 最初的大量训练数据集有助于学习有关概念的强大先验知识,这些概念随后可用于从一次镜头分类中对新对象进行分类。
贝叶斯程序学习
贝叶斯程序学习(BPL)进行三个步骤:
- 第一步是生成模型,BPL 通过从“模型”部分的图的 A 侧部分组成(请参考
iii)来学习新概念,以学习新概念) ,下图 A 侧的子部分(请参见ii)和它们在下图 A 侧的空间关系(请参见iv)。 例如,它可以从零件和子零件中采样新类型的概念(在这种情况下为手写字符),并以新的方式将它们组合在一起。 - 在第二步中,第一步中抽取的概念形成另一个较低层的生成模型,以产生新示例,如 A 侧的
v)部分所示。 - 最后一步将渲染原始字符级图像。 因此,BPL 是生成模型的生成模型。 下图的 B 侧显示了该生成模型的伪代码。
模型
给定如图 A 所示的有向图模型,类型ψ的联合分布; 一组M个标记, θ[1], ..., θ[M]; 及其相应的原始图像I[1], ..., I[M]分解如下:
这三个生成过程分别是类型生成(P(ψ)),标记生成(P(θ[m] | ψ[m]))和图像生成(P(I[m] | θ[m])),分别在下图中用其伪代码进行了讨论:
类型生成
手写字符类型(ψ)是字符的各个部分和子部分之间以及它们之间的关系的抽象架构。 反映现实生活中的字符书写过程,字符部分S[i]形成了笔向下移动到笔抬起操作的一个笔触。 这些字符笔划由S[i1], ..., S[in[i]]子部分组成,表示笔的短暂停顿。 生成新字符类型的伪代码显示在上图的 B 侧,其执行过程如下:
-
为了生成新的字符类型,模型首先为每个部分采样零件数(
k)和子零件数(n[i])。 采样参数来自它们在训练数据集中的经验分布。 训练数据还提供了子部分的预定义原语集。 -
每个字符部分都是通过对预定义集合中的子部分进行采样而产生的,因此对下一个子部分进行采样的概率取决于前一个子部分。
-
为零件
S[i]采样了关系R[i],该关系定义了该零件与先前零件的连接方式。
标记生成
字符标记θ[m]是通过对墨水从笔到纸的流动方式进行建模而由零件和关系生成的。 用于标记生成的伪代码在上图的 B 侧进行了描述。 首先,将噪声(此处称为运动方差)添加到子零件的比例尺和控制点,以定义冲程(或零件)轨迹s[m]。 轨迹的精确开始位置L[m]由关系R[i]决定。 最后,将变换A[m]用于减轻概率推断。
图像生成
使用随机渲染函数生成原始二进制字符图像I[m],该函数将笔划轨迹与灰度墨水映射。 这是通过为每个像素分配独立的伯努利概率来实现的。
BPL 是一种高度直观的模型,可以在贝叶斯框架下使用简单的程序为概念建模。 从训练数据中学习概率分布的参数。 在分类和生成的单次计算机视觉任务上,该模型的表现与人类水平的表现相当,其数据需求远低于某些最新的深度学习模型。 这里研究的概率程序非常基础,适合于相当容易的字符识别任务。 BPL 框架支持设计更复杂的程序,这些程序可以对各种对象的复杂表示进行建模。 例如,可以使用此框架对在零件和关系方面具有清晰直观描述的对象(例如车辆,食品,动物,甚至人脸)进行建模。 为此,BPL 框架甚至支持建模抽象知识,例如自然语言语义和物理理论。 然而,这些概率程序需要对数据及其部分,子部分和关系进行手动标记,这是一个耗时的过程,而深度学习方法则是自己学习这些人类直观特征和深层抽象特征。
判别式 K 样本学习
K 样本学习的一种非常常见的方法是训练具有相关任务的大型模型,而我们为此拥有大型数据集。 然后,通过 K 次特定任务对该模型进行微调。 因此,来自大型数据集的知识被提炼为到模型中,这仅从几个示例中增加了对新相关任务的学习。 2003 年,Bakker 和 Heskes 提出了一种用于 K 样本学习的概率模型,其中所有任务共享一个公共特征提取器,但具有各自的线性分类器,其中仅包含几个特定于任务的参数。
这里讨论的 K 样本学习的概率方法与 Bakker 和 Heskes 引入的方法非常相似。 该方法通过从很少的数据中学习概率模型来解决分类任务(针对图像)。 这个想法是使用一个强大的神经网络,该网络从大量监督数据中学习可靠的特征,并将其与概率模型结合起来。 神经网络最后一层的权重充当以贝叶斯方式规范化 K 次子模型权重的数据。
学习框架包括四个阶段:
- 表示学习
- 概念学习
- K 样本学习
- K 次测试
下图显示了具有四个阶段的框架。 以下各节将对它们进行更正式的讨论:
表示学习
在第一阶段(表示学习),使用大型数据集D_tilde训练 CNN(Φ[φ]),该数据集训练参数φ的网络W_tilde。 此后,这些参数φ是固定的,并在以后的阶段中共享。 来自 CNN 最后一层的激活被映射到两组 softmax 层,由W_tilde和W参数化。 参数W_tilde对应于大型数据集D_tilde中的C_tilde类,参数W对应于 K 次任务的数据集D中的C类。 如下图所示:
权重的概率模型
假设由于最大数据集D_tilde而在第一阶段获知的 softmax 权重W_tilde的不确定性很小。 将此近似值与上图中的图模型结构结合起来,我们可以摆脱原始数据集D_tilde,并使用W_tilde的 MAP 估计值(W_MAP)处于概念学习和 K 样本学习阶段。 完整的概率模型遵循以下步骤:
- K 样本学习过程将信息合并到两个数据集
D_tilde和D中,以在W上生成后验分布:
- 从图模型,在上图中,我们知道给定父级
W的情况,D有条件地独立于D_tilde我们有以下内容:
因此,等式 1 变为:
- 我们可以将项
P(D_tilde)吸收到比例常数中,从而使前面的方程式变为:
主要挑战是在给定初始数据集D_tilde的情况下,计算超参数θ的后验,这会使该模型的推理变得难以处理。 由于使用了较大的初始数据集来学习权重W_tilde,后分布P(W_tilde | D_tilde)可以通过其 MAP 估计值安全地近似,即P(W_tilde | D_tilde) ≈ δ(W - W_MAP)。 因此,我们可以摆脱等式 2 中的D_tilde,并用W_tilde代替。
选择权重模型
给定图模型,我们可以写出概念超参数(θ)和模型权重(W,W_tilde)的联合分布如下:
做出两个简单但合理的假设以使机器在计算上易于处理:
- 首先,对于每个类别,从最后一个隐藏层到 softmax 的隐藏权重
W和W_tilde被视为独立的。 - 第二,给定
θ,P(w_tilde[c'] | θ)和P(w[c] | θ)的权重分布W和W_tilde是相同的。
然后,等式 3 中的联合分布简化为:
一个简单的高斯模型用于权重P(w | θ) = N(w | μ, Σ)及其共轭正反 Wishart 先验P(θ) = P(μ, Σ) = NIW(μ[0], κ[0], Λ[0], v[0]),并估计 MAP 解的参数θ_MAP = {μ_MAP, Σ_MAP}。
这导致分发简化为以下内容:
K 样本学习(等式 2)期间新权重W的后验分布简化为以下表达式:
每个阶段的计算和近似
在讨论了先前模型的机制之后,以下小节总结了判别式 K 次模型的四个阶段中的所有计算和近似。
第一阶段–表示学习
最初,深度学习训练特征提取器Φ[φ]。 在以下阶段中使用输入图像(u)的最后一层的激活x = Φ[φ](u)。 原始数据集中类别的 softmax 权重为 MAP 估计值W_tilde_MAP。
第二阶段–概念学习
概率模型直接适合于 MAP 权重P(θ | W_tilde) ∝ P(θ)P(W_tilde | θ)。 对于共轭模型,后验分布是通过解析获得的。 否则,将使用P(θ | W_tilde)的 MAP 估计值。
第三阶段– K 样本学习
在 softmax 权重W,P(W | D, W_tilde_MAP) ∝ P(W | W_tilde_MAP) Π[n = 1, ..., N] p(y[n] | x[n], w)上的后缀是难以处理的。 通过使用 MAP 估计W_MAP或通过采样W[m] = P(W | D, W_tilde_MAP)可以近似得出。 必须注意,P(W | W_tilde_MAP) = ∫P(W | θ)P(θ | W_tilde_MAP)dθ是针对共轭模型的分析。 但是,如果在阶段 2 中根据 MAP 估计来估计θ,则如等式 4 中所述使用P(W | W_tilde_MAP) ≈ P(W | θ_MAP)。
第四阶段 – K 次测试
K 次测试时间P(y*, x*, D, W_tilde_MAP) = ∫p(y* | x*, W)P(W | D, W_tilde_MAP)dW的推断是难以理解的,因此此处使用近似值。 如果从阶段 3 开始使用W的 MAP 估计值(W_MAP),则P(y*, x*, D, W_tilde_MAP) = P(y* | x*, W_MAP)。 如果在阶段 3 中重新采样,则使用P(y*, x*, D, W_tilde_MAP) = 1/m Σ[m = 1, ..., M] p(y* | x*, W[m])。
在 miniImageNet 数据集(由 100 个类组成,每个类中包含 600 个图像)上,此方法可以单样本学习一次和五样本学习获得最先进的结果。 离统一概率模型和深度学习的领域又迈进了一步,将两者结合起来,可以开发出真正强大的模型,从而利用概率领域的强大数学保证和深度学习模型的强大健壮功能。 判别式 K 样本学习方法仍然需要大量带标签的训练数据来训练基于深度学习的特征提取器。 另一方面,贝叶斯程序学习方法利用模型中的归纳偏差和手工设计的特征,因此需要较少的标注训练数据。
总结
在本章中,我们学习了在贝叶斯框架内开发概率模型的方法,该模型可以极大地减少数据需求并达到人类水平的表现。 从前面讨论的手写字符的示例中,我们还观察到概率模型不仅可以学习如何对字符进行分类,还可以学习基本概念,即以新的方式应用获得的知识,例如从集合中仅有的几个字符生成全新的字符,以及将字符解析为部分和关系。
但是,人类学习器需要从具有丰富重叠结构的许多经验中获得的广泛的先前经验来完成新的学习任务。 为了模仿人类学习,图结构需要具有更多的依赖性,并且需要在模型中内置丰富的归纳偏差。 还应注意,人类在很小的时候就对物体的物理特性(形状,运动和其他力学)有很好的认识。 学习模型不会隐式地捕获对象的直观物理特性,也不会显式地将其嵌入对象中。 直观物理(类似于游戏引擎中嵌入的物理)与概率模型和深度学习的集成,是朝着更健壮的单发学习迈出的重要一步。 最后,由于先验知识以强先验和图结构的形式嵌入到概率模型中,因此与必须从头学习任务的深度学习模型相比,它们的数据消耗更少。 但这是以在概率模型中进行有效推理的计算挑战为代价的。 在推断时,这些模型必须搜索巨大的概率空间,这对于现代计算机而言是不实际的。 相反,深度学习模型具有精确且计算上便宜的推断。 最近的工作通过使用前馈映射对摊销概率推理计算来解决图模型中的这一推理挑战,可以使用成对的生成/识别网络来学习。 这提供了另一条有希望的研究领域,使深度学习和概率模型更加接近。
进一步阅读
要了解有关本章涵盖的主题的更多信息,请阅读以下文章:
- 《通过概率性规划归纳的人类级别概念学习》
- 《可以无监督单样本学习对象类别的一种贝叶斯方法》
- 《使用概率模型的判别性 K 样本学习》
- 《构建像人一样学习和思考的机器》
- 《简单视觉概念的单样本学习》
- 《使用分层非参数贝叶斯模型的单样本学习》
六、总结和其他方法
在这本书中,我们了解了用于深度学习的各种形式的架构,以及从手动特征提取到变型贝叶斯框架的各种技术和方法。 单样本学习是一个特别活跃的研究领域,因为它专注于根据人类的神经能力更紧密地建立一种机器意识。 过去 5 年中,随着深度学习社区的进步,我们至少可以说,我们正在开发一种可以像人类一样同时学习多个任务的机器。 在这一章中,我们将看到单样本学习还有哪些其他选择,并讨论本书中未深入探讨的其他方法。
将涵盖以下主题:
- 最新进展
- 相关领域
- 应用领域
最新进展
在深度学习社区中,已经提出了用于单样本学习的各种其他方法,例如使用 GAN 的生成建模,图像变形元网络,基于代表的度量学习等。 到目前为止,我们已经看到了使用单样本学习进行分类的模型,但是在对象检测和语义分割方面也取得了一些进步。 在本节中,我们将介绍一些主要的基于机器学习的会议的最新论文(例如 CVPR,NeurIPS,ICLR 等)。
基于度量的学习是进行单样本学习的较旧方法之一。 尽管该区域较旧,但仍在探索许多方面。 一个很好的例子是关于《为短时学习重新研究基于局部描述符的图像到类度量》主题的研究工作。 在本文中,作者提出了一种卷积神经网络架构,称为 D4N(深度最近邻神经网络),该架构可提取图像级特征。 它与其他神经网络架构的主要区别是用基于局部描述符的图像到类度量替代了最后一层。
《通过类别遍历查找与几次任务学习相关的任务相关特征》也为改进度量学习方法做出了贡献,方法是引入一个插件框架。 在本文中,作者讨论了众所周知的度量学习方法(例如连体网络和匹配网络)如何一次只关注一个任务,而不是整个学习所有任务。 类别遍历模块(CTM)插件组件通过完成所有支持任务来学习重要的尺寸特征。 CTM 在集中器和投影仪单元的帮助下,为相似类别提取通用特征嵌入,并在不同类别中提取唯一特征。 使用 CTM 的输出,我们可以在元学习器之前添加一个强大的先验,这可以使我们更快更好地进行优化。 通过使用此框架,他们显示了基于度量的学习方法的显着改进。
在对象检测和语义分割领域也有一些显着贡献。 让我们讨论其中的两种方法。
小样本领域中的对象检测
《RepMet:用于分类和几次对象检测的基于代表的度量学习》是一种小样本学习对象检测方法。 在本文中,作者提出了一种用于对象区域提议的特征金字塔网络的变体,并且在其顶部,他们添加了基于度量的分类器,该分类器根据与学习的类代表的距离对建议的区域进行分类。 他们还通过在 ImageNet 数据集上建立了用于少发物体检测任务的基准,为研究界做出了贡献。
同样,《具有共同注意和共同激励的一次目标检测》也可以使用传统的视觉方法,在建议的区域基础上进行过滤。 在这项工作中,作者假设将提供目标图像和查询图像。 例如,如果我们要检测笔架,则目标图像将是笔架,而查询图像将是桌子上的笔架。 在这种方法中,我们首先从目标图像中提取有关对象的空间信息,然后从查询图像中提取上下文对象。 上下文和空间信息在确定对象方面起着重要作用。 例如,如果有一张桌子,出现笔架的可能性就会增加。 这类似于人类使用上下文学习的方式。 该模型还通过将输入传递给注意力模型来利用上下文的帮助。
小样本领域中的图像分割
研究工作《CANet:具有迭代细化和专注的小样本学习的类不可知分割网络》证明了医学影像行业的潜在增长。 在本文中,作者提出了一个用于语义分割的两级框架:密集比较模块(DCM)和迭代优化模块(IOM)。 DCM 通过使用通用的 ResNet 架构提取特征,在训练集示例和测试集示例之间进行了密集的特征比较,而 IOM 通过残差块加 CNN 和粗糙的空间金字塔池(ASPP)模块。
同样, 《PANet:具有原型对齐的几次语义分割》通过以下方式解决了少数镜头分割问题: 度量学习方法。 本文还提出了一种对齐网络,以更好地利用从支持集中提取的信息。 在 PANet 中,最初,网络从特定嵌入空间内的一些支持图像中学习特定于类别的表示,然后通过将每个像素与学习到的特定于类别的表示进行匹配,对查询/目标图像执行分割。 通过使用这种方法,PANet 可以利用支持集中的重要见解,并在几次分割的情况下提供更可靠的概括。
如我们所见,这些解决方案适用于数据有限的情况。 我们如何量化有限的和足够的? 我们需要查看我们希望训练的模型架构的能力以及希望解决的问题的复杂性。 类似于单样本学习,多年来研究人员提出了其他一些方法,也旨在解决数据有限的问题。 在下一节中,我们将学习机器学习的这些领域,以及它们与单样本学习相比的效率。
相关领域
众所周知,单样本学习是机器学习的一个子领域。 有多种不同的相关解决方案与单样本学习方法非常相似,但其解决方案方法略有不同。 这些问题也可以通过使用单样本学习算法来解决。 让我们遍历 ML 的每个相关领域,观察它们与单样本学习问题的相似之处:
- 半监督学习
- 学习不平衡
- 元学习
- 迁移学习
半监督学习
假设我们有 10,000 个数据点,其中只有 20,000 个被标记,而 80,000 个未被标记。 在这种情况下,我们将采用半监督学习。 在半监督学习中,我们使用未标记的数据来总体上进一步了解人口结构。 半监督学习通过伪标签技术来增加训练集。 也就是说,我们使用 20,000 个带标签的数据集训练模型,并在大小相等的测试数据点上使用该模型为它们创建伪标签。 下图说明了半监督学习架构:
获得伪标签后,我们将实标签与伪标签连接起来,将实特征与伪特征连接在一起。 连接后,我们训练了一个新模型,事实证明该模型比初始模型更准确。 我们一直这样做,直到获得最佳精度。
学习不平衡
在学习不平衡的情况下,我们有一个不平衡的数据集。 也就是说,我们从一个类别中获得的样本要多于从其他类别中获得的样本。 这也被普遍称为偏态分布数据集。让我们看一下处理偏斜数据集的一些流行方法:
- 度量标准的选择:度量标准的多种形式可以帮助评估模型的准确率,例如混淆矩阵,精度,召回率和 F1 得分。
- 算法的选择:参数算法通过数据集学习其参数,因此,如果数据集存在偏差,则参数模型最有可能也会受到偏差。 对于有偏数据集,非参数方法(例如 k 最近邻)和集合(例如 AdaBoost,XGBoost 等)被证明是最佳方法。
- 数据采样方法的选择:也可以考虑进行数据采样以确保数据集不会保持偏斜。
这种方法接近单样本学习,因为我们期望创建的机器学习模型应该能够从一些示例中学习分布。
要了解有关度量形式的更多信息,请参阅第 2 章,“基于度量的方法”。
元学习
元学习最近在研究界引起了很多关注。 本书中讨论的大多数方法都是元学习型方法,例如与模型无关的元学习和元网络。 元学习是一种在不同任务上训练模型,然后针对特定任务使用通常学到的特征的方法。 它帮助模型在许多任务上学习先验,从而帮助模型在有限的数据下达到优化。 用简单的话来说,元学习是一种训练模型以元学习任何目标的方法。
迁移学习
迁移学习是指使用从解决一个问题中获得的知识并将其用于解决另一个问题的技术。 以下是迁移学习方法的简化视图:
换句话说,在一个数据集上训练的神经网络模型可以通过对前一个网络进行微调而用于其他数据集,就像我们如何使用在不同域数据集(例如 MNIST 数据集)上训练的连体网络来提取更好的特征,用于签名匹配,手写匹配等。 迁移学习在深度学习领域引起了很多关注,并已被证明对于许多应用非常有用。 但是,由于数据限制,我们无法在制造,医药,化学等非常见领域中使用它。
应用领域
从理论上讲,单样本学习有多种应用,但直到最近才开始在实际场景中使用。 使用单样本学习已取得了最新进展,例如编写 SQL 代码,改进变形的医学图像以及运行签名验证。 还有其他几个领域仍在研究中。 OpenAI,Google,Microsoft 和 Amazon 等公司正在 AI 研究方面投入巨资。 解决单样本学习将意味着创建具有人类能力的机械大脑。 这种进步可以通过多种方式挽救生命:可以为罕见病的发现铺平道路,解决全球粮食危机或优化供应链模型。
在本书中,我们探讨了一些单样本学习的可能方法。 如果您想探索更多内容,请参阅“进一步阅读”部分。
进一步阅读
要进一步了解本章,请参考以下作品:
- 《元学习实践》
- 《为小样本学习重新研究基于局部描述符的图像到类度量》
- 《通过类别遍历查找与几项学习相关的任务相关特征》
- 《RepMet:基于代表的度量学习,用于分类和几次检测》
- 《具有共同注意和共同激励的一次对象检测》
- 《CANet:具有迭代细化和专心的少样本学习的类不可知分割网络》
- 《PANet:具有原型对齐的几次图像语义分割》
第一部分:单样本学习简介
深度学习给制造业带来了重大变化,无论是制造业,医疗还是人力资源。 通过这一重大革命和概念验证,几乎每个行业都在尝试调整其业务模型以适应深度学习,但是它有一些主要要求,可能并不适合每个业务或行业。 阅读本节后,您将对深度学习的优缺点有适当的了解。
本节包括以下章节:
- 第 1 章,“单样本学习简介”
第二部分:深度学习架构
单样本学习一直是许多科学家的活跃研究领域,他们试图找到一种在学习方面与人类尽可能接近的认知机器。 由于存在关于人类如何进行单样本学习的各种理论,因此我们可以使用许多不同的深度学习方法来解决这一问题。 本书的这一部分将重点介绍基于度量,基于模型和基于优化的深度学习架构,以解决单样本学习问题及其实现。
本节包括以下章节:
- 第 2 章,“基于度量的方法”
- 第 3 章,“基于模型的方法”
- 第 4 章,“基于优化的方法”
第三部分:其他方法和结论
深度学习架构已被证明是非常有效的,但是它们仍然不是单样本学习的最佳方法。 贝叶斯编程语言之类的不同贝叶斯方法仍然可以一口气击败人类。 在本节中,我们将学习贝叶斯方法,并讨论该领域的最新进展。 此外,我们将贝叶斯方法与深度学习圈中解决任何问题的众所周知的技术(迁移学习)进行比较。 我们还将学习何时在迁移学习中使用单发方法。
本节包括以下章节:
- 第 5 章,“基于生成建模的方法”
- 第 6 章,“结论和其他方法”