“百面深度学习”系列连载 第六期

元学习的主要概念

引言

从元学习的学习过程看,它有另一个常用名叫学会学习。由于元学习可帮助模型在少量样本下快速学习,从元学习的使用角度看,人们也称之为少次学习(Few-Shot Learning)。更具体地,如果训练样本数为 1,则称为一次学习(One-Shot Learning);训练样本数为 K,称为 次学习;更极端地,训练样本数为 0,称为零次学习(Zero-Shot Learning)。另外,多任务学习(Multitask Learning)和迁移学习(Transfer Learning)在理论层面上都能归结到元学习的大家庭中。

追溯元学习的起点,几乎所有相关论文在引用早期元学习文献时,都会指向这两位大佬—— Jürgen Schmidhuber 和 Yoshua Bengio。1987 年夏,Schmidhuber 在德国慕尼黑工业大学读完本科,他的毕业论文《Evolutionary principles in selfreferential learning. (On learning how to learn: The meta-meta-... hook.)》[1] 被认为最早提出元学习的概念。随后的几年, Schmidhuber 接着在本校读博并于 1991 年博士毕业转为博后,然后在 1992 和 1993 两年里他借助循环神经网络进一步发展元学习方法。与此同时,1991 年夏,比 Schmidhuber 小一岁的 Bengio 在大西洋彼岸的加拿大麦吉尔大学拿到博士学位,并在当年发表了论文《Learning a synaptic learning rule》[2],合著者中还有他的弟弟 Samy Bengio。这篇论文提出通过学习带参函数来模拟学习大脑神经元中突触的学习法则,从优化神经网络的角度看,是把优化过程本身看成了一个可学习问题,而非一个事先定好的梯度下降算法。

问题1

元学习适合哪些学习场景,

可解决什么样的学习问题?

分析与解答

元学习适合小样本、多任务的学习场景,可解决在新任务缺乏训练样本的情况下快速学习(rapid learning)和快速适应(fast adaptation)的问题。

首先,对于小样本的单个任务,常见的机器学习模型容易过拟合,应对办法有数据增强和正则化技术,但是它们没有从根本上解决问题。人类学习不存在小样本的制约,究其本质,是因为在成长过程中我们始终面对不断到来的各种任务,如画画、写字等,它们虽不一样,但具有某些共性,如坐姿、握笔和画线,完成画画的学习任务后,我们不必回滚到娘胎自呱呱坠地起重新学习,在掌握握笔画线的基础后,我们更快地学会了写字等新任务。我们在学习一系列不同但相关的任务时,通过学习它们彼此交叉的知识点和技能点,获得举一反三的泛化能力,这种泛化能力让我们在面对新任务时变得有章可循,从而快速上手。

其次,元学习需要多个不同但相关的任务支持,每个任务都有自己的训练样本集和测试样本集,为了解决小样本新任务的快速学习问题,我们需要构造多个与新任务有相似设定的任务,它们将作为训练任务集参与元训练(meta-training)。例如,在一个图片分类任务中,我们要分类诸如东北虎、金丝猴、藏羚羊等珍稀动物,由于拍摄它们的图片实在太少,使得训练样本很匮乏。反观我们身边常见的动物,如各种猫、狗及牲畜,它们的图片有很多很多,因此我们可以在这些常见动物的图片中,随机选择一组类别构造一个常见动物的图片分类任务,同时我们可以换另一组类别构造第二个常见动物的图片分类任务。我们可以构造出很多个这样的图片分类任务,并在这些任务上做元训练,然后再在小样本的新任务上实现快速学习。

问题2

元学习与有监督学习、强化学习的区别里,

具体有哪些点?

分析与解答

我们称有监督学习和强化学习为从经验中学习(Learning from Experiences),下面简称 LFE,而称元学习为学会学习,下面简称 LTL。两者的区别有:

百面深度学习 | 第六期:元学习的主要概念

百面深度学习 | 第六期:元学习的主要概念

百面深度学习 | 第六期:元学习的主要概念

百面深度学习 | 第六期:元学习的主要概念

问题3

从理论上简要分析一下,

元学习可以帮助少次学习的原因?

分析与解答

我们先看传统的机器学习模型,常简化为根据数据点拟合一个函数的过程。根据 Blumer 在 1987 年提出的定理,我们可以估计出学习一个函数所需训练样本数的下限,即:

百面深度学习 | 第六期:元学习的主要概念

百面深度学习 | 第六期:元学习的主要概念

总结与扩展

百面深度学习 | 第六期:元学习的主要概念

[1] SCHMIDHUBER J. Evolutionary principles in self-referential learning[J]. On learning how to learn: The meta-meta-... hook.) Diploma thesis, Institut f. Informatik, Tech. Univ. Munich, 1987.

[2] BENGIO Y, BENGIO S, CLOUTIER J. Learning a synaptic learning rule[M]. Université de Montréal, Département d’informatique et de recherche …, 1990.

[3] THRUN S, PRATT L. Learning to learn[M]. Springer Science & Business Media, 2012.

下期预告

贝叶斯超参数优化

引言

超参数(Hyper-parameter)是机器学习算法的参数,与之相对应的是机器学习模型的参数(parameter)。模型的参数是需要通过训练数据集来训练的,而超参数是训练前人为指定的。在大数据时代,超参数一旦指定,我们通常就需要经过漫长的训练获得最终的模型并评估其效果。同时,调参老中医们都知道超参数对算法的评估效果影响很大。因此,如何设定超参数就成为了一个影响算法研发效率和最终质量的重要问题。

在大多数场景下,我们无法通过理论预测超参数对最终效果的影响,只能通过训练+评估来获得这个信息,因此超参数的调优是一个黑盒优化问题。同时,很多算法的超参数的个数比较多,例如对深度神经网络来说,隐藏层的层数、每层神经元的个数、**函数的种类、卷积核的大小等都是超参数。对于这种参数个数较多的黑盒优化问题,我们通常可以用领域知识去调参(瞎蒙),也可以用网格搜索或者随机搜索去调参。那么除了这些糙猛的方式以外(并不一定快),有没有什么更加优雅的调参姿势呢?答案是肯定的,一种很流行的姿势就是贝叶斯优化。

一些经验性结果表明贝叶斯优化可以用比网格搜索或者随机搜索更少的尝试次数接近最优解,甚至超过人类专家的调优效果。本节我们就来介绍一下贝叶斯优化。

问题1:贝叶斯超参数优化的流程是什么?

问题2:优化目标函数的后验分布如何计算?

问题3:如何定义获得函数?获得函数的意义是什么?

彩蛋时间~

我在刷新闻app,感慨这个世界上居然有人用Excel管理房产,对丁老师说,“这样的人还有什么追求?!” 丁老师对我说,“用map reduce管理。”

丁老师二三事

说明:“丁老师二三事”是取材于Hulu日常的虚构创作,如有雷同,您别当真~

关注Hulu公众号

你就是最爱学习的仔~

百面深度学习 | 第六期:元学习的主要概念

相关文章:

  • 2021-04-16
  • 2021-09-17
  • 2021-05-12
  • 2021-10-14
  • 2021-05-26
  • 2021-04-15
  • 2021-12-04
猜你喜欢
  • 2021-11-04
  • 2021-04-13
  • 2021-10-10
  • 2021-09-03
  • 2021-11-22
  • 2021-07-22
  • 2021-09-29
相关资源
相似解决方案