提交 2ba65029 编写于 作者: W wizardforcel

2021-07-27 22:44:53

上级 e3a082cc
......@@ -23,7 +23,7 @@
![](img/451420ac-8f1b-415c-b8d7-f893cf701fee.png)
连体网络的另一种用途是一次性学习。 **单次学习**是仅举一个示例的学习技术。 在这种情况下,可以显示图像,并判断它们是否相似。 对于大多数相似性学习任务,需要一对正负对进行训练。 可以将此类数据集与可用于分类任务的任何数据集一起形成,前提是它们是欧几里得距离。 这些算法与前几章中的算法之间的主要区别在于,这些编码器试图将一个编码器与另一个编码器区分开。
连体网络的另一种用途是单样本学习。 **单样本学习**是仅举一个示例的学习技术。 在这种情况下,可以显示图像,并判断它们是否相似。 对于大多数相似性学习任务,需要一对正负对进行训练。 可以将此类数据集与可用于分类任务的任何数据集一起形成,前提是它们是欧几里得距离。 这些算法与前几章中的算法之间的主要区别在于,这些编码器试图将一个编码器与另一个编码器区分开。
# 对比损失
......
......@@ -816,7 +816,7 @@ YOLOv3 的架构和之前讨论过的很像,只有一些重要的不同点:
许多 GitHub 仓库提供了语义分割的 TensorFlow 实现,还可以在 TensorFlow Models 中找到预训练的实例分割模型。实例分割和语义分割类似,但不是将相同类的所有物体合并成一坨,而是将每个目标都分开(可以将每辆自行车都分开)。目前,TensorFlow Models 中可用的实例分割时基于 Mask R-CNN 架构的,是在 2017 年的一篇[论文](https://links.jianshu.com/go?to=https%3A%2F%2Farxiv.org%2Fabs%2F1703.06870)中提出的:通过给每个边框做一个像素罩,拓展 Faster R-CNN 模型。所以不仅能得到边框,还能获得边框中像素的像素罩。
可以发现,深度计算机视觉领域既宽广又发展迅速,每年都会产生新的架构,都是基于卷积神经网络的。最近几年进步惊人,研究者们现在正聚焦于越来越难的问题,比如对抗学习(可以让网络对具有欺骗性的图片更有抵抗力),可解释性(理解为什么网络做出这样的分类),实时图像生成(见第 17 章),一次学习(观察一次,就能认出目标呃系统)。一些人在探索全新的架构,比如 Geoffrey Hinton 的[胶囊网络](https://links.jianshu.com/go?to=https%3A%2F%2Fhoml.info%2Fcapsnet)(见[视频](https://links.jianshu.com/go?to=https%3A%2F%2Fhoml.info%2Fcapsnetvideos),笔记本中有对应的代码)。下一章会介绍如何用循环神经网络和卷积神经网络来处理序列数据,比如时间序列。
可以发现,深度计算机视觉领域既宽广又发展迅速,每年都会产生新的架构,都是基于卷积神经网络的。最近几年进步惊人,研究者们现在正聚焦于越来越难的问题,比如对抗学习(可以让网络对具有欺骗性的图片更有抵抗力),可解释性(理解为什么网络做出这样的分类),实时图像生成(见第 17 章),单样本学习(观察一次,就能认出目标呃系统)。一些人在探索全新的架构,比如 Geoffrey Hinton 的[胶囊网络](https://links.jianshu.com/go?to=https%3A%2F%2Fhoml.info%2Fcapsnet)(见[视频](https://links.jianshu.com/go?to=https%3A%2F%2Fhoml.info%2Fcapsnetvideos),笔记本中有对应的代码)。下一章会介绍如何用循环神经网络和卷积神经网络来处理序列数据,比如时间序列。
## 练习
......
......@@ -750,7 +750,7 @@ outputs = keras.layers.TimeDistributed(
* Jeremy Howard 和 Sebastian Ruder 的 [ULMFiT 论文](https://links.jianshu.com/go?to=https%3A%2F%2Fhoml.info%2Fulmfit),介绍了无监督预训练对 NLP 的有效性:作者用海量语料,使用自监督学习(即,从数据自动生成标签)训练了一个 LSTM 语言模型,然后在各种任务上微调模型。他们的模型在六个文本分类任务上取得了优异的结果(将误差率降低了 18-24%)。另外,他们证明,通过在 100 个标签样本上微调预训练模型,可以达到在 10000 个样本上训练的效果。
* Alec Radford 和其他 OpenAI 人员的 [GPT 论文](https://links.jianshu.com/go?to=https%3A%2F%2Fhoml.info%2Fgpt),也展示了无监督训练的有效性,但他们使用的是类似 Transformer 的架构。作者预训练了一个庞大但简单的架构,由 12 个 Transformer 模块组成(只使用了遮挡多头注意力机制),也是用自监督训练的。然后在多个语言任务上微调,只对每个任务做了小调整。任务种类很杂:包括文本分类、衔接(句子 A 是否跟着句子 B),相似度(例如,`Nice weather today``It is sunny`很像),还有问答(通过阅读几段文字,让模型来回答多选题)。几个月之后,在 2019 年的二月,Alec Radford、Jeffrey Wu 和其它 OpenAI 的人员发表了 [GPT-2 论文](https://links.jianshu.com/go?to=https%3A%2F%2Fhoml.info%2Fgpt2),介绍了一个相似的架构,但是更大(超过 15 亿参数),他们展示了这个架构可以在多个任务上取得优异的表现,且不需要微调。这被称为零学习(zero-shot learning (ZSL))。[这个页面](https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com%2Fopenai%2Fgpt-2)上是一个 GPT-2 模型的带有预训练权重的小型版本,“只有”1.17 亿个参数。
* Alec Radford 和其他 OpenAI 人员的 [GPT 论文](https://links.jianshu.com/go?to=https%3A%2F%2Fhoml.info%2Fgpt),也展示了无监督训练的有效性,但他们使用的是类似 Transformer 的架构。作者预训练了一个庞大但简单的架构,由 12 个 Transformer 模块组成(只使用了遮挡多头注意力机制),也是用自监督训练的。然后在多个语言任务上微调,只对每个任务做了小调整。任务种类很杂:包括文本分类、衔接(句子 A 是否跟着句子 B),相似度(例如,`Nice weather today``It is sunny`很像),还有问答(通过阅读几段文字,让模型来回答多选题)。几个月之后,在 2019 年的二月,Alec Radford、Jeffrey Wu 和其它 OpenAI 的人员发表了 [GPT-2 论文](https://links.jianshu.com/go?to=https%3A%2F%2Fhoml.info%2Fgpt2),介绍了一个相似的架构,但是更大(超过 15 亿参数),他们展示了这个架构可以在多个任务上取得优异的表现,且不需要微调。这被称为零样本学习(zero-shot learning (ZSL))。[这个页面](https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com%2Fopenai%2Fgpt-2)上是一个 GPT-2 模型的带有预训练权重的小型版本,“只有”1.17 亿个参数。
* Jacob Devlin 和其它 Google 人员的 [BERT 论文](https://links.jianshu.com/go?to=https%3A%2F%2Fhoml.info%2Fbert),也证明了在海量语料上做自监督预训练的有效性,使用的是类似 GPT 的架构,但用的是无遮挡多头注意力层(类似 Transformer 的编码器)。这意味着模型实际是双向的这就是 BERT(Bidirectional Encoder Representations from Transformers)中的 B 的含义。最重要的,作者提出了两个预训练任务,用以测试模型能力:
......
# 零、前言
一次学习一直是许多科学家的活跃研究领域,他们试图找到一种在学习方面尽可能接近人类的认知机器。 关于人类如何实现一次学习的理论多种多样,从非参数模型和深度学习架构到概率模型,可以采用多种方法来实现这一功能。
单样本学习一直是许多科学家的活跃研究领域,他们试图找到一种在学习方面尽可能接近人类的认知机器。 关于人类如何实现单样本学习的理论多种多样,从非参数模型和深度学习架构到概率模型,可以采用多种方法来实现这一功能。
《Python 一次学习实用指南》将专注于设计和学习可以从一个或几个训练示例中学习与对象有关的信息的模型。 本书将首先为您简要介绍深度学习和一次学习,以帮助您入门。 然后,您将学习实现此目标的不同方法,包括非参数模型,深度学习架构和概率模型。 精通核心原理后,您将探索一些实用的实际示例和使用 scikit-learn 和 PyTorch 的一次学习的实现。
《Python 单样本学习实用指南》将专注于设计和学习可以从一个或几个训练示例中学习与对象有关的信息的模型。 本书将首先为您简要介绍深度学习和单样本学习,以帮助您入门。 然后,您将学习实现此目标的不同方法,包括非参数模型,深度学习架构和概率模型。 精通核心原理后,您将探索一些实用的实际示例和使用 scikit-learn 和 PyTorch 的单样本学习的实现。
到本书结尾,您将熟悉单发和少发的学习方法,并能够通过单发学习来加速深度学习过程。
# 这本书是给谁的
人工智能研究人员以及希望应用一次学习以减少其模型的总体训练时间的机器学习和深度学习专家,将发现本书是非常好的入门学习资源。
人工智能研究人员以及希望应用单样本学习以减少其模型的总体训练时间的机器学习和深度学习专家,将发现本书是非常好的入门学习资源。
# 本书涵盖的内容
第 1 章,“一次学习简介”告诉我们什么是单次学习及其工作原理。 它还告诉我们有关人脑的工作原理以及它如何转换为机器学习。
第 1 章,“单样本学习简介”告诉我们什么是单样本学习及其工作原理。 它还告诉我们有关人脑的工作原理以及它如何转换为机器学习。
第 2 章,“基于度量的方法”通过将核心保持为基本的 k 最近邻,探索了使用不同形式的嵌入和评估度量的方法。
第 3 章,“基于模型的方法”探索了两种架构,其内部架构有助于训练 K 学习模型。
第 3 章,“基于模型的方法”探索了两种架构,其内部架构有助于训练 K 样本学习模型。
第 4 章,“基于优化的方法”探索了各种形式的优化算法,即使数据量很少,它们也有助于提高准确率。
......
# 一、一次学习简介
# 一、单样本学习简介
人们可以通过少量示例学习新事物。 当受到刺激时,人类似乎能够快速理解新概念,然后在将来认识到这些概念的变体。 孩子可以从一张图片中学会识别狗,但是机器学习系统需要大量示例来学习狗的特征并在将来识别它们。 作为一个领域,机器学习在各种任务(例如分类和 Web 搜索以及图像和语音识别)上都取得了巨大的成功。 但是,这些模型通常在没有大量数据(示例)可供学习的情况下表现不佳。 本书的主要动机是使用很少的示例来训练模型,而无需进行大量的重新训练就能够将其概括为不熟悉的类别。
深度学习在机器学习的发展中发挥了重要作用,但它也需要大量的数据集。 不同的技术(例如正则化)可以减少在低数据环境中的过拟合,但不能解决较少的训练示例所固有的问题。 此外,大型数据集导致学习缓慢,需要使用梯度下降法进行许多权重更新。 这主要是由于 ML 算法的参数方面,在该方面需要慢慢学习训练示例。 相反,许多已知的非参数模型(例如最近邻居)不需要任何训练,但是表现取决于有时任意选择的距离度量(例如 L2 距离)。 一次学习是计算机视觉中的对象分类问题。 尽管大多数基于 ML 的对象分类算法都需要数百或数千张图像和非常大的数据集进行训练,但是一次学习的目的是从一个或仅几个训练图像中学习有关对象类别的信息。 在本章中,我们将学习一次学习的基础知识,并探索其实际应用。
深度学习在机器学习的发展中发挥了重要作用,但它也需要大量的数据集。 不同的技术(例如正则化)可以减少在低数据环境中的过拟合,但不能解决较少的训练示例所固有的问题。 此外,大型数据集导致学习缓慢,需要使用梯度下降法进行许多权重更新。 这主要是由于 ML 算法的参数方面,在该方面需要慢慢学习训练示例。 相反,许多已知的非参数模型(例如最近邻居)不需要任何训练,但是表现取决于有时任意选择的距离度量(例如 L2 距离)。 单样本学习是计算机视觉中的对象分类问题。 尽管大多数基于 ML 的对象分类算法都需要数百或数千张图像和非常大的数据集进行训练,但是单样本学习的目的是从一个或仅几个训练图像中学习有关对象类别的信息。 在本章中,我们将学习单样本学习的基础知识,并探索其实际应用。
本章将涵盖以下主题:
* 人脑概述
* 机器学习-历史概述
* 一次学习-概述
* 单样本学习-概述
* 设置环境
* 编码练习
......@@ -70,15 +70,15 @@
除了这些挑战之外,机器学习在处理特征选择和高维数据方面也面临挑战。
在下一节中,我们将介绍一次学习,并学习如何尝试解决机器学习和深度学习所面临的挑战。
在下一节中,我们将介绍单样本学习,并学习如何尝试解决机器学习和深度学习所面临的挑战。
# 一次学习概述
# 单样本学习概述
一次学习可以看作是一种类似于人类学习方式的机器训练方法。 一次学习是一种在有限的监督数据的帮助下,借助强大的先验知识来学习新任务的方法。 李菲菲博士最早发表的导致图像分类问题精度高的著作可以追溯到 2000 年代-尽管近年来,研究人员在通过不同的深度学习架构和优化算法(例如, 匹配网络,不可知论元学习模型和记忆增强神经网络。 一次学习在多个行业中都有很多应用,尤其是在医疗和制造业中。 在医学上,当可用数据有限时,例如在治疗罕见疾病时,我们可以使用一次学习。 而在制造中,我们可以减少人为误差,例如表壳制造中的缺陷。
单样本学习可以看作是一种类似于人类学习方式的机器训练方法。 单样本学习是一种在有限的监督数据的帮助下,借助强大的先验知识来学习新任务的方法。 李菲菲博士最早发表的导致图像分类问题精度高的著作可以追溯到 2000 年代-尽管近年来,研究人员在通过不同的深度学习架构和优化算法(例如, 匹配网络,不可知论元学习模型和记忆增强神经网络。 单样本学习在多个行业中都有很多应用,尤其是在医疗和制造业中。 在医学上,当可用数据有限时,例如在治疗罕见疾病时,我们可以使用单样本学习。 而在制造中,我们可以减少人为误差,例如表壳制造中的缺陷。
# 一次学习的先决条件
# 单样本学习的先决条件
如果我们进一步讨论如何从有限的数据中学习必要的信息,我们将意识到人脑已经受过训练以提取重要信息的神经元。 例如,如果教导孩子球形物体是球,那么他们的大脑也会处理有关球的大小和纹理的信息,也称为物体的**过滤器**。 因此,对于任何形式的一次学习,我们都可以说我们至少需要满足以下条件之一:
如果我们进一步讨论如何从有限的数据中学习必要的信息,我们将意识到人脑已经受过训练以提取重要信息的神经元。 例如,如果教导孩子球形物体是球,那么他们的大脑也会处理有关球的大小和纹理的信息,也称为物体的**过滤器**。 因此,对于任何形式的单样本学习,我们都可以说我们至少需要满足以下条件之一:
* 先前训练过的过滤器和预定架构
* 正确的数据分布假设
......@@ -88,9 +88,9 @@
在下一部分中,我们将进行简短的编码练习,以了解当我们拥有小的数据集时,简单的非参数 kNN 的表现要优于神经网络。 不幸的是,它在现实世界中可能无法很好地工作,因为我们仍然存在学习良好的特征表示并选择合适的距离函数的问题。
# 一次学习的类型
# 单样本学习的类型
解决单学习的方法多种多样。 粗略地说,它们可以分为五个主要类别:
解决单样本学习的方法多种多样。 粗略地说,它们可以分为五个主要类别:
* 数据扩充方法
* 基于模型的方法
......@@ -98,13 +98,13 @@
* 基于优化的方法
* 基于生成建模的方法
下图显示了一次学习的类别:
下图显示了单样本学习的类别:
![](img/7da6c666-88ab-45dc-ada6-3081219fd02c.png)
数据扩充是深度学习社区中最常用的方法,可以为数据增加变化,增加数据大小并平衡数据。 这是通过在数据中添加某种形式的噪声来实现的。 例如,图像可能会被缩放,平移和旋转。 而在自然语言处理任务中,可能会有同义词替换,随机插入和随机交换。
尽管数据扩充方法在预处理中起着至关重要的作用,但本书不会涉及到该主题。 在本书中,我们将着重于一次学习的算法方法以及如何实现它们。 我们还将在常用的单次学习数据集上进行实验,例如 **Omniglot** 数据集和 **Mini ImageNet**
尽管数据扩充方法在预处理中起着至关重要的作用,但本书不会涉及到该主题。 在本书中,我们将着重于单样本学习的算法方法以及如何实现它们。 我们还将在常用的单样本学习数据集上进行实验,例如 **Omniglot** 数据集和 **Mini ImageNet**
# 设置环境
......@@ -152,9 +152,9 @@ jupyter notebook
# 编码练习
在本节中,我们将探索一种基本的一次学习方法。 作为人类,我们有一种分层的思维方式。 例如,如果我们看到一些未知的东西,我们会寻找它与我们已经知道的对象的相似性。 同样,在本练习中,我们将使用非参数 kNN 方法查找类。 我们还将其表现与基本神经网络架构进行比较。
在本节中,我们将探索一种基本的单样本学习方法。 作为人类,我们有一种分层的思维方式。 例如,如果我们看到一些未知的东西,我们会寻找它与我们已经知道的对象的相似性。 同样,在本练习中,我们将使用非参数 kNN 方法查找类。 我们还将其表现与基本神经网络架构进行比较。
# kNN – 基本的一次学习
# kNN – 基本的单样本学习
在本练习中,我们将把 kNN 与拥有少量数据集的神经网络进行比较。 我们将使用从`scikit-learn`库导入的`iris`数据集。
......@@ -283,19 +283,19 @@ print('Accuracy of our model is equal ' + str(round(accuracy, 2)) + ' %.')
Accuracy of our model is equal 50.0 %.
```
对于我们当前的情况,我们可以看到神经网络的准确率不如 kNN。 这可能是由于许多原因造成的,包括数据集的随机性,邻居的选择以及层数。 但是,如果我们运行足够的时间,我们会发现 kNN 总是会存储更好的数据,因为它总是存储数据点,而不是像神经网络那样学习参数。 因此,kNN 可以称为单学习方法。
对于我们当前的情况,我们可以看到神经网络的准确率不如 kNN。 这可能是由于许多原因造成的,包括数据集的随机性,邻居的选择以及层数。 但是,如果我们运行足够的时间,我们会发现 kNN 总是会存储更好的数据,因为它总是存储数据点,而不是像神经网络那样学习参数。 因此,kNN 可以称为单样本学习方法。
# 总结
深度学习已经彻底变革了数据科学领域,并且仍在不断进步,但是仍然有一些主要行业尚未体验到深度学习的所有优势,例如医疗和制造业。 人类成就的顶峰将是创造一种可以像人类一样学习并且可以像人类一样成为专家的机器。 但是,成功的深度学习通常需要拥有非常庞大的数据集才能进行工作。 幸运的是,本书重点介绍了可以消除此先决条件的架构。
在本章中,我们了解了人类的大脑以及人工神经网络的结构如何接近我们的大脑结构。 我们介绍了机器学习和深度学习的基本概念及其挑战。 我们还讨论了一次学习及其各种类型,然后在`iris`数据集上进行了实验,以比较在数据稀缺情况下的参数方法和非参数方法。 总的来说,我们得出结论,正确的特征表示在确定机器学习模型的效率方面起着重要作用。
在本章中,我们了解了人类的大脑以及人工神经网络的结构如何接近我们的大脑结构。 我们介绍了机器学习和深度学习的基本概念及其挑战。 我们还讨论了单样本学习及其各种类型,然后在`iris`数据集上进行了实验,以比较在数据稀缺情况下的参数方法和非参数方法。 总的来说,我们得出结论,正确的特征表示在确定机器学习模型的效率方面起着重要作用。
在下一章中,我们将学习基于度量的单次学习方法,并探索单次学习算法的特征提取领域。
在下一章中,我们将学习基于度量的单样本学习方法,并探索单样本学习算法的特征提取领域。
# 问题
* 为什么对于一次学习任务,kNN 比新近训练的人工神经网络更好地工作?
* 为什么对于单样本学习任务,kNN 比新近训练的人工神经网络更好地工作?
* 什么是非参数机器学习算法?
* 决策树是参数算法还是非参数算法?
* 将其他分类算法作为编码练习进行实验,并比较结果。
\ No newline at end of file
......@@ -59,7 +59,7 @@
# 了解连体网络
顾名思义,连体网络是一种具有两个并行层的架构。 在此架构中,模型学会了在两个给定的输入之间进行区分,而不是学习使用分类损失函数对其输入进行分类的模型。 它根据相似性度量比较两个输入,并检查它们是否相同。 与任何深度学习架构相似,连体网络也有两个阶段-训练和测试阶段。 但是,对于一次学习方法(因为我们没有很多数据点),我们将在一个数据集上训练模型架构,并在另一个数据集上对其进行测试。 为了简单起见,我们使用带监督的基于度量的方法使用连体神经网络来学习图像嵌入,然后将该网络的特征重新用于一次学习,而无需进行微调或重新训练。
顾名思义,连体网络是一种具有两个并行层的架构。 在此架构中,模型学会了在两个给定的输入之间进行区分,而不是学习使用分类损失函数对其输入进行分类的模型。 它根据相似性度量比较两个输入,并检查它们是否相同。 与任何深度学习架构相似,连体网络也有两个阶段-训练和测试阶段。 但是,对于单样本学习方法(因为我们没有很多数据点),我们将在一个数据集上训练模型架构,并在另一个数据集上对其进行测试。 为了简单起见,我们使用带监督的基于度量的方法使用连体神经网络来学习图像嵌入,然后将该网络的特征重新用于单样本学习,而无需进行微调或重新训练。
机器学习算法的良好特征的提取在确定模型效率方面起着至关重要的作用。 在各种情况下,当可用数据有限时,事实证明它要么计算量大,要么困难。
......@@ -157,7 +157,7 @@
# 应用领域
通常,可以使用各种方法解决问题。 例如我们手机上的人脸检测。 图像分类是一种需要大量数据点的方法,而如果使用单次学习的连体网络架构,则仅需几个数据点就可以实现更高的准确率。 连体网络架构已成为软件行业采用的最流行的一次学习架构之一。 它可用于各种其他应用,例如面部检测,手写检测和垃圾邮件检测。 但是仍然有很多改进的余地,并且各种各样的研究者正在为此努力。 在下一节中,以相似的主题进行工作,我们将学习匹配的网络架构,该架构使用注意力机制和不同的训练过程来学习训练集标签上的概率分布。
通常,可以使用各种方法解决问题。 例如我们手机上的人脸检测。 图像分类是一种需要大量数据点的方法,而如果使用单样本学习的连体网络架构,则仅需几个数据点就可以实现更高的准确率。 连体网络架构已成为软件行业采用的最流行的单样本学习架构之一。 它可用于各种其他应用,例如面部检测,手写检测和垃圾邮件检测。 但是仍然有很多改进的余地,并且各种各样的研究者正在为此努力。 在下一节中,以相似的主题进行工作,我们将学习匹配的网络架构,该架构使用注意力机制和不同的训练过程来学习训练集标签上的概率分布。
# 了解匹配网络
......@@ -179,7 +179,7 @@
* **标签集**:这是所有可能类别的样本集。 例如,如果我们使用 ImageNet 数据集,它包含数千个类别(例如猫,狗和鸟),但是作为标签集的一部分,我们将仅使用其中的五个类别。
* **支持集**:这是我们标签集类别的采样输入数据点(例如,图像)。
* **批量**:类似于支持集,批量也是由标签集类别的输入数据点组成的采样集。
* **`N`路`k`次方法**:此处,`N`是支撑集的大小,或更简单地说,是训练集中可能类别的数量。 例如,在下图中,我们有四种不同类型的狗品种,并且我们计划使用 5 次学习方法,即每种类别至少有五个示例。 这将使我们的匹配网络架构使用 *4 路 5 次学习*,如下图所示:
* **`N`路`k`次方法**:此处,`N`是支撑集的大小,或更简单地说,是训练集中可能类别的数量。 例如,在下图中,我们有四种不同类型的狗品种,并且我们计划使用 5 样本学习方法,即每种类别至少有五个示例。 这将使我们的匹配网络架构使用 *4 路 5 样本学习*,如下图所示:
![](img/3118bc82-3dc7-473f-8e77-f57c6f17b84e.png)
......@@ -245,7 +245,7 @@ VGG16 和 Inception Net 是深度学习架构,它们在 ImageNet 数据集上
![](img/5840cf24-bfa3-424f-a151-23cf76511e2c.png)
匹配的网络架构解决了通过设置框架在训练模型时复制测试条件的一次学习问题,如*训练过程*部分中所述。 匹配网络的架构包含许多子部分。 为了简化和更清楚地了解它,我们将从左到右进行每个过程:
匹配的网络架构解决了通过设置框架在训练模型时复制测试条件的单样本学习问题,如*训练过程*部分中所述。 匹配网络的架构包含许多子部分。 为了简化和更清楚地了解它,我们将从左到右进行每个过程:
1. 作为预处理数据的一部分,将创建`k`示例的支持集`S`作为`(x[i], y[i]), i = 1 ... k`
2. 获取支持集后,它会通过标准特征提取层(`g`),例如 VGG 或 Inception。
......@@ -1064,7 +1064,7 @@ plot_loss(train_loss,val_loss)
# 总结
在本章中,我们学习了基于指标的一次学习方法。 我们探索了两种神经网络架构,它们已在研究界和软件行业中用于一次学习。 我们还学习了如何评估经过训练的模型。 然后,我们使用 MNIST 数据集在连体网络中执行了一个练习。 总之,可以说匹配网络和连体网络架构都已经成功证明,通过更改损失函数或特征表示,我们可以用有限的数据量实现目标。
在本章中,我们学习了基于指标的单样本学习方法。 我们探索了两种神经网络架构,它们已在研究界和软件行业中用于单样本学习。 我们还学习了如何评估经过训练的模型。 然后,我们使用 MNIST 数据集在连体网络中执行了一个练习。 总之,可以说匹配网络和连体网络架构都已经成功证明,通过更改损失函数或特征表示,我们可以用有限的数据量实现目标。
在下一章中,我们将探索不同的基于优化的方法,并了解它们与基于度量的方法之间的区别。
......@@ -1080,4 +1080,4 @@ plot_loss(train_loss,val_loss)
要更深入地了解本章介绍的架构,并探讨它们的工作方式和原因,请阅读以下文章:
* [《用于一次图像识别的连体神经网络》](https://www.cs.cmu.edu/~rsalakhu/papers/oneshot1.pdf)
* [《一次学习的匹配网络》](https://arxiv.org/pdf/1606.04080.pdf)
\ No newline at end of file
* [《单样本学习的匹配网络》](https://arxiv.org/pdf/1606.04080.pdf)
\ No newline at end of file
# 三、基于模型的方法
在上一章中,我们讨论了两种基于优化的方法。 我们试图用元学习机制来训练模型,这与人类所见相似。 当然,除了学习新事物的能力外,人类在执行任何任务时还可以访问大量内存。 通过回忆过去的经历和经验,这使我们能够更轻松地学习新任务。 遵循相同的思想过程,设计了基于模型的架构,并添加了外部存储器以快速概括一次学习任务。 在这些方法中,使用存储在外部存储器中的信息,模型仅需几个训练步骤即可收敛。
在上一章中,我们讨论了两种基于优化的方法。 我们试图用元学习机制来训练模型,这与人类所见相似。 当然,除了学习新事物的能力外,人类在执行任何任务时还可以访问大量内存。 通过回忆过去的经历和经验,这使我们能够更轻松地学习新任务。 遵循相同的思想过程,设计了基于模型的架构,并添加了外部存储器以快速概括单样本学习任务。 在这些方法中,使用存储在外部存储器中的信息,模型仅需几个训练步骤即可收敛。
本章将涵盖以下主题:
......@@ -22,7 +22,7 @@
* 神经网络仅接受固定大小的输入,这在输入长度可变的现实生活中不会有太大帮助。
* 神经网络无法将值绑定到我们已知的两个信息系统(人脑和计算机)大量使用的数据结构中的特定位置。 简单来说,在神经网络中,我们无法将特定的权重设置到特定的位置。
第一个问题可以通过在各种任务上实现最先进表现的 RNN 来解决。 通过查看**神经图灵机****NTM**)可以解决第二个问题。 在本节中,我们将讨论 NTM 的总体架构,这是理解**记忆增强神经网络****MANN**)的基础,这些神经网络修改了 NMT 的架构并使之适用于一次学习任务。
第一个问题可以通过在各种任务上实现最先进表现的 RNN 来解决。 通过查看**神经图灵机****NTM**)可以解决第二个问题。 在本节中,我们将讨论 NTM 的总体架构,这是理解**记忆增强神经网络****MANN**)的基础,这些神经网络修改了 NMT 的架构并使之适用于单样本学习任务。
# NTM 的架构
......@@ -82,11 +82,11 @@
所有操作(包括读取,写入和寻址的四个阶段)都是差分的,因此可以使用反向传播和任何基于梯度下降的优化器从头到尾训练整个 NMT 模型。 控制器是一个神经网络,可以是前馈网络,也可以是循环神经网络,例如**长短期记忆****LSTM**)。 它已显示在各种算法任务(例如复制任务)上均具有良好的表现,这些任务将在本章的稍后部分实现。
既然我们了解了 NTM 的架构和工作原理,我们就可以开始研究 MANN,这是对 NMT 的修改,并且经过修改可以在一次学习中表现出色。
既然我们了解了 NTM 的架构和工作原理,我们就可以开始研究 MANN,这是对 NMT 的修改,并且经过修改可以在单样本学习中表现出色。
# 记忆增强神经网络
MANN 的目标是在一次学习任务中表现出色。 正如我们之前阅读的,NMT 控制器同时使用基于内容的寻址和基于位置的寻址。 另一方面,MANN 控制器仅使用基于内容的寻址。 有两个原因。 原因之一是一次学习任务不需要基于位置的寻址。 在此任务中,对于给定的输入,控制器可能只需要执行两个操作,并且这两个操作都与内容有关,而与位置无关。 当输入与先前看到的输入非常相似时,将采取一种措施,在这种情况下,我们可以更新内存的当前内容。 当当前输入与以前看到的输入不相似时,将采取另一种操作,在这种情况下,我们不想覆盖最近的信息。 相反,我们写到使用最少的内存位置。 在这种情况下,该存储模块称为**最久未使用的访问****LRUA**)模块。
MANN 的目标是在单样本学习任务中表现出色。 正如我们之前阅读的,NMT 控制器同时使用基于内容的寻址和基于位置的寻址。 另一方面,MANN 控制器仅使用基于内容的寻址。 有两个原因。 原因之一是单样本学习任务不需要基于位置的寻址。 在此任务中,对于给定的输入,控制器可能只需要执行两个操作,并且这两个操作都与内容有关,而与位置无关。 当输入与先前看到的输入非常相似时,将采取一种措施,在这种情况下,我们可以更新内存的当前内容。 当当前输入与以前看到的输入不相似时,将采取另一种操作,在这种情况下,我们不想覆盖最近的信息。 相反,我们写到使用最少的内存位置。 在这种情况下,该存储模块称为**最久未使用的访问****LRUA**)模块。
# 读取
......@@ -108,7 +108,7 @@ MANN 的读取操作与 NTM 的读取操作非常相似,唯一的区别是此
通过对 Omniglot 数据集进行一次一次性分类任务,MANN 已显示出令人鼓舞的结果。 由于其基本的模型 NTM,它们表现良好。 NTM 能够快速编码,存储和检索数据。 它们还能够存储长期和短期权重。 可以使用 MANN 的方法添加 NTM,以跟踪*最久未使用的存储位置*,以执行基于内容的寻址,以读取和写入*最久未使用的*位置。 它使 MANN 成为少量学习的理想人选。
在下一部分中,我们将学习另一种基于模型的架构,该架构由四个架构的网络组成,并为一次学习领域做出了重大贡献。
在下一部分中,我们将学习另一种基于模型的架构,该架构由四个架构的网络组成,并为单样本学习领域做出了重大贡献。
# 了解元网络
......@@ -718,7 +718,7 @@ class WriteHead(Memory):
# 总结
在本章中,我们探索了用于单次学习的不同形式的基于模型的架构。 我们观察到的最常见的事情是使用外部存储器,这对学习神经网络不同阶段的表示形式有什么帮助。 NMT 方法在一次学习任务中表现良好,但是由于手工设计的内存寻址函数,它们的能力仍然有限,因为它们必须具有差异性。 探索更复杂的函数来处理内存可能很有趣。 在元网络中,我们看到了如何定义一个新网络以实现对原始网络的快速学习,以及如何在元学习器级别上存储有关表示的信息如何在基础级别上微调参数。 尽管基于模型的架构是实现一次学习的好方法,但它们具有外部存储器的先决条件,因此与其他方法相比,实现基于模型的架构的成本昂贵。
在本章中,我们探索了用于单样本学习的不同形式的基于模型的架构。 我们观察到的最常见的事情是使用外部存储器,这对学习神经网络不同阶段的表示形式有什么帮助。 NMT 方法在单样本学习任务中表现良好,但是由于手工设计的内存寻址函数,它们的能力仍然有限,因为它们必须具有差异性。 探索更复杂的函数来处理内存可能很有趣。 在元网络中,我们看到了如何定义一个新网络以实现对原始网络的快速学习,以及如何在元学习器级别上存储有关表示的信息如何在基础级别上微调参数。 尽管基于模型的架构是实现单样本学习的好方法,但它们具有外部存储器的先决条件,因此与其他方法相比,实现基于模型的架构的成本昂贵。
在下一章中,我们将介绍基于优化的方法,例如与模型无关的元学习和 LSTM 元学习。 内存为我们提供了一种方式来存储我们所学到的信息,因此优化策略使我们能够更快地学习事物。 在后面的章节中,我们将探索一些不同形式的优化策略,这些策略可以用来学习目标。
......@@ -726,7 +726,7 @@ class WriteHead(Memory):
1. 什么是神经图灵机,它们如何帮助学习?
2. 记忆矩阵如何帮助模型更快地学习?
3. 元学习器和基础学习器之间的分裂如何帮助架构学习一次学习?
3. 元学习器和基础学习器之间的分裂如何帮助架构学习单样本学习?
# 进一步阅读
......
......@@ -40,11 +40,11 @@ MAML 的目的是为模型的参数提供良好的初始化,从而以较少的
如上图所示,`θ`是模型的参数,粗黑线是元学习阶段。 假设我们有三个不同的新任务,并且为每个任务(带有箭头的灰色线)执行了一个梯度步骤。 我们可以看到参数`θ`接近三个任务的所有三个最佳参数,这使`θ`成为可以快速适应不同新任务的最佳参数初始化。 结果,参数θ的很小变化将导致任何任务的损失函数的最佳最小化。 根据这一观察结果,MML 建议我们首先应通过主要数据集学习θ; 在对实际数据集进行微调的同时,我们仅需移动一小步。
顾名思义,与模型无关的元学习可以用于任何形式的模型,无论是分类,回归还是强化学习。 但是对于这本书,我们将只关注 MAML 算法的一次学习分类方面。 所以,让我们开始吧!
顾名思义,与模型无关的元学习可以用于任何形式的模型,无论是分类,回归还是强化学习。 但是对于这本书,我们将只关注 MAML 算法的单样本学习分类方面。 所以,让我们开始吧!
# 算法
要了解 MAML 的一次学习/小样本学习,首先,我们需要学习某些项。 这些类似于我们在匹配网络时学到的知识:
要了解 MAML 的单样本学习/小样本学习,首先,我们需要学习某些项。 这些类似于我们在匹配网络时学到的知识:
* `T`:这表示各种任务-例如,我们希望我们的模型学习识别猫,狗,马等,以及`T[i]`代表一种识别猫的训练模型。 在此,`T[i] ∈ T`
* `P(T)`:这表示所有任务之间的概率分布。 我们的目标是通过 MAML 学习`P(T)`
......@@ -60,7 +60,7 @@ MAML 的目的是为模型的参数提供良好的初始化,从而以较少的
4. 对于从`P(T)`采样的所有`T[i]`,执行以下操作:
* `T[i]`的样本 K 训练数据点`D[i] = (x[i], y[i])`(对于一次学习,`K = 1`)。
* `T[i]`的样本 K 训练数据点`D[i] = (x[i], y[i])`(对于单样本学习,`K = 1`)。
* 前向穿过层(`f[θ]`),以计算`L[T[i]]``▽[θ] L[T[i]] f[θ]`
* 使用梯度下降法更新参数。 由于我们正在针对特定任务训练模型,因此我们将学习`θ'[i]`(特定于任务的参数):
......@@ -84,7 +84,7 @@ MAML 的目的是为模型的参数提供良好的初始化,从而以较少的
![](img/7f72e13d-4f5d-4cb6-99c3-fd2394d5cc99.png)
由于无法使用模仿学习损失函数来训练机器人,因此 DAML 提出了行为克隆目标的**暂时损失**,该目标也充当日志空间中的正则化项。 众所周知,在任何情况下都要进行强正则化对于避免过拟合非常重要,尤其是在单学习的情况下。
由于无法使用模仿学习损失函数来训练机器人,因此 DAML 提出了行为克隆目标的**暂时损失**,该目标也充当日志空间中的正则化项。 众所周知,在任何情况下都要进行强正则化对于避免过拟合非常重要,尤其是在单样本学习的情况下。
# 了解 LSTM 元学习器
......@@ -135,13 +135,13 @@ LSTM 在各种门的帮助下存储信息历史记录,如上图所示。 我
# 数据预处理
在一般的深度学习设置中,要在给定数据集`D`上训练模型,我们将数据集分为三个部分:训练,验证和测试集。 但是在元学习设置中,我们首先将数据集划分为特定于任务的集(例如,猫品种分类和狗品种分类),称为**元集**,例如`D[n]`。 对于每个`D ∈ D[n]``D_n_train``D_n_test`组成,因此对于`K`学习,每个`D_n_train``K * N`个示例组成,其中`N`是类数。
在一般的深度学习设置中,要在给定数据集`D`上训练模型,我们将数据集分为三个部分:训练,验证和测试集。 但是在元学习设置中,我们首先将数据集划分为特定于任务的集(例如,猫品种分类和狗品种分类),称为**元集**,例如`D[n]`。 对于每个`D ∈ D[n]``D_n_train``D_n_test`组成,因此对于`K`样本学习,每个`D_n_train``K * N`个示例组成,其中`N`是类数。
此后,`D_n_train`进一步分为三个部分:`D_meta_train``D_meta_val``D_meta_test`。 在这里,目标是使用`D_meta_train`训练*学习算法*,该算法可以将任何特定于任务的集合作为训练集`D_train`并产生更好的分类器(学习器)。
# 算法–伪代码实现
要训​​练一个一次学习模型,您需要匹配训练条件以测试时间条件,例如,像在匹配网络中一样,在较少的数据上进行训练,但要进行多个批量。 LSTM 元学习器也遵循与匹配网络相同的概念,并已被证明在特定任务目标上确实表现出色。
要训​​练一个单样本学习模型,您需要匹配训练条件以测试时间条件,例如,像在匹配网络中一样,在较少的数据上进行训练,但要进行多个批量。 LSTM 元学习器也遵循与匹配网络相同的概念,并已被证明在特定任务目标上确实表现出色。
要开始理解 LSTM 元学习器,首先,我们需要了解某些项:
......@@ -175,7 +175,7 @@ LSTM 在各种门的帮助下存储信息历史记录,如上图所示。 我
![](img/968555da-ab84-4ab1-9e2a-cd4ba196a50d.png)
LSTM 元学习器的总体思路非常引人注目。 您可能想知道为什么我们只使用一个 LSTM 单元,为什么 LSTM 元学习器的作者没有像在匹配网络中看到的那样使用整个 LSTM 网络。 您确实可以在元学习器中添加一些复杂的架构,但这要付出大量训练参数的代价。 LSTM 单元的使用使这种元学习架构对于单学习变得可行。
LSTM 元学习器的总体思路非常引人注目。 您可能想知道为什么我们只使用一个 LSTM 单元,为什么 LSTM 元学习器的作者没有像在匹配网络中看到的那样使用整个 LSTM 网络。 您确实可以在元学习器中添加一些复杂的架构,但这要付出大量训练参数的代价。 LSTM 单元的使用使这种元学习架构对于单样本学习变得可行。
在下一部分中,我们将进行 MAML 和 LSTM 元学习器的编码练习,这将有助于我们更全面地了解架构。
......@@ -541,9 +541,9 @@ plt.savefig('daml-sine.png')
要求解任何方程,通常我们可以使用很多方法。 同样,为了进行优化(学习神经网络的参数),许多研究人员也公开了许多方法,但是事实证明梯度下降是一种适用于每种情况的通用方法。 如果我们希望处理特定类型的神经网络问题,那么最好探索可能适合我们任务的不同优化技术。
在这一章中,我们研究了两种最著名的一次学习优化方法:MAML 和 LSTM 元学习器。 我们了解了 MAML 如何通过优化我们的初始参数设置来解决一次学习问题,从而在几个数据点上进行一个或几个梯度下降步骤可以导致更好的概括。 我们还探讨了 LSTM 元学习器对如何训练 LSTM 单元作为元学习器以预测基础学习器权重更新的见解。
在这一章中,我们研究了两种最著名的单样本学习优化方法:MAML 和 LSTM 元学习器。 我们了解了 MAML 如何通过优化我们的初始参数设置来解决单样本学习问题,从而在几个数据点上进行一个或几个梯度下降步骤可以导致更好的概括。 我们还探讨了 LSTM 元学习器对如何训练 LSTM 单元作为元学习器以预测基础学习器权重更新的见解。
在下一章中,我们将探讨一种著名的 ML 方法贝叶斯学习。 我们将通过用概率模型表示对象类别来观察几个贝叶斯学习框架的发展。 我们将对判别式`K`-次学习和贝叶斯程序学习及其在现实世界中的应用进行恰当的解释。
在下一章中,我们将探讨一种著名的 ML 方法贝叶斯学习。 我们将通过用概率模型表示对象类别来观察几个贝叶斯学习框架的发展。 我们将对判别式`K`样本学习和贝叶斯程序学习及其在现实世界中的应用进行恰当的解释。
# 问题
......
......@@ -10,7 +10,7 @@
* 了解有向图模型
* 概率方法概述
* 贝叶斯程序学习
* 判别式 K 学习
* 判别式 K 样本学习
# 技术要求
......@@ -18,7 +18,7 @@
# 贝叶斯学习概述
在本节中,我们将从数学的角度简要讨论贝叶斯学习背后的思想,这是单学习概率模型的核心。 贝叶斯学习的总体目标是在给定训练数据的情况下,对参数`θ`的分布进行建模,即学习分布`p(θ | Data)`
在本节中,我们将从数学的角度简要讨论贝叶斯学习背后的思想,这是单样本学习概率模型的核心。 贝叶斯学习的总体目标是在给定训练数据的情况下,对参数`θ`的分布进行建模,即学习分布`p(θ | Data)`
在机器学习的概率视图中,我们尝试求解以下方程式:
......@@ -48,7 +48,7 @@
# 了解有向图模型
现在,在深入研究用于单学习的概率模型之前,我们将简要研究有向图模型。 有向图模型(也称为贝叶斯网络)由与有向边相连的随机变量定义,如在父子关系中。 下图显示了一个这样的贝叶斯网络:
现在,在深入研究用于单样本学习的概率模型之前,我们将简要研究有向图模型。 有向图模型(也称为贝叶斯网络)由与有向边相连的随机变量定义,如在父子关系中。 下图显示了一个这样的贝叶斯网络:
![](img/169cea75-5669-4783-a7c4-a4b77f185c91.png)
......@@ -124,17 +124,17 @@
BPL 是一种高度直观的模型,可以在贝叶斯框架下使用简单的程序为概念建模。 从训练数据中学习概率分布的参数。 在分类和生成的单次计算机视觉任务上,该模型的表现与人类水平的表现相当,其数据需求远低于某些最新的深度学习模型。 这里研究的概率程序非常基础,适合于相当容易的字符识别任务。 BPL 框架支持设计更复杂的程序,这些程序可以对各种对象的复杂表示进行建模。 例如,可以使用此框架对在零件和关系方面具有清晰直观描述的对象(例如车辆,食品,动物,甚至人脸)进行建模。 为此,BPL 框架甚至支持建模抽象知识,例如自然语言语义和物理理论。 然而,这些概率程序需要对数据及其部分,子部分和关系进行手动标记,这是一个耗时的过程,而深度学习方法则是自己学习这些人类直观特征和深层抽象特征。
# 判别式 K 学习
# 判别式 K 样本学习
K 次学习的一种非常常见的方法是训练具有相关任务的大型模型,而我们为此拥有大型数据集。 然后,通过 K 次特定任务对该模型进行微调。 因此,来自大型数据集的知识被*提炼为*到模型中,这仅从几个示例中增加了对新相关任务的学习。 2003 年,Bakker 和 Heskes 提出了一种用于 K 次学习的概率模型,其中所有任务共享一个公共特征提取器,但具有各自的线性分类器,其中仅包含几个特定于任务的参数。
K 样本学习的一种非常常见的方法是训练具有相关任务的大型模型,而我们为此拥有大型数据集。 然后,通过 K 次特定任务对该模型进行微调。 因此,来自大型数据集的知识被*提炼为*到模型中,这仅从几个示例中增加了对新相关任务的学习。 2003 年,Bakker 和 Heskes 提出了一种用于 K 样本学习的概率模型,其中所有任务共享一个公共特征提取器,但具有各自的线性分类器,其中仅包含几个特定于任务的参数。
这里讨论的 K 学习的概率方法与 Bakker 和 Heskes 引入的方法非常相似。 该方法通过从很少的数据中学习概率模型来解决分类任务(针对图像)。 这个想法是使用一个强大的神经网络,该网络从大量监督数据中学习可靠的特征,并将其与概率模型结合起来。 神经网络最后一层的权重充当以贝叶斯方式规范化 K 次子模型权重的数据。
这里讨论的 K 样本学习的概率方法与 Bakker 和 Heskes 引入的方法非常相似。 该方法通过从很少的数据中学习概率模型来解决分类任务(针对图像)。 这个想法是使用一个强大的神经网络,该网络从大量监督数据中学习可靠的特征,并将其与概率模型结合起来。 神经网络最后一层的权重充当以贝叶斯方式规范化 K 次子模型权重的数据。
学习框架包括四个阶段:
* 表示学习
* 概念学习
* K 学习
* K 样本学习
* K 次测试
下图显示了具有四个阶段的框架。 以下各节将对它们进行更正式的讨论:
......@@ -149,9 +149,9 @@ K 次学习的一种非常常见的方法是训练具有相关任务的大型模
# 权重的概率模型
假设由于最大数据集`D_tilde`而在第一阶段获知的 softmax 权重`W_tilde`的不确定性很小。 将此近似值与上图中的图模型结构结合起来,我们可以摆脱原始数据集`D_tilde`,并使用`W_tilde`的 MAP 估计值(`W_MAP`)处于概念学习和 K 学习阶段。 完整的概率模型遵循以下步骤:
假设由于最大数据集`D_tilde`而在第一阶段获知的 softmax 权重`W_tilde`的不确定性很小。 将此近似值与上图中的图模型结构结合起来,我们可以摆脱原始数据集`D_tilde`,并使用`W_tilde`的 MAP 估计值(`W_MAP`)处于概念学习和 K 样本学习阶段。 完整的概率模型遵循以下步骤:
1. K 学习过程将信息合并到两个数据集`D_tilde``D`中,以在`W`上生成后验分布:
1. K 样本学习过程将信息合并到两个数据集`D_tilde``D`中,以在`W`上生成后验分布:
![](img/3f0ac346-6f71-413c-9364-4da122454208.png)
......@@ -190,7 +190,7 @@ K 次学习的一种非常常见的方法是训练具有相关任务的大型模
![](img/4a4c76f8-4524-4ba0-bda8-afec7fa80efe.png)
K 学习(等式 2)期间新权重`W`的后验分布简化为以下表达式:
K 样本学习(等式 2)期间新权重`W`的后验分布简化为以下表达式:
![](img/bd2213cb-753d-470a-994d-2b8cc7b6a7c4.png)
......@@ -206,7 +206,7 @@ K 次学习(等式 2)期间新权重`W`的后验分布简化为以下表达
概率模型直接适合于 MAP 权重`P(θ | W_tilde) ∝ P(θ)P(W_tilde | θ)`。 对于共轭模型,后验分布是通过解析获得的。 否则,将使用`P(θ | W_tilde)`的 MAP 估计值。
# 第三阶段– K 学习
# 第三阶段– 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)`
......@@ -214,7 +214,7 @@ K 次学习(等式 2)期间新权重`W`的后验分布简化为以下表达
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 次学习方法仍然需要大量带标签的训练数据来训练基于深度学习的特征提取器。 另一方面,贝叶斯程序学习方法利用模型中的归纳偏差和手工设计的特征,因此需要较少的标注训练数据。
在 miniImageNet 数据集(由 100 个类组成,每个类中包含 600 个图像)上,此方法可以单样本学习一次和五样本学习获得最先进的结果。 离统一概率模型和深度学习的领域又迈进了一步,将两者结合起来,可以开发出真正强大的模型,从而利用概率领域的强大数学保证和深度学习模型的强大健壮功能。 判别式 K 样本学习方法仍然需要大量带标签的训练数据来训练基于深度学习的特征提取器。 另一方面,贝叶斯程序学习方法利用模型中的归纳偏差和手工设计的特征,因此需要较少的标注训练数据。
# 总结
......@@ -227,8 +227,8 @@ K 次测试时间`P(y*, x*, D, W_tilde_MAP) = ∫p(y* | x*, W)P(W | D, W_tilde_M
要了解有关本章涵盖的主题的更多信息,请阅读以下文章:
* [《通过概率性规划归纳的人类级别概念学习》](https://web.mit.edu/cocosci/Papers/Science-2015-Lake-1332-8.pdf)
* [《可以无监督一次学习对象类别的一种贝叶斯方法》](http://vision.stanford.edu/documents/Fei-Fei_ICCV03.pdf)
* [《使用概率模型的判别性 K 学习》](https://arxiv.org/pdf/1706.00326.pdf)
* [《可以无监督单样本学习对象类别的一种贝叶斯方法》](http://vision.stanford.edu/documents/Fei-Fei_ICCV03.pdf)
* [《使用概率模型的判别性 K 样本学习》](https://arxiv.org/pdf/1706.00326.pdf)
* [《构建像人一样学习和思考的机器》](http://web.stanford.edu/class/psych209/Readings/LakeEtAlBBS.pdf)
* [《简单视觉概念的一次学习》](https://cims.nyu.edu/~brenden/LakeEtAl2011CogSci.pdf)
* [《使用分层非参数贝叶斯模型的一次学习》](https://www.cs.cmu.edu/~rsalakhu/papers/MIT-CSAIL-TR-2010-052.pdf)
\ No newline at end of file
* [《简单视觉概念的单样本学习》](https://cims.nyu.edu/~brenden/LakeEtAl2011CogSci.pdf)
* [《使用分层非参数贝叶斯模型的单样本学习》](https://www.cs.cmu.edu/~rsalakhu/papers/MIT-CSAIL-TR-2010-052.pdf)
\ No newline at end of file
# 六、总结和其他方法
在这本书中,我们了解了用于深度学习的各种形式的架构,以及从手动特征提取到变型贝叶斯框架的各种技术和方法。 一次学习是一个特别活跃的研究领域,因为它专注于根据人类的神经能力更紧密地建立一种机器意识。 过去 5 年中,随着深度学习社区的进步,我们至少可以说,我们正在开发一种可以像人类一样同时学习多个任务的机器。 在这一章中,我们将看到一次学习还有哪些其他选择,并讨论本书中未深入探讨的其他方法。
在这本书中,我们了解了用于深度学习的各种形式的架构,以及从手动特征提取到变型贝叶斯框架的各种技术和方法。 单样本学习是一个特别活跃的研究领域,因为它专注于根据人类的神经能力更紧密地建立一种机器意识。 过去 5 年中,随着深度学习社区的进步,我们至少可以说,我们正在开发一种可以像人类一样同时学习多个任务的机器。 在这一章中,我们将看到单样本学习还有哪些其他选择,并讨论本书中未深入探讨的其他方法。
将涵盖以下主题:
......@@ -10,9 +10,9 @@
# 最新进展
在深度学习社区中,已经提出了用于一次学习的各种其他方法,例如使用 GAN 的生成建模,图像变形元网络,基于代表的度量学习等。 到目前为止,我们已经看到了使用一次学习进行分类的模型,但是在对象检测和语义分割方面也取得了一些进步。 在本节中,我们将介绍一些主要的基于机器学习的会议的最新论文(例如 CVPR,NeurIPS,ICLR 等)。
在深度学习社区中,已经提出了用于单样本学习的各种其他方法,例如使用 GAN 的生成建模,图像变形元网络,基于代表的度量学习等。 到目前为止,我们已经看到了使用单样本学习进行分类的模型,但是在对象检测和语义分割方面也取得了一些进步。 在本节中,我们将介绍一些主要的基于机器学习的会议的最新论文(例如 CVPR,NeurIPS,ICLR 等)。
基于度量的学习是进行单学习的较旧方法之一。 尽管该区域较旧,但仍在探索许多方面。 一个很好的例子是关于[《为短时学习重新研究基于局部描述符的图像到类度量》](https://arxiv.org/abs/1903.12290)主题的研究工作。 在本文中,作者提出了一种卷积神经网络架构,称为 **D4N****深度最近邻神经网络**),该架构可提取图像级特征。 它与其他神经网络架构的主要区别是用基于局部描述符的图像到类度量替代了最后一层。
基于度量的学习是进行单样本学习的较旧方法之一。 尽管该区域较旧,但仍在探索许多方面。 一个很好的例子是关于[《为短时学习重新研究基于局部描述符的图像到类度量》](https://arxiv.org/abs/1903.12290)主题的研究工作。 在本文中,作者提出了一种卷积神经网络架构,称为 **D4N****深度最近邻神经网络**),该架构可提取图像级特征。 它与其他神经网络架构的主要区别是用基于局部描述符的图像到类度量替代了最后一层。
[《通过类别遍历查找与几次任务学习相关的任务相关特征》](https://arxiv.org/abs/1905.11116)也为改进度量学习方法做出了贡献,方法是引入一个插件框架。 在本文中,作者讨论了众所周知的度量学习方法(例如连体网络和匹配网络)如何一次只关注一个任务,而不是整个学习所有任务。 **类别遍历模块****CTM**)插件组件通过完成所有支持任务来学习重要的尺寸特征。 CTM 在集中器和投影仪单元的帮助下,为相似类别提取通用特征嵌入,并在不同类别中提取唯一特征。 使用 CTM 的输出,我们可以在元学习器之前添加一个强大的先验,这可以使我们更快更好地进行优化。 通过使用此框架,他们显示了基于度量的学习方法的显着改进。
......@@ -30,11 +30,11 @@
同样, [《PANet:具有原型对齐的几次语义分割》](https://arxiv.org/abs/1908.06391)通过以下方式解决了少数镜头分割问题: 度量学习方法。 本文还提出了一种对齐网络,以更好地利用从支持集中提取的信息。 在 PANet 中,最初,网络从特定嵌入空间内的一些支持图像中学习特定于类别的表示,然后通过将每个像素与学习到的特定于类别的表示进行匹配,对查询/目标图像执行分割。 通过使用这种方法,PANet 可以利用支持集中的重要见解,并在几次分割的情况下提供更可靠的概括。
如我们所见,这些解决方案适用于数据有限的情况。 我们如何量化有限的和足够的? 我们需要查看我们希望训练的模型架构的能力以及希望解决的问题的复杂性。 类似于一次学习,多年来研究人员提出了其他一些方法,也旨在解决数据有限的问题。 在下一节中,我们将学习机器学习的这些领域,以及它们与单次学习相比的效率。
如我们所见,这些解决方案适用于数据有限的情况。 我们如何量化有限的和足够的? 我们需要查看我们希望训练的模型架构的能力以及希望解决的问题的复杂性。 类似于单样本学习,多年来研究人员提出了其他一些方法,也旨在解决数据有限的问题。 在下一节中,我们将学习机器学习的这些领域,以及它们与单样本学习相比的效率。
# 相关领域
众所周知,一次学习是机器学习的一个子领域。 有多种不同的相关解决方案与单次学习方法非常相似,但其解决方案方法略有不同。 这些问题也可以通过使用一次学习算法来解决。 让我们遍历 ML 的每个相关领域,观察它们与一次学习问题的相似之处:
众所周知,单样本学习是机器学习的一个子领域。 有多种不同的相关解决方案与单样本学习方法非常相似,但其解决方案方法略有不同。 这些问题也可以通过使用单样本学习算法来解决。 让我们遍历 ML 的每个相关领域,观察它们与单样本学习问题的相似之处:
* 半监督学习
* 学习不平衡
......@@ -57,7 +57,7 @@
* **算法的选择**:参数算法通过数据集学习其参数,因此,如果数据集存在偏差,则参数模型最有可能也会受到偏差。 对于有偏数据集,非参数方法(例如 k 最近邻)和集合(例如 AdaBoost,XGBoost 等)被证明是最佳方法。
* **数据采样方法的选择**:也可以考虑进行数据采样以确保数据集不会保持偏斜。
这种方法接近一次学习,因为我们期望创建的机器学习模型应该能够从一些示例中学习分布。
这种方法接近单样本学习,因为我们期望创建的机器学习模型应该能够从一些示例中学习分布。
要了解有关度量形式的更多信息,请参阅第 2 章,“基于度量的方法”。
......@@ -75,9 +75,9 @@
# 应用领域
从理论上讲,一次学习有多种应用,但直到最近才开始在实际场景中使用。 使用一次学习已取得了最新进展,例如编写 SQL 代码,改进变形的医学图像以及运行签名验证。 还有其他几个领域仍在研究中。 OpenAI,Google,Microsoft 和 Amazon 等公司正在 AI 研究方面投入巨资。 解决一次学习将意味着创建具有人类能力的机械大脑。 这种进步可以通过多种方式挽救生命:可以为罕见病的发现铺平道路,解决全球粮食危机或优化供应链模型。
从理论上讲,单样本学习有多种应用,但直到最近才开始在实际场景中使用。 使用单样本学习已取得了最新进展,例如编写 SQL 代码,改进变形的医学图像以及运行签名验证。 还有其他几个领域仍在研究中。 OpenAI,Google,Microsoft 和 Amazon 等公司正在 AI 研究方面投入巨资。 解决单样本学习将意味着创建具有人类能力的机械大脑。 这种进步可以通过多种方式挽救生命:可以为罕见病的发现铺平道路,解决全球粮食危机或优化供应链模型。
在本书中,我们探讨了一些一次学习的可能方法。 如果您想探索更多内容,请参阅“进一步阅读”部分。
在本书中,我们探讨了一些单样本学习的可能方法。 如果您想探索更多内容,请参阅“进一步阅读”部分。
# 进一步阅读
......@@ -88,5 +88,5 @@
* [《通过类别遍历查找与几项学习相关的任务相关特征》](https://arxiv.org/pdf/1905.11116.pdf)
* [《RepMet:基于代表的度量学习,用于分类和几次检测》](https://arxiv.org/abs/1806.04728)
* [《具有共同注意和共同激励的一次对象检测》](https://arxiv.org/pdf/1911.12529.pdf)
* [《CANet:具有迭代细化和专心的几次次学习的类不可知分割网络》](https://arxiv.org/pdf/1903.02351.pdf)
* [《CANet:具有迭代细化和专心的少样本学习的类不可知分割网络》](https://arxiv.org/pdf/1903.02351.pdf)
* [《PANet:具有原型对齐的几次图像语义分割》](https://arxiv.org/pdf/1908.06391.pdf)
\ No newline at end of file
# Python 一次学习实用指南
# Python 单样本学习实用指南
> 原文:[Hands-On One-shot Learning with Python](https://b-ok.asia/book/5558588/fa8274)
>
......
+ [Python 一次学习实用指南](README.md)
+ [Python 单样本学习实用指南](README.md)
+ [零、前言](0.md)
+ [第一部分:一次学习简介](sec1.md)
+ [一、一次学习简介](1.md)
+ [第一部分:单样本学习简介](sec1.md)
+ [一、单样本学习简介](1.md)
+ [第二部分:深度学习架构](sec2.md)
+ [二、基于指标的方法](2.md)
+ [三、基于模型的方法](3.md)
......
# 第一部分:一次学习简介
# 第一部分:单样本学习简介
深度学习给制造业带来了重大变化,无论是制造业,医疗还是人力资源。 通过这一重大革命和概念验证,几乎每个行业都在尝试调整其业务模型以适应深度学习,但是它有一些主要要求,可能并不适合每个业务或行业。 阅读本节后,您将对深度学习的优缺点有适当的了解。
本节包括以下章节:
* 第 1 章,“一次学习简介”
\ No newline at end of file
* 第 1 章,“单样本学习简介”
\ No newline at end of file
# 第二部分:深度学习架构
一次学习一直是许多科学家的活跃研究领域,他们试图找到一种在学习方面与人类尽可能接近的认知机器。 由于存在关于人类如何进行一次学习的各种理论,因此我们可以使用许多不同的深度学习方法来解决这一问题。 本书的这一部分将重点介绍基于度量,基于模型和基于优化的深度学习架构,以解决一次学习问题及其实现。
单样本学习一直是许多科学家的活跃研究领域,他们试图找到一种在学习方面与人类尽可能接近的认知机器。 由于存在关于人类如何进行单样本学习的各种理论,因此我们可以使用许多不同的深度学习方法来解决这一问题。 本书的这一部分将重点介绍基于度量,基于模型和基于优化的深度学习架构,以解决单样本学习问题及其实现。
本节包括以下章节:
......
# 第三部分:其他方法和结论
深度学习架构已被证明是非常有效的,但是它们仍然不是一次学习的最佳方法。 贝叶斯编程语言之类的不同贝叶斯方法仍然可以一口气击败人类。 在本节中,我们将学习贝叶斯方法,并讨论该领域的最新进展。 此外,我们将贝叶斯方法与深度学习圈中解决任何问题的众所周知的技术(迁移学习)进行比较。 我们还将学习何时在迁移学习中使用单发方法。
深度学习架构已被证明是非常有效的,但是它们仍然不是单样本学习的最佳方法。 贝叶斯编程语言之类的不同贝叶斯方法仍然可以一口气击败人类。 在本节中,我们将学习贝叶斯方法,并讨论该领域的最新进展。 此外,我们将贝叶斯方法与深度学习圈中解决任何问题的众所周知的技术(迁移学习)进行比较。 我们还将学习何时在迁移学习中使用单发方法。
本节包括以下章节:
......
......@@ -408,7 +408,7 @@ The predictions for the notMNIST example are: [2.0, 5.0, 2.0, 2.0, 2.0, 2.0, 2.0
简而言之,连体网络试图学习有效的特征,以便揭示两个输入之间的关系。 为了帮助更好地了解这个基于度量的网络,我们将实现它,并将其应用于数据量有限的人脸识别项目。
标准的面部识别系统应该能够仅使用系统中该人的几张照片来识别该人的身份。 显然,为了积累足够的训练数据,不能强迫他拍摄数百张照片。 尽管这是一个多类别的分类问题,但在这种情况下,CNN 不能在一个很小的训练集上真正起作用,因为每个类别的样本要多得多。 而且,如果我们采用典型的多类分类路线,则每次新用户加入系统时都必须对模型进行重新训练,这是不切实际的。 幸运的是,连体神经网络擅长处理**几次学习**问题。
标准的面部识别系统应该能够仅使用系统中该人的几张照片来识别该人的身份。 显然,为了积累足够的训练数据,不能强迫他拍摄数百张照片。 尽管这是一个多类别的分类问题,但在这种情况下,CNN 不能在一个很小的训练集上真正起作用,因为每个类别的样本要多得多。 而且,如果我们采用典型的多类分类路线,则每次新用户加入系统时都必须对模型进行重新训练,这是不切实际的。 幸运的是,连体神经网络擅长处理**少样本学习**问题。
我们将使用 [AT&T 的人脸数据库](https://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html)(也称为 **ORL 人脸数据库**)的一个例子。 从[这里](http://www.cl.cam.ac.uk/Research/DTG/attarchive/pub/data/att_faces.tar.Z)下载数据集并解压缩。 提取的文件夹有 40 个子文件夹,从`s1``s40`,它们代表 40 个主题。 每个子文件夹包含 10 个图像文件`1.pgm``2.pgm`,...,`10.pgm`。 因此,总共只有来自 40 个个体的 400 个图像样本。 同样,要使典型的 CNN 分类器仅使用 400 个训练样本几乎是不可能的。
......
# 零、前言
《Python 元学习实用指南》解释了元学习的基础知识,并帮助您了解元学习的概念。 您将经历各种一次学习算法,例如连体,原型,关系和记忆增强网络,并在 TensorFlow 和 Keras 中实现它们。 您还将了解最新的元学习算法,例如与模型无关的元学习(MAML),Reptile 和通过元学习进行快速上下文适应(CAML)。 然后,您将探索如何使用元 SGD 快速学习,并发现如何使用元学习进行无监督学习。
《Python 元学习实用指南》解释了元学习的基础知识,并帮助您了解元学习的概念。 您将经历各种单样本学习算法,例如连体,原型,关系和记忆增强网络,并在 TensorFlow 和 Keras 中实现它们。 您还将了解最新的元学习算法,例如与模型无关的元学习(MAML),Reptile 和通过元学习进行快速上下文适应(CAML)。 然后,您将探索如何使用元 SGD 快速学习,并发现如何使用元学习进行无监督学习。
# 这本书是给谁的
......
# 一、元学习导论
元学习是当前人工智能领域最有前途和趋势的研究领域之一。 它被认为是获得**广义人工智能****AGI**)的垫脚石。 在本章中,我们将了解什么是元学习以及为什么元学习是当前人工智能中最令人振奋的研究。 我们将了解什么是少拍,单拍和零拍学习,以及如何在元学习中使用它。 我们还将学习不同类型的元学习技术。 然后,我们将探索学习通过梯度下降学习梯度下降的概念,其中我们了解如何使用元学习器来学习梯度下降优化。 继续进行,我们还将学习优化作为几次学习的模型,我们将了解如何在几次学习设置中将元学习器用作优化算法。
元学习是当前人工智能领域最有前途和趋势的研究领域之一。 它被认为是获得**广义人工智能****AGI**)的垫脚石。 在本章中,我们将了解什么是元学习以及为什么元学习是当前人工智能中最令人振奋的研究。 我们将了解什么是少拍,单拍和零拍学习,以及如何在元学习中使用它。 我们还将学习不同类型的元学习技术。 然后,我们将探索学习通过梯度下降学习梯度下降的概念,其中我们了解如何使用元学习器来学习梯度下降优化。 继续进行,我们还将学习优化作为少样本学习的模型,我们将了解如何在少样本学习设置中将元学习器用作优化算法。
在本章中,您将了解以下内容:
* 元学习
* 元学习和几次学习
* 元学习和少样本学习
* 元学习的类型
* 通过梯度下降来元学习梯度下降
*几次学习优化模型
*少样本学习优化模型
# 元学习
......@@ -20,7 +20,7 @@
# 元学习和少样本
从较少的数据点中学习称为**少样本学习****K 次学习**,其中`k`表示数据集中每个类的数据点的数量。 假设我们正在对猫和狗进行图像分类。 如果我们正好有一只狗和一只猫的图像,那么它被称为**单次学习**,也就是说,我们每个类仅从一个数据点开始学习。 如果我们有 10 张狗的图像和 10 张猫的图像,则称为 10 次学习。 因此, K 次学习中的`k`意味着每个类都有许多数据点。 还有**零次学习**,每个类没有任何数据点。 等待。 什么? 根本没有数据点时,我们如何学习? 在这种情况下,我们将没有数据点,但是将获得有关每个类的元信息,并且将从元信息中学习。 由于我们的数据集中有两个类别,即狗和猫,因此可以将其称为双向学习`k`学习; 因此`n`路表示我们在数据集中拥有的类的数量。
从较少的数据点中学习称为**少样本学习****K 样本学习**,其中`k`表示数据集中每个类的数据点的数量。 假设我们正在对猫和狗进行图像分类。 如果我们正好有一只狗和一只猫的图像,那么它被称为**单样本学习**,也就是说,我们每个类仅从一个数据点开始学习。 如果我们有 10 张狗的图像和 10 张猫的图像,则称为 10 样本学习。 因此, K 样本学习中的`k`意味着每个类都有许多数据点。 还有**零样本学习**,每个类没有任何数据点。 等待。 什么? 根本没有数据点时,我们如何学习? 在这种情况下,我们将没有数据点,但是将获得有关每个类的元信息,并且将从元信息中学习。 由于我们的数据集中有两个类别,即狗和猫,因此可以将其称为双向学习`k`样本学习; 因此`n`路表示我们在数据集中拥有的类的数量。
为了使我们的模型从一些数据点中学习,我们将以相同的方式对其进行训练。 因此,当我们有一个数据集`D`时,我们从数据集中存在的每个类中采样一些数据点,并将其称为**支持集**。 同样,我们从每个类中采样一些不同的数据点,并将其称为**查询集**。 因此,我们使用支持集训练模型,并使用查询集进行测试。 我们以**剧集形式**训练模型-也就是说,在每个剧集中,我们从数据集中`D`中采样一些数据点,准备支持集和查询集,然后在支持集上训练,并在查询集上进行测试。 因此,在一系列剧集中,我们的模型将学习如何从较小的数据集中学习。 我们将在接下来的章节中对此进行更详细的探讨。
......@@ -34,7 +34,7 @@
# 学习度量空间
在基于度量的元学习设置中,我们将学习适当的度量空间。 假设我们要学习两个图像之间的相似性。 在基于度量的设置中,我们使用一个简单的神经网络从两个图像中提取特征,并通过计算这两个图像的特征之间的距离来找到相似性。 这种方法广泛用于我们没有很多数据点的几次学习设置中。 在接下来的章节中,我们将学习基于度量的学习算法,例如连体网络,原型网络和关系网络。
在基于度量的元学习设置中,我们将学习适当的度量空间。 假设我们要学习两个图像之间的相似性。 在基于度量的设置中,我们使用一个简单的神经网络从两个图像中提取特征,并通过计算这两个图像的特征之间的距离来找到相似性。 这种方法广泛用于我们没有很多数据点的少样本学习设置中。 在接下来的章节中,我们将学习基于度量的学习算法,例如连体网络,原型网络和关系网络。
# 学习初始化
......@@ -81,9 +81,9 @@
因此,通过这种方式,我们通过梯度下降学习梯度下降优化。
# 为几次学习优化模型
# 为少样本学习优化模型
我们知道,在几次学习中,我们从较少的数据点中学习,但是如何在几次学习环境中应用梯度下降呢? 在几次学习设置中,由于数据点很少,梯度下降突然失败。 梯度下降优化需要更多的数据点才能达到收敛并最大程度地减少损失。 因此,我们需要在少数情况下获得更好的优化技术。 假设我们有一个由某些参数`θ`参数化的`f`模型。 我们使用一些随机值初始化此参数`θ`,并尝试使用梯度下降法找到最佳值。 让我们回想一下梯度下降的更新方程:
我们知道,在少样本学习中,我们从较少的数据点中学习,但是如何在少样本学习环境中应用梯度下降呢? 在少样本学习设置中,由于数据点很少,梯度下降突然失败。 梯度下降优化需要更多的数据点才能达到收敛并最大程度地减少损失。 因此,我们需要在少数情况下获得更好的优化技术。 假设我们有一个由某些参数`θ`参数化的`f`模型。 我们使用一些随机值初始化此参数`θ`,并尝试使用梯度下降法找到最佳值。 让我们回想一下梯度下降的更新方程:
![](img/deada297-d555-46fb-b0c7-97c407cb09cb.png)
......@@ -120,7 +120,7 @@
![](img/f0af6369-c82e-453e-9c76-c72c259525d3.png)
几次学习设置中,我们可以使用此输入门来调整学习速度,以快速学习,同时防止出现差异:
少样本学习设置中,我们可以使用此输入门来调整学习速度,以快速学习,同时防止出现差异:
![](img/60110071-3fb1-471e-9b9c-8fc73797e836.png)
......@@ -151,7 +151,7 @@
# 问题
1. 什么是元学习?
2. 什么是几次学习?
2. 什么是少样本学习?
3. 什么是支持集?
4. 什么是查询集?
5. 基于度量的学习称为什么?
......
# 二、使用连体网络的人脸和音频识别
在上一章中,我们了解了什么是元学习和不同类型的元学习技术。 我们还看到了如何通过梯度下降和优化来学习梯度下降,这是一次快速学习的模型。 在本章中,我们将学习一种称为**连体网络**的最常用的基于度量的单学习算法。 我们将看到连体网络如何从很少的数据点学习以及如何将它们用于解决低数据问题。 之后,我们将详细探讨连体网络的架构,并看到连体网络的一些应用。 在本章的最后,我们将学习如何使用连体网络构建人脸和音频识别模型。
在上一章中,我们了解了什么是元学习和不同类型的元学习技术。 我们还看到了如何通过梯度下降和优化来学习梯度下降,这是一次快速学习的模型。 在本章中,我们将学习一种称为**连体网络**的最常用的基于度量的单样本学习算法。 我们将看到连体网络如何从很少的数据点学习以及如何将它们用于解决低数据问题。 之后,我们将详细探讨连体网络的架构,并看到连体网络的一些应用。 在本章的最后,我们将学习如何使用连体网络构建人脸和音频识别模型。
在本章中,您将学习以下内容:
......@@ -12,7 +12,7 @@
# 什么是连体网络?
连体网络是神经网络的一种特殊类型,它是最简单且使用最广泛的单发学习算法之一。 正如我们在上一章中学到的,单次学习是一种技术,其中我们每个类仅从一个训练示例中学习。 因此,在每个类别中没有很多数据点的应用中主要使用连体网络。 例如,假设我们要为我们的组织建立一个人脸识别模型,并且在组织中有大约 500 个人在工作。 如果我们想从头开始使用**卷积神经网络****CNN**)建立人脸识别模型,那么我们需要这 500 人中的许多人来训练网络并获得准确率良好的图像。 但是显然,我们不会为这 500 个人提供很多图像,因此除非有足够的数据点,否则使用 CNN 或任何深度学习算法构建模型都是不可行的。 因此,在这种情况下,我们可以求助于复杂的单次学习算法,例如连体网络,该算法可以从更少的数据点进行学习。
连体网络是神经网络的一种特殊类型,它是最简单且使用最广泛的单发学习算法之一。 正如我们在上一章中学到的,单样本学习是一种技术,其中我们每个类仅从一个训练示例中学习。 因此,在每个类别中没有很多数据点的应用中主要使用连体网络。 例如,假设我们要为我们的组织建立一个人脸识别模型,并且在组织中有大约 500 个人在工作。 如果我们想从头开始使用**卷积神经网络****CNN**)建立人脸识别模型,那么我们需要这 500 人中的许多人来训练网络并获得准确率良好的图像。 但是显然,我们不会为这 500 个人提供很多图像,因此除非有足够的数据点,否则使用 CNN 或任何深度学习算法构建模型都是不可行的。 因此,在这种情况下,我们可以求助于复杂的单样本学习算法,例如连体网络,该算法可以从更少的数据点进行学习。
但是,连体网络如何工作? 连体网络基本上由两个对称的神经网络组成,它们共享相同的权重和结构,并且都使用能量函数`E`最终结合在一起。 我们的连体网络的目标是了解两个输入值是相似还是相异。 假设我们有两个图像`X[1]``X2`,我们想了解两个图像是相似还是相异。
......@@ -52,7 +52,7 @@
# 连体网络的应用
如我们所知,连体网络通过使用相同的架构找到两个输入值之间的相似性来学习。 它是涉及两个实体之间的计算相似性的任务中最常用的一次学习算法之一。 它功能强大,可作为低数据问题的解决方案。
如我们所知,连体网络通过使用相同的架构找到两个输入值之间的相似性来学习。 它是涉及两个实体之间的计算相似性的任务中最常用的单样本学习算法之一。 它功能强大,可作为低数据问题的解决方案。
在发表连体网络的[第一篇论文](https://papers.nips.cc/paper/769-signature-verification-using-a-siamese-time-delay-neural-network.pdf)中,作者描述了网络对于签名验证任务的重要性。 签名验证任务的目的是识别签名的真实性。 因此,作者用真正的和不正确的签名对训练了连体网络,并使用了卷积网络从签名中提取特征。 提取特征后,他们测量了两个特征向量之间的距离以识别相似性。 因此,当出现新的签名时,我们提取特征并将其与签名者存储的特征向量进行比较。 如果距离小于某个阈值,则我们接受签名为真实签名,否则我们拒绝签名。
......
# 三、原型网络及其变体
在上一章中,我们了解了什么是连体网络以及如何将它们用于执行少量学习任务。 我们还探讨了如何使用连体网络进行人脸和音频识别。 在本章中,我们将介绍另一种有趣的几次学习算法,称为原型网络,该算法能够将其推广到训练集中没有的类。 我们将从了解什么是原型网络开始,然后我们将了解如何使用原型网络在 omniglot 数据集中执行分类任务。 然后,我们将看到原型网络的不同变体,例如高斯原型网络和半原型网络。
在上一章中,我们了解了什么是连体网络以及如何将它们用于执行少量学习任务。 我们还探讨了如何使用连体网络进行人脸和音频识别。 在本章中,我们将介绍另一种有趣的少样本学习算法,称为原型网络,该算法能够将其推广到训练集中没有的类。 我们将从了解什么是原型网络开始,然后我们将了解如何使用原型网络在 omniglot 数据集中执行分类任务。 然后,我们将看到原型网络的不同变体,例如高斯原型网络和半原型网络。
在本章中,您将了解以下内容:
......@@ -43,7 +43,7 @@
![](img/a325ba73-ced0-470a-8615-5219bb5bbe1f.png)
原型网络不仅用于单次/几次学习,而且还用于零次学习。 考虑以下情况:每个类没有数据点,但是您具有包含每个类的高级描述的元信息。 因此,在这些情况下,我们从每个类的元信息中学习嵌入,以形成类原型,然后使用该类原型进行分类。
原型网络不仅用于单样本/少样本学习,而且还用于零样本学习。 考虑以下情况:每个类没有数据点,但是您具有包含每个类的高级描述的元信息。 因此,在这些情况下,我们从每个类的元信息中学习嵌入,以形成类原型,然后使用该类原型进行分类。
# 算法
......@@ -218,9 +218,9 @@ def get_embeddings(support_set, h_dim, z_dim, reuse=False):
return net
```
请记住,我们不会使用整个数据集进行训练; 由于我们使用的是一次学习,因此我们从每个类中抽取一些数据点作为支持集,并以情景方式使用支持集训练网络。
请记住,我们不会使用整个数据集进行训练; 由于我们使用的是单样本学习,因此我们从每个类中抽取一些数据点作为支持集,并以情景方式使用支持集训练网络。
现在,我们定义一些重要的变量-我们考虑 50 次五次学习场景:
现在,我们定义一些重要的变量-我们考虑 50 路五样本学习场景:
```py
#number of classes
......
# 四、使用 TensorFlow 的关系和匹配网络
在上一章中,我们了解了原型网络,以及如何将原型网络的变体(例如高斯原型网络和半原型网络)用于一次学习。 我们已经看到原型网络如何利用嵌入来执行分类任务。
在上一章中,我们了解了原型网络,以及如何将原型网络的变体(例如高斯原型网络和半原型网络)用于单样本学习。 我们已经看到原型网络如何利用嵌入来执行分类任务。
在本章中,我们将学习关系网络和匹配网络。 首先,我们将了解什么是关系网络以及如何在单次,几次和零次学习设置中使用它,然后,我们将学习如何使用 TensorFlow 建立关系网络。 在本章的后面,我们将学习匹配网络以及如何在几次学习中使用它们。 我们还将看到在匹配网络中使用的不同类型的嵌入函数。 在本章的最后,我们将看到如何在 Tensorflow 中构建匹配的网络。
在本章中,我们将学习关系网络和匹配网络。 首先,我们将了解什么是关系网络以及如何在单样本,少样本和零样本学习设置中使用它,然后,我们将学习如何使用 TensorFlow 建立关系网络。 在本章的后面,我们将学习匹配网络以及如何在少样本学习中使用它们。 我们还将看到在匹配网络中使用的不同类型的嵌入函数。 在本章的最后,我们将看到如何在 Tensorflow 中构建匹配的网络。
在本章中,我们将学习以下内容:
* 关系网络
*次,几次和零次设置的关系网络
*样本,少样本和零样本设置的关系网络
* 使用 TensorFlow 建立关系网络
* 匹配网络
* 匹配网络的嵌入函数
......@@ -16,13 +16,13 @@
# 关系网络
现在,我们将看到另一种有趣的单学习算法,称为关系网络。 它是最简单,最有效的单发学习算法之一。 我们将探讨在单发,少发和零发学习设置中如何使用关系网络。
现在,我们将看到另一种有趣的单样本学习算法,称为关系网络。 它是最简单,最有效的单发学习算法之一。 我们将探讨在单发,少发和零发学习设置中如何使用关系网络。
# 一次学习中的关系网络
# 单样本学习中的关系网络
关系网络由两个重要函数组成:以`f[φ]`表示的嵌入函数和以`g[φ]`表示的关系函数。 嵌入函数用于从输入中提取特征。 如果输入是图像,则可以使用卷积网络作为嵌入函数,这将为我们提供图像的特征向量/嵌入。 如果我们的输入是文本,那么我们可以使用 LSTM 网络获取文本的嵌入。
众所周知,在一次学习中,每个类只有一个示例。 例如,假设我们的支持集包含三个类,每个类一个示例。 如下图所示,我们有一个包含三个类别的支持集,`{Lion, Eleph, Dog}`
众所周知,在单样本学习中,每个类只有一个示例。 例如,假设我们的支持集包含三个类,每个类一个示例。 如下图所示,我们有一个包含三个类别的支持集,`{Lion, Eleph, Dog}`
![](img/030c5e04-cf05-4394-baad-3c43bc5f77fa.png)
......@@ -46,13 +46,13 @@
在该等式中,`r[ij]`表示表示在支持集中的每个类别和查询图像之间的相似性的关系分数。 由于我们在支持集中有 3 个类别,在查询集中有 1 个图像,因此我们将获得 3 个分数,表明支持集中的所有 3 个类别与查询图像的相似程度。
下图显示了在一次学习设置中关系网络的整体表示:
下图显示了在单样本学习设置中关系网络的整体表示:
![](img/5f7d57ed-3814-4506-a8d2-da060f75ef00.png)
# 几次学习中的关系网络
# 少样本学习中的关系网络
我们已经看到了如何拍摄属于支持集中每个类别的单个图像,并在关系网络的单次学习设置中将它们与查询集中图像的关系进行比较。 但是,在几次学习设置中,每个类将有多个数据点。 我们如何使用嵌入函数在此处学习特征表示?
我们已经看到了如何拍摄属于支持集中每个类别的单个图像,并在关系网络的单样本学习设置中将它们与查询集中图像的关系进行比较。 但是,在少样本学习设置中,每个类将有多个数据点。 我们如何使用嵌入函数在此处学习特征表示?
假设我们有一个支持集,每个类包含一个以上的图像,如下图所示:
......@@ -64,11 +64,11 @@
我们可以像往常一样使用嵌入函数来提取查询图像的特征向量。 接下来,我们使用连接运算符`Z`组合支持和查询集的特征向量。 我们执行级联,然后将级联的特征向量输入到关系函数并获得关系得分,该关系得分表示支持集和查询集中每个类之间的相似性。
下图显示了关系网络在几次学习设置中的整体表示:
下图显示了关系网络在少样本学习设置中的整体表示:
![](img/61827802-face-4bba-9b33-1a79c5d2deaf.png)
# 零学习中的关系网络
# 零样本学习中的关系网络
既然我们已经了解了如何在单发和少发学习任务中使用关系网络,我们将看到如何在零发学习设置中使用关系网络,在这种情况下,每个类别下都没有任何数据点。 但是,在零射击学习中,我们将具有元信息,该元信息是有关每个类的属性的信息,并将被编码到语义向量`v[c]`中,其中下标`c`表示类。
......@@ -259,7 +259,7 @@ Episode 900: loss 0.250
# 匹配网络
匹配网络是 Google 的 DeepMind 团队发布的另一种简单高效的一次学习算法。 它甚至可以为数据集中未观察到的类生成标签。
匹配网络是 Google 的 DeepMind 团队发布的另一种简单高效的单样本学习算法。 它甚至可以为数据集中未观察到的类生成标签。
假设我们有一个支持集`S`,其中包含`K`示例作为`(x1, y1), (x2, y2), ..., (xk, yk)`。 给定查询点(一个新的看不见的示例)`x_hat`时,匹配网络通过将其与支持集进行比较来预测`x_hat`的类别。
......@@ -670,7 +670,7 @@ class Matching_network():
# 总结
在本章中,我们学习了在几次学习中如何使用匹配网络和关系网络。 我们看到了一个关系网络如何学习支持和查询集的嵌入,并将这些嵌入进行组合并将其馈送到关系函数以计算关系得分。 我们还看到了匹配的网络如何使用两种不同的嵌入函数来学习我们的支持集和查询集的嵌入,以及它如何预测查询集的类。
在本章中,我们学习了在少样本学习中如何使用匹配网络和关系网络。 我们看到了一个关系网络如何学习支持和查询集的嵌入,并将这些嵌入进行组合并将其馈送到关系函数以计算关系得分。 我们还看到了匹配的网络如何使用两种不同的嵌入函数来学习我们的支持集和查询集的嵌入,以及它如何预测查询集的类。
在下一章中,我们将通过存储和检索内存中的信息来学习神经图灵机和记忆增强型神经网络的工作方式。
......
......@@ -2,7 +2,7 @@
到目前为止,在前面的章节中,我们已经学习了几种基于距离的度量学习算法。 我们从连体网络开始,了解了连体网络如何学会区分两个输入,然后我们研究了原型网络以及原型网络的变体,例如高斯原型网络和半原型网络。 展望未来,我们探索了有趣的匹配网络和关系网络。
在本章中,我们将学习用于一次学习的**记忆增强神经网络****MANN**)。 在进入 MANN 之前,我们将了解他们的前身**神经图灵机****NTM**)。 我们将学习 NTM 如何使用外部存储器来存储和检索信息,并且还将看到如何使用 NTM 执行复制任务。
在本章中,我们将学习用于单样本学习的**记忆增强神经网络****MANN**)。 在进入 MANN 之前,我们将了解他们的前身**神经图灵机****NTM**)。 我们将学习 NTM 如何使用外部存储器来存储和检索信息,并且还将看到如何使用 NTM 执行复制任务。
在本章中,我们将学习以下内容:
......@@ -645,7 +645,7 @@ train(args)
# 记忆增强神经网络(MANN)
现在,我们将看到一个有趣的 NTM 变体,称为 MANN。 它广泛用于一键式学习任务。 MANN 旨在使 NTM 在一次学习任务中表现更好。 我们知道 NTM 可以使用基于内容的寻址或基于位置的寻址。 但是在 MANN 中,我们仅使用基于内容的寻址。
现在,我们将看到一个有趣的 NTM 变体,称为 MANN。 它广泛用于一键式学习任务。 MANN 旨在使 NTM 在单样本学习任务中表现更好。 我们知道 NTM 可以使用基于内容的寻址或基于位置的寻址。 但是在 MANN 中,我们仅使用基于内容的寻址。
MANN 使用一种称为最少最近访问的新寻址方案。 顾名思义,它写入最近最少使用的内存位置。 等待。 什么? 我们刚刚了解到 MANN 不是基于位置的,那么为什么我们要写入最近最少使用的位置? 这是因为最近最少使用的存储位置由读取操作确定,而读取操作由基于内容的寻址执行。 因此,我们基本上执行基于内容的寻址,以读取和写入最近最少使用的位置。
......@@ -798,4 +798,4 @@ M_ = prev_M * tf.expand_dims(1\. - tf.one_hot(prev_indices[:, -1], self.memory_s
# 进一步阅读
* [NTM 论文](https://arxiv.org/pdf/1410.5401.pdf)
* [使用记忆增强神经网络的一次学习](https://arxiv.org/pdf/1605.06065.pdf)
\ No newline at end of file
* [使用记忆增强神经网络的单样本学习](https://arxiv.org/pdf/1605.06065.pdf)
\ No newline at end of file
# 六、MAML 及其变体
在上一章中,我们了解了**神经图灵机****NTM**)以及它如何存储和从内存中检索信息。 我们还了解了称为记忆增强神经网络的 NTM 变体,该变体广泛用于单学习中。 在本章中,我们将学习一种有趣的,最流行的元学习算法,称为**模型不可知元学习****MAML**)。 我们将了解什么是不可知论元学习模型,以及如何在监督和强化学习设置中使用它。 我们还将学习如何从头开始构建 MAML,然后我们将学习**对抗性元学习****ADML**)。 我们将看到如何使用 ADML 查找健壮的模型参数。 接下来,我们将学习如何为分类任务实现 ADML。 最后,我们将学习用于元学习的**上下文适应元学习****CAML**)。
在上一章中,我们了解了**神经图灵机****NTM**)以及它如何存储和从内存中检索信息。 我们还了解了称为记忆增强神经网络的 NTM 变体,该变体广泛用于单样本学习中。 在本章中,我们将学习一种有趣的,最流行的元学习算法,称为**模型不可知元学习****MAML**)。 我们将了解什么是不可知论元学习模型,以及如何在监督和强化学习设置中使用它。 我们还将学习如何从头开始构建 MAML,然后我们将学习**对抗性元学习****ADML**)。 我们将看到如何使用 ADML 查找健壮的模型参数。 接下来,我们将学习如何为分类任务实现 ADML。 最后,我们将学习用于元学习的**上下文适应元学习****CAML**)。
在本章中,您将了解以下内容:
......
# 九、最新进展和后续步骤
恭喜你! 我们已经到了最后一章。 我们已经走了很长一段路。 我们从元学习基础开始,然后看到了几种一次学习算法,例如连体,原型,匹配和关系网络。 后来,我们还看到了 NTM 如何存储和检索信息。 展望未来,我们看到了有趣的元学习算法,例如 MAML,Reptile 和元 SGD。 我们看到了这些算法如何找到最佳的初始参数。 现在,我们将看到元学习的一些最新进展。 我们将学习如何使用与任务无关的元学习来减少元学习中的任务偏差,以及如何在模仿学习系统中使用元学习。 然后,我们将看到如何使用 CACTUs 算法在无监督的学习环境中应用 MAML。 稍后,我们将学习一种称为学习在概念空间中学习的深度元学习算法。
恭喜你! 我们已经到了最后一章。 我们已经走了很长一段路。 我们从元学习基础开始,然后看到了几种单样本学习算法,例如连体,原型,匹配和关系网络。 后来,我们还看到了 NTM 如何存储和检索信息。 展望未来,我们看到了有趣的元学习算法,例如 MAML,Reptile 和元 SGD。 我们看到了这些算法如何找到最佳的初始参数。 现在,我们将看到元学习的一些最新进展。 我们将学习如何使用与任务无关的元学习来减少元学习中的任务偏差,以及如何在模仿学习系统中使用元学习。 然后,我们将看到如何使用 CACTUs 算法在无监督的学习环境中应用 MAML。 稍后,我们将学习一种称为学习在概念空间中学习的深度元学习算法。
在本章中,您将了解以下内容:
......
......@@ -3,7 +3,7 @@
# 第 1 章:元学习简介
1. 元学习产生了一种通用的 AI 模型,该模型可以学习执行各种任务,而无需从头开始进行训练。 我们使用几个数据点在各种相关任务上训练我们的元学习模型,因此对于新的但相关的任务,该模型可以利用从先前任务中学到的知识而不必从头开始进行训练。
2. 从更少的数据点学习称为**少样本学习****K 学习**,其中`k`表示在数据集的每个类别中的数据点的数量。
2. 从更少的数据点学习称为**少样本学习****K 样本学习**,其中`k`表示在数据集的每个类别中的数据点的数量。
3. 为了使我们的模型从一些数据点中学习,我们将以相同的方式对其进行训练。 因此,当我们有一个数据集`D`时,我们从数据集中存在的每个类中采样一些数据点,并将其称为支持集。
4. 我们从与支持集不同的每个类中采样不同的数据点,并将其称为查询集。
5. 在基于度量的元学习设置中,我们将学习适当的度量空间。 假设我们要找出两个图像之间的相似性。 在基于度量的设置中,我们使用一个简单的神经网络,该网络从两个图像中提取特征并通过计算这两个图像的特征之间的距离来查找相似性。
......@@ -11,7 +11,7 @@
# 第 2 章:使用连体网络的人脸和音频识别
1. 连体网络是神经网络的一种特殊类型,它是最简单,最常用的单学习算法之一。 连体网络基本上由两个对称的神经网络组成,它们具有相同的权重和架构,并最终通过能量函数`E`结合在一起。
1. 连体网络是神经网络的一种特殊类型,它是最简单,最常用的单样本学习算法之一。 连体网络基本上由两个对称的神经网络组成,它们具有相同的权重和架构,并最终通过能量函数`E`结合在一起。
2. 对比损失函数可以表示为:
......
......@@ -166,15 +166,15 @@ Pan 和 Yang 撰写的论文《迁移学习综述》[可以在此处找到](http
多任务学习:学习器同时从所有任务接收信息
# 一次学习
# 单样本学习
深度学习系统天生就渴望数据,因此它们需要许多训练示例来学习权重。 这是深度神经网络的局限性之一,尽管人类学习并非如此。 例如,一旦向孩子展示了苹果的外观,他们就可以轻松识别出不同种类的苹果(带有一个或几个训练示例); 机器学习和深度学习算法并非如此。 一次学习是迁移学习的一种变体,在这种学习中,我们尝试仅根据一个或几个训练示例来推断所需的输出。 这在无法为每个可能的类提供标签数据的现实世界场景中(如果是分类任务)和在经常可以添加新类的场景中非常有用。
深度学习系统天生就渴望数据,因此它们需要许多训练示例来学习权重。 这是深度神经网络的局限性之一,尽管人类学习并非如此。 例如,一旦向孩子展示了苹果的外观,他们就可以轻松识别出不同种类的苹果(带有一个或几个训练示例); 机器学习和深度学习算法并非如此。 单样本学习是迁移学习的一种变体,在这种学习中,我们尝试仅根据一个或几个训练示例来推断所需的输出。 这在无法为每个可能的类提供标签数据的现实世界场景中(如果是分类任务)和在经常可以添加新类的场景中非常有用。
据说 Fei-Fei 及其合作者具有里程碑意义的论文[《对象类别的单发学习》](https://ieeexplore.ieee.org/document/1597116/)。 在此子领域创造了“一次性学习和研究”一词。 本文提出了一种用于对象分类的表示学习的贝叶斯框架的变体。 此后,此方法已得到改进,并已使用深度学习系统进行了应用。
# 零学习
# 零样本学习
零镜头学习是迁移学习的另一个极端变体,它不依赖任何标记的示例来学习任务。 这听起来令人难以置信,尤其是当使用示例学习是大多数监督学习算法所要解决的问题时。 零数据学习或零短学习方法在训练阶段本身进行了巧妙的调整,以利用附加信息来理解看不见的数据。 在他们的《学会学习》一书中,Goodfellow 及其合作者提出了零学习作为学习三个变量的场景,例如传统输入变量`x`,传统输出变量`y`以及描述任务的其他随机变量`T&`。 因此,训练模型以学习`P(y | x, T)`的条件概率分布。 零镜头学习在机器翻译等场景中非常有用,在这种情况下,我们甚至可能没有目标语言的标签。
零镜头学习是迁移学习的另一个极端变体,它不依赖任何标记的示例来学习任务。 这听起来令人难以置信,尤其是当使用示例学习是大多数监督学习算法所要解决的问题时。 零数据学习或零短学习方法在训练阶段本身进行了巧妙的调整,以利用附加信息来理解看不见的数据。 在他们的《学会学习》一书中,Goodfellow 及其合作者提出了零样本学习作为学习三个变量的场景,例如传统输入变量`x`,传统输出变量`y`以及描述任务的其他随机变量`T&`。 因此,训练模型以学习`P(y | x, T)`的条件概率分布。 零镜头学习在机器翻译等场景中非常有用,在这种情况下,我们甚至可能没有目标语言的标签。
# 迁移学习的挑战
......@@ -194,4 +194,4 @@ Pan 和 Yang 撰写的论文《迁移学习综述》[可以在此处找到](http
我们首先在学习算法及其相关优势的更广泛背景下理解迁移学习。 然后,我们讨论了用于理解,应用和分类迁移学习方法的各种策略。 在深度学习的背景下,迁移学习是下一个讨论的主题,为本章的其余部分定下了基调。 我们讨论了与深度迁移学习相关的不同迁移学习方法,例如*特征提取**微调*。 我们还介绍了著名的预训练模型和使用深度学习系统的迁移学习的流行应用。 近年来,深度学习已被证明是非常成功的,因此,在此领域中使用迁移学习已进行了大量研究。
我们简要讨论了深度迁移学习的不同变体,例如*域自适应**域混淆**多任务学习**单次学习*, 和*零次学习*。 我们通过介绍与迁移学习相关的挑战(例如负迁移和迁移边界)来结束本章。 在本章中,我们概述了与迁移学习相关的各种研究出版物和链接,并鼓励读者探索它们以获取更多信息。 本章将作为当前过渡学习领域的指导和概述。 敬请关注下一章的更多细节,我们将提供一些与转学相关的动手练习。
\ No newline at end of file
我们简要讨论了深度迁移学习的不同变体,例如*域自适应**域混淆**多任务学习**单样本学习*, 和*零样本学习*。 我们通过介绍与迁移学习相关的挑战(例如负迁移和迁移边界)来结束本章。 在本章中,我们概述了与迁移学习相关的各种研究出版物和链接,并鼓励读者探索它们以获取更多信息。 本章将作为当前过渡学习领域的指导和概述。 敬请关注下一章的更多细节,我们将提供一些与转学相关的动手练习。
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册