1. 简介

在本教程中,我们将探讨迁移学习和领域适应的差异和细微差别。迁移学习是一个广义术语,描述将从一个机器学习问题中获得的知识用于另一个机器学习问题。域适应描述了迁移学习的一种特殊情况,它仅涵盖数据域的变化。

2. 经典监督学习

为了阐明迁移学习,我们将其与经典的监督机器学习问题进行了比较。为了更好地理解,我们使用狗和猫图片的示例数据集。

2.1. 结构

在经典设置中,我们有一个数据集 A 形式,我们提取我们的特征 X 。对于这些特征,我们需要标签 ,例如,具有高级特征的图片,狗的脚,狗的脸和狗的身体 Y ,我们分配标签狗。因此,我们有一个函数将集合特征的值分配给我们的集合标签。

当我们在生产中使用模型时,我们有一个不同但相似的数据集,它仍然显示狗和猫。它仍然将这些图片分配给相同的标签“狗”和“猫”。

在这张图片中,我们可以看到两个数据集 AB ,它们不同但相似:

image-20230926170806418

3. 迁移学习

迁移学习描述了机器学习技术的集合,这些技术与类似于经典监督案例的结构一起工作。相比之下,它也可以处理截然不同的数据集和要素。

3.1. 迁移学习蓝图

让我们看一下迁移学习过程的结构。正如我们所看到的,标签和预测函数可以改变:

image-20230926170925427

此外,我们的结构与监督学习相似。但是,与此形成鲜明对比的是,在迁移学习的情况下,没有一个构建块必须是相同的。两个机器学习设置之间的联系是预测函数的利用,用于创建第二个预测函数F。

应该注意的是,在这种情况下,源和目标的步骤是不同的。迁移学习还包括其他情况,例如,只有标签不同,特征相同。

涵盖相同标签和截然不同但相似的数据集的情况的实例也是一种迁移学习。我们将在有关域适应的部分中介绍这一点。

3.2. 迁移学习示例

让我们将此概念应用于我们的狗和猫图片示例。现在想象一下,我们有第二个数据集,显示牛和马的图片。牛和马与猫明显不同。

然而,它们都是哺乳动物,它们有四只脚,形状相似。作为解决方案,我们可以获取描述我们想要检测的物体形状的图层,无论是狗、牛还是马,并冻结它们。冻结意味着我们把它们从我们的预测函数中剔除,把它们放在我们的预测函数f g中,并训练函数 g,而不训练我们的冻结层:

image-20230926171245456

我们可以看到右侧的层是绿色的,这表明我们必须在为源域创建预测函数时对其进行训练。另一方面,预测 g 是使用源域中已经存在的冻结层创建的。在训练过程中,冻结层保持不变。

4. 域适应

如前所述,领域适应是迁移学习的一个特例。

4.1. 蓝图

在领域适应中,我们只更改底层数据集,从而更改机器学习模型的功能。但是,功能空间保持不变。预测函数 f 保持不变:

image-20230926171353168

4.2. 应用

将领域适应应用于我们的示例,我们可以想到一个明显不同但在某种程度上相似的数据集。这仍然可以包含狗和猫的图片,但那些与我们的源数据集中的图片大不相同。例如,在我们的源数据集中,我们只有贵宾犬和黑猫。另一方面,在我们的目标数据集中,我们可以有雪纳瑞和白猫。

现在,我们如何确保我们的预测函数仍然能够预测数据集的正确标签?领域适应为这个问题提供了答案。

4.3. 领域适应的类型

我们考虑三种类型的领域适应。这些由基础域中标记的示例数定义:

  • 无监督域适应适用于具有标记示例的源域,也适用于未标记的示例。目标域只有未标记的示例。
  • 半监督域适应期望目标域中的一些示例被标记。
  • 受监督域表示所有示例都已标记。