迁移学习(Transfer Learning):如何使用预训练模型高效创建新的机器学习模型

如何借助预训练模型利用训练数据,从而加速AI项目

毫无疑问,您接触过的大多数人工智能(AI)项目都是基于监督学习技术构建的。从本质上来讲,监督学习是指从无到有构建机器学习(ML)模型,是迄今为止推动AI发展的关键方法,其发挥作用的前提在于能够访问大量的大型数据集和增强计算能力。但由于缺乏资源,许多AI项目未能取得成功,在这种情况下,人们希望能有一种更高效的方法来构建模型。幸而,我们可以用其他方法来代替监督学习方法,在保证AI项目质量的前提下,减少项目所需的时间、金钱和人力。 近来,由于技术专家开始探寻优化ML模型的新方法,作为一种机器学习技术,利用自己的训练数据来实现迁移学习以及实现对预训练模型的使用开始备受关注。迁移学习不需要从零开始,可以减少AI项目启动初期的投资。通过迁移学习,ML的可用范围扩大,这促使更多的公司启动AI项目,并全面加速了AI的采用。 什么是迁移学习? 迁移学习是一种ML方法,是将针对某项任务训练的模型用作解决其他不同但相关任务的起点。预训练模型可能无法100%准确地完成新任务,因此需要经常修正模型,并利用为当前用例设计的数据来训练模型,以便微调模型。例如,您可能有一个已受过训练可识别家猫的模型。迁移学习涉及到重新使用这个模型,对其进行微调,使其可以成功识别山猫。 How to Use Pre-trained Models 如何使用预训练模型 利用预训练模型来进行迁移学习的过程如下:
  1. 选择模型
模型选择是迁移学习中至关重要的第一步。您需要选择一个与待解决用例非常相似的模型。市面上有许多可用的模型,有些是免费和开放源代码的,有些则需要从第三方供应商那里购买。例如,NVIDIA提供了一种迁移学习工具包,其中包括人脸识别、目标检测以及其他常见ML用例等多个类型的预训练模型。 模型质量会因来源不同而有所差异,所以要严格评估模型,确保所选择的模型能够满足您要求的质量标准。
  1. 修正模型
选择想要用于新任务的源模型属性(可能是所有属性)。如果您只使用模型的一部分,可以考虑只使用模型架构,或者在神经网络的情况下,只使用网络中的某些层。这种选择取决于您试图解决的问题性质,以及您正在处理的模型类型。在完成步骤3后,如有必要,您可以继续修正模型。
  1. 训练模型
为了最大化模型性能,您需要继续微调模型并确认其准确度;这需要使用更多适用于您当前用例的训练数据。您可能已经拥有自己的数据集,并希望将其作为训练数据。如果您需要对数据实施标注工作,您可能需要找到像澳鹏这样的第三方数据供应商,可以让您立即获得标 注人员资源和数据标注平台,以保证标注效率。 如果您需要获取额外的数据,像澳鹏这样的数据供应商也可以为您提供标注数据集。您可以继续使用新数据来训练模型,直到模型达到需要的性能水平。从长期看,建立一个强大的培训数据通道可以提高模型训练速度以及模型的可扩展性,特别是考虑到模型在部署后还需要定期再训练。 为什么要使用迁移学习和预训练模型? 从零开始构建和训练ML模型需要海量的资源。首先,您需要一个由高度专业的数据科学家、ML专家,以及具有领域专业知识的数据标注员组成的团队。您需要大量数据,而数据收集需要时间和金钱。您需要额外的时间来标注数据、编程算法、用标注数据来训练模型、测试模型、部署模型、以及继续监控模型的后期调整。总言之,从零开始构建ML模型是一项非常耗费资源的工作。 如果正确实施迁移学习方法,可以节省时间并达到同样的预期性能。利用预训练模型可能意味着:您不需要为了获得训练数据而标注整个数据集(但您可能仍需要标注一些数据,在前文中对此有更多介绍)。此外,由于不需要重新构建一个模型,您的团队可能不需要数据科学家或ML专家。而模型构建是AI开发中最专业化的领域。当今时代,AI和ML专业人员的技能缺口持续存在,这是迁移学习差异化的一个关键因素。 当您要解决的任务缺乏大量可用数据,而相关任务有大量可用数据时,迁移学习就是一个非常有用的工具。然后,您可以利用从解决相关任务中获得的知识来解决新任务。 迁移学习是人类获取新信息最流行的方法之一,所以将这一方法引入在AI项目中也是合理的。想象一下,公司不再需要招聘高度专业的ML人员就可以快速推出高质量的AI产品,不再需要在每个AI项目上投入大量的时间、金钱和精力,这是多么好的事情。迁移学习为更多想要进入AI领域的参与者提供了机会,从而推动了该领域内更高质量的实验和创新。  
Language