机器学习模仿人类如何通过经验获取知识。然而,人类也可以在不同的任务之间转移知识。假设您知道如何弹吉他——学习如何弹奏班卓琴对您来说有多难?钢琴呢——你需要多少进一步的学习?
这种建立在以前经验之上的理论,而不是从头开始学习,是当今机器学习的一个热门话题。这种方法称为迁移学习。 正如Andrew NG在NIPS 2019教程中评论的那样:“在监督学习之后 - 迁移学习将成为ML商业成功的下一个驱动力”。
迁移学习是一个令人兴奋的概念,它旨在重新发展机器学习模型需要从头开始重建的传统观念,即使新的案例研究只是一个特征(领域变量)分布变化。通过迁移学习,您不必一次又一次地训练模型,而是可以使用为一项任务获得的知识来解决相关任务。
数据科学中迁移学习背后的关键概念是深度学习模型。它们需要大量数据,如果你的模型也是受监督的,这意味着你需要大量的标记数据。参与机器学习项目的每个人都知道,标记数据样本非常繁琐且耗时。由于缺乏标记的训练数据,此过程会减慢您的模型开发团队的速度,甚至会阻止成功的机会。深度学习解决方案的另一个常见问题是,尽管最先进的算法具有很高的准确性,但它们依赖于非常具体的数据集,并且在实际操作场景中引入新的模式和案例时会遭受巨大的性能损失。
迁移学习并不是一个新概念,实际上可以追溯到NIPS 1995研讨会“学习学习:归纳系统中的知识巩固和转移”。除了用于改进深度学习模型外,迁移学习还用于构建和训练机器学习模型的新方法。
举例来说,我们在一个名为 Safeclouds.eu 的 H2020 项目中开发了一个机器学习模型。该模型试图准确预测距离跑道阈值 2NM 处的到达跑道占用时间 (AROT):
通过遵循这种方法,我们可以将我们的预测模型推广到全球每个机场!
事实上,将预训练模型用于新任务/领域的想法并不那么容易应用。例如,如果两个域不同,它们可能具有不同的特征空间或不同的边缘分布。这意味着描述您的新研究案例的变量可能不同。
此外,当两个任务不同时,它们可能会呈现不同的标签空间或不同的条件分布。这可能意味着可能会出现新的、未见过的情况,并且您的模型可能会专注于检测不平衡的情况(例如很少发生的新情况)。
为了事先解决这些问题,我们需要回答一些问题:
迁移学习是迄今为止最有前途的机器学习主流产品推动者。该行业可能需要采用它,以便提供可以快速原型化的可靠解决方案。我个人认为这将成为未来某个关键的方法论。例如,近年来,用于计算机视觉或语音识别的预训练模型库已经出现(Google BERT、PyTorch 的 torchvision、Tensorflow 模型、fastAI 等)。
在以后的文章中,我们将介绍现有的迁移学习方法和算法,以及来自知名机器学习参与者的一些迁移学习的成功用例。敬请关注!