AI+互联网+教育时间管理司马腾超级自控力学院

深度学习之外的人工智能——迁移学习

2018-10-26  本文已影响19人  e025d18cbaaa
深度学习之外的人工智能——迁移学习

无论是小学还是大学,在教学中都会强调的一个问题就是“举一反三”,将学到的规律灵活地运用到其他相似的场景下。而要想让人工智能学会举一反三,用到的就是迁移学习技术。

迁移学习(transfer learning)是运用已学习的知识来求解不同但相关领域问题的新的机器学习方法,目的是让机器“学会学习”。当训练数据和测试数据来自不同的特征空间或遵循不同的概率分布时,如果能够将从训练数据上习得的知识迁移到测试数据上,就可以回避掉复杂的数据标签工作,进而提升学习性能。迁移学习就是解决这个问题的学习框架,它能够对仅有少量甚至没有标签样本进行学习,从而解决目标问题。

许多机器学习和数据挖掘算法都建立在两个主要假设之上:第一,训练样本和测试数据必须处于相同的特征空间并具有相同的分布;第二,有足够的高质量训练样本作为学习资源。

遗憾的是,这两个假设在大多数实际应用中难以成立。一方面,训练数据和测试数据在时间上的差异可能导致分布规律的变化;另一方面,对大量数据进行标注不仅费时费力,还容易受到知识产权问题的影响。一旦没有数据,再好的深度学习方法都是无源之水,无本之木,难以发挥作用。

迁移学习的出现给解决这些问题带来了一丝曙光。其实说到底,迁移学习可以看作是提升学习算法泛化性能的一种思路。现实世界并非标准化和结构化的数据集,而是杂乱无章的万花筒,包含着大量从未在训练集中出现过的全新场景,这足以让许多在训练集上无往不胜的人工智能变成真实世界中的“人工智障”。迁移学习有助于算法处理全新场景下的问题,利用一般化的规律去应对富于变化的环境。

在迁移学习中,已有的知识(包括样本数据集及其分布)叫做源域,要学习的新知识叫做目标域。同样,待解决的任务也可以分为源任务和目标任务。根据源域 / 目标域和源任务 / 目标任务的关系,迁移学习问题可以划分为以下三类:

归纳迁移学习(inductive transfer learning):源域与目标域可能相同也可能不同,目标任务与源任务不同;

直推式迁移学习(transductive transfer learning):源域与目标域不同,目标任务与源任务相同;

无监督迁移学习(unsupervised transfer learning):目标任务与源任务不同,且源域数据和目标域数据都没有标签。

在从源域到目标域的迁移过程中,迁移学习要解决的三个问题是:迁移什么、能不能迁移、如何迁移。

“迁移什么”明确的是迁移学习的作用对象。显然,迁移的对象应该是普适性的知识,而不是特定领域的知识。用来背古诗词的技巧不一定适用于背化学方程式,这时需要迁移的就是整体意义上的记忆方法。

在确定了迁移什么之后,接下来就要解决能不能迁移的问题,只有当源域和目标域具有较高的相关性时,迁移才会有助于学习。如果不管三七二十一,把知识生搬硬套到风马牛不相及的问题上,反而会起到负作用。这就像骑自行车的技巧可以用在骑摩托车上,因为它们都有两个轮子,可如果用骑自行车的方法骑三轮车的话,只怕是要翻车了。

解决了上面两个问题之后,面对的就是迁移学习中的核心问题——如何迁移。迁移学习的具体方法包括以下四种:

基于样本的迁移学习(instance transfer);

基于特征的迁移学习(feature representation transfer);

基于模型的迁移学习(parameter transfer);

基于关系的迁移学习(relational knowledge transfer)。

上一篇下一篇

猜你喜欢

热点阅读