第4章 迁移学习基础

人类具有跨任务传输知识的固有能力。我们在学习一项任务的过程中获得的知识,可以用来解决相关的任务。任务相关程度越高,我们就越容易迁移或交叉利用知识。到目前为止所讨论的机器学习和深度学习算法,通常都是被设计用于单独运作的。这些算法被训练来解决特定的任务。一旦特征空间分布发生变化,就必须从头开始重新构建模型。迁移学习是一种克服孤立的学习范式,也是一种利用从一项任务中获得的知识来解决相关任务的思想。本章将介绍迁移学习的概念,并重点介绍其在深度学习方面的内容。本章将涵盖以下主题:

  • 迁移学习简介;
  • 迁移学习策略;
  • 通过深度学习进行迁移学习;
  • 深度迁移学习的类型;
  • 迁移学习的挑战。

学习算法通常被设计用来单独处理任务或问题。根据用例和已有数据的需求,一种算法被应用于为给定的特定任务训练一种模型。传统的机器学习根据特定的领域、数据和任务,对每个模型进行单独的训练,如图4.1所示。

迁移学习将学习过程向前推进了一步,并且更符合人类跨任务利用知识的思想。因此迁移学习是一种将一种模型或知识重用于其他相关任务的方法。迁移学习有时也被认为是现有机器算法的扩展。在迁移学习领域以及理解知识如何跨任务迁移的课题中,有大量的研究和工作正在进行。1995年举办的神经信息处理系统(Neural Information Processing System,NIPS)研讨会上发布的Learning to Learn: Knowledge Consolidation and Transfer in Inductive Systems为该领域的研究提供了最初的动力。

图4.1

 

 

1995年NIPS会议的所有研讨会列表可以从网上获取。

 

从那时起,为学习而学习、知识巩固和归纳迁移等术语就开始与迁移学习交换使用。一直以来,不同的研究人员和学术文献从不同的上下文为迁移学习提供了不同的定义。Goodfellow等人在他们的著作 ...

Get Python迁移学习 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.