前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >离人类更近一步!DeepMind最新Nature论文:AI会“回忆”,掌握调取记忆新姿势

离人类更近一步!DeepMind最新Nature论文:AI会“回忆”,掌握调取记忆新姿势

作者头像
量子位
发布2019-12-05 15:57:24
3900
发布2019-12-05 15:57:24
举报
文章被收录于专栏:量子位量子位
十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI

每年春节,只要在饭桌上,七大姑八大姨曾对你“殷切关怀”的情景便会历历在目。

对人类来说,记住一些东西并能回忆起来,是件司空见惯的事情。

而现在,连 AI 智能体都能做到这点了!

人类对过往的事情可以做出理智的判断,并基于这样的判断,对未来做出决策。

但对于智能体来说,就涉及到判断对过去行为的价值评估(评估信用分配)的问题。

但现有的评估信用分配的方法,无法解决与结果存在长时间间隔的任务。

简单来说,就是未来不可期

DeepMind便提出了一种方法,让智能体也够在它的“记忆”里来个时间旅行

近日还登上了Nature Communication。

这个方法其实是一种范式

它能让智能体使用特定的记忆,来信任过去的行为,并对未来做出正确的决策。

该方法也得到了网友们的认可。

很不错的一项工作,我认为向前迈了一大步。

时间旅行的概念很有意思,尤其是与我们自己以及环境提供的记忆相关时。

这项工作的影响或许不仅于此,正如DeepMind所述:

范式拓宽了AI研究的范畴,并提供了可能激发神经科学、心理学和行为经济学模型的机械行为解释。

如何让智能体“未来可期”?

为了做到这一点,首要的工作就是形式化任务结构

主要包括2种类型。

图1:任务设置和重构记忆智能体(RMA)

图1(a)就是两种类型的任务,每个任务都有3个阶段。

图1(a)

第一种任务(信息获取任务)中:

在P1阶段,智能体必须在没有即时奖励的情况下探索一个环境以获取信息; 在P2阶段,智能体在很长一段时间内从事一项不相关的干扰任务,并获得了许多附带的奖励; 在P3阶段,智能体必须利用P1中获取的信息获取远端奖励(distal reward)。

第二种任务中(因果任务)中:

在P1阶段,智能体必须采取行动触发 P1中仅具有长期因果关系的某个事件; 在P2阶段,同样是一个干扰任务; 在P3阶段,为了取得成功,智能体必须利用 P1活动引起的环境变化来获得成功。

由于提出的解决方案的一个关键组成部分涉及记忆编码和提取,研究人员将这三个阶段分别视作:

P1→动作和记忆提取; P2→干扰物(distractor); P3→经验(exploitation)。

在研究这种结构的完整任务之前,考虑一个更简单的任务。

DeepMind的研究人员把它称作“被动视觉匹配(Passive Visual Match )”,如图1(b)所示。

图1(b)

这是一个被动的过程,也就是说,智能体不用采取任何主动的措施去采集信息,就好像一个人在街上走路,不经意间就观察到了某些信息一样。

每个片段的开头都会面对一个走廊,走廊面朝着墙壁,墙上画着一个颜色随机的正方形。

在t=0的时候,就对应于上述任务结构中的P1阶段,只是不需要实现任何目标。

在t=125的时候,智能体被转移到另外一个空间,它在这里会采集30秒的苹果,这就相当于干扰,也就是任务结构中的P2阶段。

在t=526的时候,智能体再次被转移到别的空间,也就是对应于任务结构的P3阶段。这里的墙面有4个不同颜色的方形,若是智能体能够走到和第一个空间中颜色相同的方形面前,那么他就会获得远程奖励。

当然,远程奖励远远小于总干扰奖励。

接下来,为了解决上述的任务,研究人员使用了一个AI智能体,命名为RMA(Reconstructive Memory Agent)。如图1(c)所示。

图1(c)

这个模型的关键是结合了一个重构过程,压缩了有用的感官信息和记忆存储。

RMA本身没有为LTCA提供服务的专门功能,但是为TVT算法的操作提供了基础。

在进行被动视觉匹配训练时,所有的智能体都能成功完成苹果采集任务,但只有RMA学习到了如何在P3中选择P1中所见的方形颜色来获得远端奖励,如图1(d)所示。

图1(d)

在图1(e)中,可以看到RMA在t=256的时候,所产生的一个注意力权重向量wt,可以与P3的初始阶段相对应。

图1(e)

不仅如此,RMA除了能够顺利完成这项任务。在诸如CIFAR images30中,RMA也能够做出正确匹配的选择(如补充图所示)。

补充图

代码已开源

这项工作的代码已经在GitHub开源。

安装

TVT包的安装和训练可以使用如下代码运行:

代码语言:javascript
复制
tvt/run.sh

运行实验

启动:

代码语言:javascript
复制
source tvt_venv/bin/activate
python3 -m tvt.main

Important flags

tvt.main可以接受许多flag。

Information logging logging_frequency:logging控制台和tensorboard的频率 logdir:用于tensorboard logging的目录

Agent configuration with_memory:默认为True。判断智能体是否有外部内存。若为False,则智能体只有LSTM内存。 with_reconstruction:默认为True。 gamma:智能体贴现因子。 entropy_cost:熵损失权重。 image_cost_weight:图像重构损失权重。 read_strength_cost:用于调整内存访问。

更多开源代码信息,详情见文末GitHub链接。

传送门

Nature: https://www.nature.com/articles/s41467-019-13073-w

GitHub: https://github.com/deepmind/tvt

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何让智能体“未来可期”?
  • 代码已开源
    • 安装
      • 运行实验
        • Important flags
        • 传送门
        相关产品与服务
        日志服务
        日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档