写点什么

DeepMind 提出引导式元学习算法,让元学习器具备自学能力

  • 2021-12-02
  • 本文字数:1319 字

    阅读完需:约 4 分钟

DeepMind提出引导式元学习算法,让元学习器具备自学能力

DeepMind 的一个研究小组近期提出了一种引导式(Bootstrap)的元学习算法,用于解决元优化以及短视的元目标问题,并让学习器具备自学能力。


大部分人类学会学习的过程都是应用过往经验,再学习新任务。然而,将这种能力赋予人工智能时却仍是颇具挑战。自学意味着机器学习的学习器需要学会更新规则,而这件事一般都是由人类根据任务手动调整的。

  

元学习的目标是为研究如何让学习器学会学习,而自学也是提升人工代理效率的一个很重要的研究领域。自学的方法之一,便是让学习器通过将新的规则应用于已完成的步骤,通过评估新规则的性能来进行学习。

  

为了让元学习的潜能得到全面的开发,我们需要先解决元优化和短视元目标的问题。针对这两大问题,DeepMind 的一个研究小组提出了一种新的算法,可以让学习器学会自我学习。



元学习器需要先应用规则,并评估其性能才能学会更新的规则。然而,规则的应用一般都会带来过高的计算成本。

  

先前的研究中有一个假设情况:在 K 个应用中实施更新规则后再进行性能优化,会让学习器在剩余生命周期中的性能得到提升。然而,如果该假设失败,那么元学习器在一定周期内会存在短视偏见。除此之外,在 K 个更新之后再优化学习器的性能还可能会导致其无法计算到学习过程本身。

  

这类的元优化过程还会造成两种瓶颈情况:

  • 一是曲率,元目标被限制在学习器相同类型的几何范围内。

  • 二是短视,元目标从根本上被局限在这个评估 K 步骤的平面里,从而无视掉后续的动态学习。

  

论文中提出的算法包括了两个主要特征来解决这些问题。首先,为减轻学习器短视的情况,算法通过 bootstrap 将动态学习的信息注入目标之中。至于曲率问题,论文是通过计算元目标到引导式目标的最小距离来控制曲率的。可以看出,论文中提出的算法背后的核心思想是,让元学习器通过更少的步骤来匹配未来可能的更新,从而更效率地进行自我学习。

  

该算法构建元目标有两个步骤:

  1. 从学习器的新参数中引导一个目标。在论文中,研究者在多个步骤中,依据元学习器的更新规则或其他的更新规则,不断刷新元学习器的参数,从而生成新的目标。

  2. 将学习器的新参数,或者说包含元学习器参数的函数,与目标一同投射到一个匹配空间中,而这个匹配空间简单来说可以是一个欧几里得参数空间。为控制曲率,研究者选择使用另一个(伪)度量空间,举例来说,概率模型中的一个常见选择,KL 散度(Kullback-Leibler divergence)。


引导式元梯度


总体来说,元学习器的目的是最小化到引导式目标的距离。为此,研究团队提出了一种新颖的引导式元梯度(BMG),在不新增反向传播更新步骤的情况下将未来动态学习的信息注入。因此,BMG 可以加快优化的进程,并且就如论文中展示的一样,确保了性能的提升。


研究团队通过大量的实验测试了 BMG 在标准元梯度下的性能。这些实验是通过一个经典的强化学习马尔可夫决策过程(MDP)任务,学习在特定期望下达到最优值的策略进行的。


非稳态网格世界(第5.1节)左:在超过50个随机种子之中,演员-评价者代理下的总回报对比。右:学习的熵值-正则化的时间表。


在Atari ALE[8]的57种游戏中,人类得分标准化。左:2亿帧时,对比BMG与我们实现的STACX*的赛前得分。右:对比公布的基准线与学习得分中位数。阴影部分表示3个随机种子之间的标准偏差。


Atari的消融实验。左:人类标准化得分分解,优化器(SGD,RMS),匹配函数(L2,KL,KL&V),以及引导式步骤(L)。BMG在(SGD,L2,L=1)的情况下与STACX相同。中:不同L下吃豆人关卡返回。右:在57种游戏中关卡返回的分布,按照平均值和标准偏差对每种游戏进行标准化处理。所有结果均为三个独立随机种子,1.9-2亿帧之间观察所得。


在评估中,BMG 在 Atari ALE 的基准测试中展现了大幅度的性能改进,到达了全新的技术水平。BMG 同样改善了在少数情况下模型诊断元学习(MAML)的表现,为高效元学习探索开拓了新的可能性。


论文地址:https://arxiv.org/abs/2109.04504

原文链接:DeepMind’s Bootstrapped Meta-Learning Enables Meta Learners to Teach Themselves

2021-12-02 10:381781

评论

发布
暂无评论
发现更多内容

Golang领域模型-实体

奔奔奔跑

架构 微服务 领域驱动设计 DDD Go 语言

以大数据为依托提升基层治理效能

CECBC

大数据 信息化管理

重新学习了一遍ThreadLocal

熊斌

学习

从一段 Dubbo 源码到 CPU 分支预测的一次探险之旅

yes

dubbo cpu

不使用Raft算法,就能简单做集群leader选举

架构师修行之路

分布式 架构师

不草率,你只管下载资料,剩下的交给「哇哦」

小Q

Java 学习 架构 面试 分布式

认证、授权、鉴权和权限控制

哈库拉玛塔塔

spring security 用户权限 鉴权 权限

为什么每个微服务要有自己独立的数据库?

码猿外

数据库 架构 微服务

oeasy教您玩转 linux 010212 管道 pipe

o

区块链激励层——区块链生态建设的驱动力量

CECBC

区块链技术 驱动力量

week11--作业

Geek_165f3d

我们该怎么保护手机屏幕前的父母?

徐说科技

手机 短视频

Go: 理解 Sync.Pool 的设计

陈思敏捷

sync sync.pool pool Go 语言

布式系统消息异常该何去何从

架构师修行之路

分布式 异步

计算机的时钟(三):向量时钟

ElvinYang

LeetCode 169. Majority Element

liu_liu

算法 LeetCo

企业中台化落地:从战略分析到战术实践及架构演进过程

Barry的异想世界

架构设计 策略模式 模板方法模式 中台架构 领域驱动设计DDD

Spring Security 主要类解释

哈库拉玛塔塔

springsecurity

华为与第四范式,正在酝酿一个帮企业跳出AI悖论的“秘密计划”

脑极体

我理解的面向对象(ObjectiveSql 实践)

Braisdom

Java ORM框架 ORM

SpringCloud轻松集成Dubbo实现RPC调用

Barry的异想世界

微服务 dubbo nacos RPC spring cloud alibaba

记录问题 INSERT INTO table ... SELECT ... FROM dual WHERE not exists (...)问题

转山转水

sql SQL语法 sql查询

金沙账号审核不通过维护不给提现风控怎么回事?怎么办

过山太阳

内容审核 提现不了

区块链应用层——生态体系的上层建筑

CECBC

区块链技术 生态体系

spark总结

纯纯

浮点数的秘密

C语言与CPP编程

c c++ 编程语言 浮点数

Java四种引用类型:强引用、软引用、弱引用、虚引用

简爱W

HashMap将cpu打满始末

hashmap 线程安全 cpu 100% cpu飙满

【高并发】面试官:讲讲什么是缓存穿透?击穿?雪崩?如何解决?

冰河

缓存 穿透 击穿 雪崩 签约计划第二季

一文带你了解微服务架构和设计(多图)

Phoenix

架构 分布式 微服务

CString 类的线程不安全问题

C语言与CPP编程

c c++ 编程语言

DeepMind提出引导式元学习算法,让元学习器具备自学能力_AI&大模型_Hecate He_InfoQ精选文章