第1章 绪论
1.1 迁移学习缘起
子曰:“不愤不启,不悱不发。举一隅不以三隅反,则不复也。”
——《论语·述而》
其中第二句讲的就是,孔子在教育弟子的过程中采用启发式的教育方式,目的是让人开悟,从而触类旁通,举一反三。也就是说,教给一个人某一方面的知识,他却不能由此而推知其他方面的知识,那就不再教他了。从这里我们可以看到,从古代开始,就已经非常重视学习的迁移了。
迁移学习应该说最早起源于教育心理学,根据教育心理学对学习迁移的描述[1]:学习是一个连续的过程,任何学习都是在学习者已经具有的知识经验和认知结构、已经获得的动作技能、已经习得的态度等基础上进行的,而新的学习过程及其结果又会对学习者原有的知识经验、技能和态度,甚或学习策略等产生影响,这种新旧学习之间的相互影响就是学习迁移(Transfer of Learning)。学习迁移是“在一种情境中的技能、知识和理解的获得或态度的形成,对另一种情境中的技能、知识和理解的获得或态度的形成的影响”[2],或者简单地说,学习迁移是一种学习对于另一种学习的影响。
近年来传统机器学习算法已大有所成,且在许多实际应用中取得成功,但它对于一些真实场景仍有局限性。理想的机器学习场景中应有大量的标记训练实例,且训练实例与测试实例服从独立同分布。然而,收集大量的训练数据通常成本高且耗时长,甚至在许多情况下并不现实。半监督学习通过减少对大量标记数据的需求,在一定程度上解决了这个问题。它假定在独立同分布的情况下,一般只需要有限数量的标记数据和大量的未标记数据就能提高模型的学习精度。但在许多情况下,即使是未标记的实例也难以收集,这使得传统模型的训练效果并不理想。
迁移学习(Transfer Learning)侧重于跨领域的知识迁移,旨在运用已有的知识对不同但相关领域的问题进行求解,它是一种潜在的被认为有希望解决上述问题的机器学习方法。根据心理学家C. H. Judd提出的迁移泛化理论(the generalization theory of transfer),学习迁移是经验泛化的结果。人只要能对已有的经验进行泛化,就可能实现不同场景之间的知识迁移。基于上述理论,迁移的前提是两个学习任务之间存在关联。实际上,学过小提琴的人再学钢琴会比没学过的人学得快,因为钢琴和小提琴都是乐器,一些知识可能相同。图1.1展示了一些关于迁移学习的直观例子。迁移学习受人类学习过程中跨领域知识迁移能力的启发,旨在利用相关领域(称为源域)的知识来提高学习性能,或最小化目标域所需的标记实例数量。值得一提的是,迁移的知识不一定总能给新任务带来积极影响。假如源域与目标域没什么共同点,那么知识迁移就可能不成功。例如,学骑自行车不一定能让我们更快地学会钢琴。此外,领域之间的相似性并不一定有助于学习,因为有时相似性可能会产生误导。例如,虽然西班牙语和法语之间有着密切联系,同属于罗曼语族,但懂得西班牙语的人学法语可能会有困难,容易错用词汇或变形。这是由于之前学西班牙语的成功经验会对学法语的构词、用法、发音、变形等造成干扰。在心理学上,之前的经验对新的学习任务产生负面影响,这种现象称为负迁移(Negative Transfer)[3]。同样,在迁移学习领域,如果目标学习器受到迁移知识的负面影响,这种现象也称为负迁移[4-5]。负迁移发生与否取决于几个因素,如源域与目标域之间的相关性、学习器跨领域寻找知识中可迁移的有效部分的能力。文献[5]中给出了负迁移的正式定义及一些分析。
图1.1 迁移学习的直观例子