2021-06-29

元学习


        起源于 2017 年 NIPS 会议上加利福尼亚大学伯克利分校教授彼得·阿贝尔(Pieter Abbeel)的一场报告,报告的专题是【元学习】,提出元学习可以大大缩短训练时间,可以解决一些非常棘手的学习问题。
        元学习是让 AI 学习很多类似的任务,使用已经在许多其他非常类似的任务中训练的模型,在面对类似的新任务时,仅仅使用少量训练样例就可有效地学习。它通常用于解决「One Shot Learning」问题,即在训练样本很少,甚至只有一个样本的情况下,依旧能进行预测。
        元学习系统中通常有两种学习者:基础学习者(或快速学习者)和元学习者(或慢学习者)。基础学习者在快速更新的任务中接受训练;元学习者在与任务无关的多元空间中运行,其目标是跨任务传递知识(「知识迁移」)。在许多情况下,基础学习者和元学习者可以使用相同的学习算法。
        通过这种双层架构,元学习能够学会「如何学习」。具体办法就是先用各种各样的任务训练网络,当它学会了几百个任务(如识别了 500 幅不同主题的图片),再做下一个任务(如识别第 501 幅图片)时,就十分容易了。用这 500 幅图片进行识别任务训练时,要做完一个丢弃一个(相当于遗忘一个)。神经网络不是学习具体某个知识,而是学会这些任务的共同特征。例如,让 AI 解决许多迷宫问题,学会走出迷宫之后,即使再进入新的迷宫,也可以很快计算出如何快速离开。元学习将学习任务视为学习范例。

下面介绍两种比较典型的元学习算法。

模型不可知元学习
深度强化学习是基于强化学习的很有前景的算法,已经被有效地用于机器人智能操作,但是在算法实现时反应速度还太慢。为了缩短深度强化学习的学习时间,加利福尼亚大学伯克利分校的研究人员在 2017 年提出了一种模型不可知元学习(Model-Agnostic Meta-Learning,MAML) [198] 方法。通过引用多个任务来对相同结构的神经网络进行训练,如果只学习几次即可获得权重的初始值,则该权重就成为训练完成后每个不同任务的神经网络的权重。使用这种方法时,可以根据情况将神经网络的权重初始值设置为可以对应于具有轻微变化的不同任务的值,成为在不同任务中共同使用的动作元素。

这种元学习方法适用于任何用梯度下降法训练的模型,其关键思路是训练模型的初始参数值。对于新任务来说,有个相对于参数的损失函数,要把这个损失函数的灵敏度提高。高灵敏度意味着参数的微小变化可能导致损失的明显改善。通过这些参数,可以简单地模拟模型,从而在只具有少量训练样例的新任务中表现良好。

元学习方法后来也有了不少改进版本,如元网络,可以在不同的时间尺度上更新权重。元学习方法中的元级别信息缓慢更新,而任务级权重在每个任务的范围内进行更新。

MAML 方法已经用在了真实的机器人身上。研究人员对机器人先进行多次跑步训练,然后它们得到「初始值」,就是机器人在原地跑步,即它知道如何跑,只是不知朝哪个方向跑。一旦新任务下达,它就会马上朝新任务定义的方向跑。这就大大增强了学习的速度和系统敏捷度。

元学习共享分层
另一种元学习算法是元学习共享分层(Meta Learning Shared Hierarchies,MLSH) [199] ,其架构如图 11.2 所示,分为主策略和子策略两个层次:主策略针对单个任务,子策略针对任务共有的动作元素。
在这里插入图片描述

MLSH 方法的子策略学习各种任务通用的动作要素,把一组子策略先训练好以供挑选。当处理新任务的学习时,主策略根据传感器值输出子策略选择概率,可立即找出一组强大的子策略,然后通过更新主策略来处理新任务的学习。因此,子策略相当于一组工具,而主策略借助一组工具即可完成新任务。这是基于分层强化学习的思想,智能体将复杂的操作表示为一个高级操作的简短序列。这样的智能体可以解决更难的任务:解决方案可能需要 1000 个低级别的操作,但分层策略将其转换为 10 个高级操作的序列,这比搜索 1000 步序列的效率高多了。因此,它可以达到快速学习的目标,仅凭主策略的学习即可快速解决问题。

快速学习是人类智能的标志,无论是从几个例子中识别物体还是在几分钟内快速学习新技能。真正的 AI 应该能够做同样的事情,只从几个例子中快速学习和适应,并在更多数据可用的时候能够继续适应和处理。

这种快速、灵活的学习具有挑战性,因为必须将其先前的经验与很少量的新信息相结合,同时避免过度使用新数据。此外,先前经验和新数据的形式将取决于任务。因此,为了达到最大的适用性,学习(或元学习)的机制应该具备任务形式和计算形式的通用性。

与 MAML 类似,MLSH 也已在机器人领域得到应用。走入迷宫的 MLSH 机器人能发现各种子策略,即向前、向后、向左、向右这 4 个不同的移动方向,然后自己导航走出迷宫。如果让机器人再走一遍另外的迷宫,它同样可以很快走出来。

最近几年,在最初的元学习算法基础上,又有很多研究人员发表了改进的元学习版本及相关论文。这些改进包括从存储器访问的架构上改进元学习、把优化问题看作「元优化」来作为元学习的一种类别、使用 LSTM 来实现元学习、扩展型 MAML 等。这些研究成果和论文反映了在 DNN 的背景下,学术界对元学习有了新的认识和创新。

元学习有点类似于 AI 进化算法(见第 9 章)。大自然的生物通过一代代的进化来优化物种,基于这种思路的 AI 算法曾经广泛应用在优化领域。元学习也是通过一次次的训练来达到优化算法的目的,但它是有引导的精准训练,而不是进化算法里使用的随机方法,这是一个最大的区别。

终身学习
在最新的 AI 算法中,与元学习密切相关的是终身学习(Life-long Learning)算法。该算法通过积累过去获得的知识而不断学习,然后用在未来的学习和问题解决中。然而,当前主流的深度学习范式是孤立学习的:给定训练数据集,在此数据集上运行深度学习算法以生成模型,然后将其用于所需要的应用。它不试图保留所学到的知识并将其用于后续学习。

与深度学习 AI 系统不同,人类仅通过几个例子就能进行有效的学习,这恰恰是因为人类的学习是知识驱动的:过去所学的知识可以帮助人类以很少的数据或精力来学习新事物。终身学习算法的目的就是模仿人类的这种学习功能,从而使 AI 系统的智力水平有所提高。

在现实生活中,大多数时候人们会期望许多新任务从根本上与旧任务不同。而终身学习没有这个假设,它会选择适用于新任务的先前知识。终身学习方法是持续学习过程,明确进行知识保留和积累,并使用先前学到的知识来帮助学习新任务。此外,终身学习还能够发现新任务并逐步学习它们,并在现实应用中学习其他知识以改进模型。

其他比较受关注的还有迁移学习和多任务学习范式。这两种范式都涉及跨领域或跨任务的知识迁移,但它们不会持续学习,也不会明确地保留或积累学到的知识,构建可以处理数百万个任务并学会自动完成新任务的深度学习系统要面临巨大的挑战。

而元学习通过大量任务训练元模型,只需几个例子即可快速适应新任务。但是,大多数元学习技术的一个重要前提是,新任务要与所训练过的任务来自同一类别(如训练识别猫、狗的图片之后,新任务也是识别图片),这是一个致命的弱点,限制了其应用范围。

用类脑芯片实现元学习
如前所述,元学习是一种带有「学会如何学习」功能的算法,这种功能已经被奥地利和德国的大学研究人员使用类脑芯片(见第 5 章)实现 [200] 。通常,类脑芯片的超参数和学习算法需要人工选择,以适应新的特定任务。相比之下,大脑神经元网络是通过广泛的进化和发展过程进行优化的,可以在一系列计算和学习任务中发挥作用。这个过程有时可以通过遗传算法模拟,但需要人工设计细节,并只能提供有限的改进。

元学习这种「学会如何学习」的功能特别适合类脑芯片架构。在类脑芯片上模拟的脉冲神经元通常表现出会加速的动态特性。研究人员采用了强大的无梯度优化工具,如交叉熵方法和进化策略,将生物优化过程的功能移植到类脑芯片中。结果显示,这些优化算法使神经形态智能体能够非常有效地从奖励中学习。

特别要指出的是所谓的元可塑性,即算法所使用的学习规则的优化,这实质上增强了硬件基于奖励的学习能力。奥地利和德国的大学研究人员首次展示了从这种芯片中「学习如何学习」的好处,特别是从先前的学习经验中提取抽象知识的能力,这加速了对新的相关任务的学习。同时,「学会如何学习」的功能本身也可以加速类脑芯片,因为这样它可以执行所需的大量网络计算,从而释放类脑芯片的全部潜力。

这种元学习 AI 芯片采用一种数模混合信号设计,具有用于神经元和突触、基于脉冲的连续时间通信的模拟电路,以及一个嵌入式微处理器,由台积电以 65nm 工艺的 CMOS 来实现。它把 32 个神经元连接到 32×32 的突触交叉开关阵列,使每个神经元可以接收来自 32 个突触列的输入。突触权重设置为 6 位精度,并且可以按行配置以提供兴奋性或抑制性输入。突触具有局部短期可塑性和长期可塑性,由嵌入式微处理器实现。

这类利用元可塑性设计的类脑芯片的成功,为今后更好地实现元学习、迁移学习、终身学习等范式的 AI 芯片作了一次很好的尝试。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值