深度学习中的迁移学习

深度学习中的迁移学习

1. 迁移学习


迁移学习(Transfer Learning)是一种机器学习方法,是指将在某个任务中训练得到的模型迁移到另一个任务中。迀移学习从己学习到的模型中转移相关知识到新任务的模型中,近年来在机器学习和深度学习领域一直被持续关注。 在某些应用场景下,深度学习模型的训练会存在一些矛盾,比如大数据与少标注的矛盾,是指数据集规模很大但是已标注的数据样本较少,数据的标注成本较高;大数据与弱计算的矛盾,是指计算平台无法满足大数据量的训练,需要依靠模型的迁移;普适化模型与个性化需求的矛盾,是指在同一个模型下无法满足所有人的个性化需求,难以做到模型的适配。在出现这类问题时,可以考虑使用迁移学习的思路来解决。 迁移学习中有两个基本的概念,域(domain)和任务(task)。域指数据特征和其他特征分布,是学习的主体;域又分为源域和目标域,源域是指已有知识的域,目标域是指要进行学习的域。任务的定义则由目标函数和学习结果共同组成。

2. 迁移学习的类别

按照迁移方式的不同,可以将迁移学习分为如下四类:(1)基于样本的迁移,是指根据一定的权重生成规则,对数据集中的样本重新使用,来进行迁移学习。比如在某个分类场景下,源域中存在多个类别,而目标域中只存在其中的一个类别,这时可以人为的提高源域中该类别的数量。(2)基于特征的迁移,是指通过变换源域和目标域的特征来进行迁移学习,特征变换后,源域与目标域之间的差距将进一步缩小;或是将源域和目标域的样本特征变换到一个统一的特征空间中,利用传统机器学习或深度学习方法进行分类。(3)基于模型的迁移,是指从源域和目标域的模型中找出其共享的参数信息,从而进行迁移学习。该方法的实现有一个先验条件的限制:源域和目标域的数据样本必须存在一些可共享的参数信息。(4)基于关系的迁移,该方法下重点关注源域和目标域数据样本之间的联系。

3. 迁移学习的核心

迁移学习的核心在于找出源域和目标域之间的相似性,并对这种相似性加以应用。这里的相似性是一种相对普遍的概念,例如,自行车和电动车的骑行方式是相似的;哺乳动物的身体构造是相似的;羽毛球和网球的打球方式是相似的等等。 关于相似性,另一个比较重要的问题是如何度量和利用这种相似性。对相似性进行度量的主要目标一方面是为了定性和定量的给出源域和目标域之间的相似程度;另一方面度量将被作为一个准则,通过要使用的迁移学习方式,增加源域和目标域之间的相似度,从而获得更好的迁移学习效果。

4. Fine-Tune

在某些复杂场景下,通常不会针对一个任务从零开始训练一个神经网络,一方面是因为该任务下的数据集可能没有公开数据集比如ImageNet那么大,会导致模型的泛化能力和鲁棒性都不理想;另一方面针对大规模数据集的训练,其成本和代价是非常高的。这时候就可以借助Fine-Tune的思想来解决该类问题。 Fine-Tune,也叫微调,是深度学习领域一个比较常见的概念。Fine-Tune的作用在于利用现有的已训练好的网络模型,在新的任务上进行调整。从操作的具体过程来看,其实就是迁移学习的一种,是最简单的深度网络迁移方法。 Fine-Tune在本文中也有着重要应用,在生成数据集和真实数据集的分布性存在差异时,文本识别模型的训练借鉴了Fine-Tune的思想,在测试集上取得了预期的效果。



微信公众号:人工智能感知信息处理算法研究院

知乎主页:zhihu.com/people/zhuime

发布于 2021-04-30 17:54