迁移学习和元学习有什么区别?

人工智能 机器学习 深度学习 比较 迁移学习 元学习
2021-10-18 01:04:46

元学习和迁移学习有什么区别?

我已经阅读了 2 篇关于QuoraTowardDataScience的文章。

元学习是机器学习理论的一部分,其中一些算法应用于有关案例的元数据以改进机器学习过程。元数据包括所用算法的属性、学习任务本身等。使用元数据,可以更好地决定选择的学习算法,从而更有效地解决问题。

迁移学习旨在利用通过解决前人问题获得的经验来改进学习新任务的过程,这些问题有些相似。在实践中,大多数时候,机器学习模型旨在完成一项任务。然而,作为人类,我们利用过去的经验不仅在未来重复相同的任务,而且还学习全新的任务。也就是说,如果我们试图解决的新问题与我们过去的一些经验相似,那么对我们来说就变得更容易了。因此,为了在机器学习中使用相同的学习方法,迁移学习包括迁移一个或多个源任务的过去经验并利用它来促进相关目标任务中的学习的方法。

这些比较仍然让我感到困惑,因为两者在可重用性方面似乎有很多相似之处。元学习被称为“模型不可知论”,但它使用来自先前学习任务的元数据(超参数或权重)。迁移学习也是如此,因为它可以部分重用经过训练的网络来解决相关任务。我知道还有很多要讨论的内容,但是从广义上讲,我认为两者之间没有太大区别。

人们还使用诸如“元迁移学习”之类的术语,这让我认为这两种类型的学习彼此之间有很强的联系。

我也发现了一个类似的问题,但答案似乎彼此不一致。例如,有人可能会说多任务学习是迁移学习的一个子类别,而其他人可能不这么认为。

3个回答

元学习更多的是关于加速和优化根本没有训练的网络的超参数,而迁移学习使用已经为某些任务训练过的网络,并重用该网络的部分或全部来训练新任务,即比较相似。因此,尽管它们在一定程度上都可以在任务之间使用,但在实践和应用中它们完全不同,一个尝试优化模型的配置,另一个简单地重用已经优化的模型,或者部分至少它。

首先,我想说这些术语的使用可能不一致,因为至少迁移学习,AFAIK,是一个相对较新的表达,所以,一般的技巧是使用术语、符号和定义一粒盐。但是,在这种情况下,尽管您可能会感到困惑,但此页面上的所有当前描述(在您的问题和其他答案中)似乎与我的知识不一致。事实上,我想我已经大致阅读了一些被引用的研究论文(例如 MAML 论文)。

粗略地说,虽然你可以有正式的定义(例如 MAML 论文中的定义,也可以在这个答案中描述),这可能在各个来源之间并不完全一致,但元学习是关于学习学习或学习你通常不知道的东西' t 直接学习(例如超参数),其中学习大致是优化的同义词。其实元学习中“元”这个词的意思是

表示更高或二级的东西

例如,在训练神经网络的上下文中,您希望找到一个近似某个函数(由数据集表示)的神经网络。为此,通常,您手动指定优化器、其参数(例如学习率)、层数等。因此,在这种通常情况下,您将训练一个网络(学习),但您不会知道您设置的超参数是最合适的。所以,在这种情况下,训练神经网络就是“学习”的任务。如果您还想学习超参数,那么从这个意义上说,您将学习如何学习。

元学习的概念在强化学习中也很常见。例如,在论文Metacontrol for Adaptive Imagination-Based Optimization中,他们甚至形式化了元马尔可夫决策过程的概念。如果你读过我很久以前写的那篇论文,你就会明白他们在谈论更高阶的 MDP。

总而言之,在机器学习的背景下,元学习通常是指学习一些你通常不会在标准问题中学习的东西,或者正如上面元的定义所暗示的那样,执行“高阶”学习。

迁移学习通常被用作微调的同义词,尽管情况并非总是如此。例如,在这个 TensorFlow 教程中,迁移学习用于指代冻结(即使参数不可训练)模型的卷积层的场景M在数据集上预训练A,替换模型的预训练密集层M在数据集上A为新任务/数据集添加新的密集层B,然后通过调整这个新密集层的参数,在新数据集上重新训练新模型B. 还有一些论文将两者区分开来(尽管我现在不记得是哪些了)。如果你把迁移学习当作微调的同义词,那么粗略地说,迁移学习就是使用一个预训练好的模型,然后在一个新的但相关的任务(对预训练模型最初训练的任务),但您不一定要冻结任何层。因此,在这种情况下,微调(或迁移学习)意味着将预训练的模型调整到新的数据集(或任务)。

迁移学习(作为微调)和元学习有何不同?

元学习在某种程度上是关于微调的,但不完全是迁移学习的意义,而是超参数优化的意义。还记得我说过元学习可以是关于学习你通常不会学习的参数,即超参数吗?当您执行超参数优化时,人们有时将其称为微调。因此,元学习是一种执行超参数优化并因此进行微调的方法,但不是在迁移学习的意义上,它可以粗略地认为是重新训练一个预训练的模型,但在不同的任务上使用不同的数据集(例如较小的学习率)。

总而言之,对术语、符号和定义持保留态度,即使是本答案中的那些。

差异实际上归结为在元学习中存在大量任务这一事实τ有分布的p(τ). 目标是在任务中表现出色p(τ). 通常“表现良好”意味着只需几个训练步骤或数据点,该模型就可以提供良好的分类准确率,在 RL 设置中获得高回报等。

原始 MAML 论文1中给出了一个具体示例,其中任务是对由带有参数的正弦分布给出的数据执行回归p(θ). 元学习的目标是在数据来自分布的任务上获得高回归精度p(θ).

相比之下,迁移学习更通用一些,因为不一定有任务分配的概念。通常只有一个(尽管可以有更多)源问题S, 目标是在目标问题上做得很好T. 你明确地知道这两个,不像在 MAML 中,目标是在从某个分布中提取的任何未知问题中做得很好。很多时候,这是通过采用一个表现良好的模型来执行的S并使其适应工作T,也许通过使用从模型中提取的特征S.

这将成功的程度显然取决于两个任务的相似性。这在文献中也被称为域适应,并且有一些理论结果2,尽管边界并不真正适用于现代高维数据集。

  1. 用于快速适应深度网络的模型无关元学习(Finn et al) 2017。

  2. 从不同领域学习的理论(Ben-David 等人)2010。