1.3 迁移学习的必要性
了解迁移学习的概念之后,紧接着还有一个非常重要的问题:迁移学习的目的是什么?或者说,为什么要使用迁移学习?
我们把原因概括为五个方面,下面分别阐述。
1.3.1 大数据与少标注之间的矛盾
我们正处在一个大数据时代,每天每时,社交网络、智能交通、视频监控、行业物流等,都产生着海量的图像、文本、语音等各类数据。这些海量的数据使得机器学习和深度学习模型可以持续不断地进行训练和更新。然而,这些大数据也伴随着严重的问题:总是缺乏完善的数据标注。
众所周知,机器学习模型的训练和更新均依赖于数据的标注。然而,尽管可以获取海量的数据,这些数据往往是很初级的原始形态,很少有数据被加以正确的人工标注。数据的标注是一个耗时且昂贵的操作,到目前为止,尚未有行之有效的方式来解决这一问题。这给机器学习和深度学习的模型训练和更新带来了挑战。反过来说,特定的领域,因为没有足够的标定数据用来学习,使得这些领域一直不能很好地发展。
单纯地凭借少量的标注数据,无法准确地训练高可用的模型。为了解决这个问题,直观的想法是:多增加一些标注数据不就行了?但是不依赖于人工,如何增加标注数据?
利用迁移学习的思想,可以寻找一些与目标数据相近的有标注的数据,利用这些数据来构建模型,增加目标数据的标注。
1.3.2 大数据与弱计算能力的矛盾
大数据需要强计算能力的设备来进行存储和计算。然而,大数据的大计算能力,是“有钱人”才玩得起的游戏。比如Google,Facebook,Microsoft,这些巨无霸公司有着雄厚的计算能力利用这些数据训练模型。在计算机视觉领域,图像数据集越来越大,例如存储和用ResNet去训练ImageNet数据集就相当耗时;在自然语言处理领域,训练一个普通的BERT模型也是一般研究人员无法承受的。由于科学研究的长期性,高昂的价格是普通个人用户无法长期负担的。因此,多数普通用户是不可能拥有这些强计算能力的。这就引发了大数据和弱计算能力之间的矛盾。在这种情况下,普通人想要利用海量的大数据去训练模型完成自己的任务,基本上不太可能。那么如何让普通人也能利用这些数据和模型?迁移学习提供了一种基于大数据“预训练”的模型在自己的特定数据集上进行“微调”的技术,大大降低了训练难度和成本,并且可以保证在自己的任务上取得优良的表现。
1.3.3 有限数据与模型泛化能力的矛盾
机器学习方法是人工智能的重要组成部分。机器学习的通用范式是基于给定的训练数据训练出精准的模型,从而可以将其用于未知的新数据、新场景、新应用。我们对于机器学习模型的要求是,不仅可以在已有的、有限的训练数据上取得极好的训练效果,还要能在新出现的数据、场景和应用中,取得良好的效果。这一要求与机器学习的泛化能力(Generalization ability)不可分割。
于是便出现了有限训练数据与模型泛化能力的矛盾:纵然我们能够在大数据集上进行训练,然而这些训练数据总是有限的,新的应用却总是未知的、复杂的、充满挑战性的。例如,在一些医疗场景的研究中,由于病例少、实验复杂度高、成本难以控制、失败率高等原因,医疗数据极其缺乏。而这些疾病往往有其特殊性,无法通过普通的迁移学习来建模。此时,如果能够基于现有的数据,运用更复杂的迁移学习方法,则有可能学习到一个泛化能力强的模型,从而能够对新病例和新情况进行良好的适配。机器学习模型泛化能力的研究一直都是学术界的热点问题。迁移学习是解决机器学习模型泛化问题的一种有效手段。泛化问题可能对应的迁移学习研究领域包括领域自适应(Domain Adaptation)[Pan et al.,2011]、领域泛化(Domain Generalization)[Blanchard et al.,2011]、元学习(Meta-Learning)[Vanschoren,2018]等。
本书的主要内容均将围绕领域自适应问题展开。本书的第12章介绍领域泛化的有关内容,第13章则介绍元学习的有关内容。
1.3.4 普适化模型与个性化需求的矛盾
机器学习的目标是构建一个尽可能通用的模型,使得这个模型对于不同用户、不同设备、不同环境、不同需求,都可以很好地适应。这是我们的美好愿景,即尽可能地提高机器学习模型的泛化能力,使之适应不同的数据情形。基于这样的愿望,我们构建了多种多样的普适化模型服务于现实应用。然而,这只是我们竭尽全力想要做的,目前却始终无法彻底解决的问题。人们的个性化需求五花八门,短期内根本无法用一个通用的模型去满足。比如用户在使用导航模型时,不同的人有不同的个性化需求:有的人喜欢走高速,有的人喜欢走偏僻小路,并且,不同的用户,通常都有不同的隐私需求。如图1.5所示,对于同一云端模型而言,不同用户(女性、男性、中老年人等)有不同的兴趣和习惯,这也是构建应用需要着重考虑的因素。
图1.5 普适化模型与个性化需求
所以目前的情况是,我们对每个通用的任务都构建了一个通用的模型。这个模型可以解决绝大多数的公共问题。但是每个个体、每个需求都存在其唯一性和特异性,普适化的通用模型根本无法满足。那么,能否将通用的模型加以改造和适配,使其更好地服务于人们的个性化需求?
不可能所有人都有能力利用大数据快速进行模型的训练。利用迁移学习的思想,我们可以将那些大公司在大数据上训练好的模型,迁移到我们的任务中,针对于我们的任务进行微调,从而也可以拥有在大数据上训练好的模型。更进一步,可以将这些模型针对具体任务进行自适应更新,取得更好的效果。
为了解决个性化需求的挑战,需要利用迁移学习的思想进行自适应学习。考虑到不同用户之间的相似性和差异性,需要灵活地调整普适化模型,以便完成相应的任务。
1.3.5 特定应用的需求
机器学习已经被广泛应用于现实生活中。在这些应用中,也有一些特定的应用面临着现实存在的问题。比如推荐系统的冷启动问题。一个新的推荐系统,没有足够的用户数据如何进行精准的推荐?一个崭新的图片标注系统,没有足够的标签如何进行精准的服务?现实世界中的应用驱动着我们开发更加便捷高效的机器学习方法。
表1.3概括地描述了迁移学习的必要性。
表1.3 迁移学习的必要性