尽管这篇博文是关于迁移学习的,但是到今天为止,迁移学习并不是唯一一个试图利用有限的数据、在新的任务上使用学到的知识、并让模型在新环境上具有较好的泛化能力的机器学习领域。所以,在下面的内容中,我们会介绍一些其他的与迁移学习相关或者能够补充迁移学习目标的方向。 半监督学习 迁移学习力图最大效率地使用某些任务或者域中的无标签数据。这也是半监督学习所恪守的准则,半监督学习遵循经典机器学习的设定,但是它仅仅采用有限数量的标签数据来训练。如此,半监督域适应本质上就是在域变化的情况下进行半监督学习。许多来自于半监督学习的教训和思想同样地适用于迁移学习。文献 [31] 是一个很不错的关于半监督学习的综述。 更有效地使用可用的数据 另外一个与迁移学习和半监督学习相关的方向是让模型在有限数量的数据上运行得更好。 这个可以用几种方式实现:你可以使用无监督学习或者半监督学习从无标签数据中抽取信息,以减少对有标签样本的依赖;你可以允许模型能够获取一些数据的固有属性,同时减轻正则化过程中的过拟合倾向;最后,你还可以使用至今仍然被忽视或者位于不明显的地方的一些数据。 作为用户生成内容的意外结果,这种巧合的数据 [32] 可能会被创建,例如能够提升命名实体和词性标注的超链接;它也可能作为注释的副产品存在,例如注释器不一致(annotator disagreement) 可能改进标注或者解析;或者来源于用户行为的数据,例如视线追踪或者键入变化,可以影响自然语言处理的任务。虽然这些数据只是以有限的方式被利用,但是这样的例子鼓励我们在意外的地方查找数据,并研究检索数据的新方法。 提高模型的泛化能力 让模型更好地泛化也是与此相关的一个方向。为了实现更好的泛化能力,我们首先必须理解大规模神经网络的行为和错综复杂的结构,并且去研究它们泛化的原因和方式。最近的工作已经朝着这个目标迈出了大有希望的步伐 [33],但是很多问题仍然等待解答。 让模型更加稳健(robust) 尽管提升我们的模型的泛化能力这方面已经比较成功了,在类似的例子上面我们也许泛化得很好,但是在出乎意料或者者非典型的输入情况下仍然会失败。所以,一个关键的补充目标就是让我们的模型更加稳健。在近来对抗学习的进步的推动下,这个方向越来越受关注,并且,最近的方法研究了很多让模型在最糟糕的情况下或者面对不同设置的对抗样本时变得更加稳健的方式 [34,35]。 多任务学习 在迁移学习中,我们主要关心在我们的目标任务和域上友好的表现。相反,多任务学习中的目标是在所有可用的任务上都要表现良好,尽管某个标签数据通常都被假定在一个任务上。虽然多任务学习的方法没有直接用在迁移学习上,但是对多任务学习有利的关于任务的思想 [19] 仍然能够指引迁移学习的决策。 持续学习 虽然多任务学习允许我们在许多任务中保留知识,而不会对我们的源任务造成性能损失,但只有在所有任务都处于训练时间的情况下,这才是可能的。对于每个新任务,我们通常需要重新训练我们所有任务的模型。 然而,在现实世界中,我们希望一个代理能够通过使用它以往的一些经验来处理逐渐变得复杂的任务。为了达到这个目的,我们需要让一个模型在不忘记的情况下持续地学习。这个机器学习的领域被称为学会学习 [36]、元学习、终生学习,或者持续学习。持续学习在最近的强化学习 (强化学习以 Google DeepMind 对通用学习代理的探索而著称) 上已经取得了成功 [37,38,39],也正在被用于序列到序列的模型上 [40]。 zero-shot 学习 最后,如果我们把迁移学习使用到极限,并且想要仅仅从很少的(一个,甚至 0 个)实例中学习,这就分别得到了 few-shot、one-shot 以及 zero-shot 学习。让模型执行 one-shot 和 zero-shot 学习,无疑属于机器学习中最艰难的问题。而另一方面,这却是我们人类天生就会的:幼年的时候,为了让我们能够认出任何狗狗,我们仅仅需要被告知一次「这是一条狗」,然而成年人可以仅通过在文中阅读就理解一个东西的本质,不需要事先见过它。 (责任编辑:本港台直播) |