十三 发自 凹非寺
量子位 报道 | 公众号 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包的安装和训练可以使用如下代码运行:
tvt/run.sh
运行实验
启动:
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
原文链接:https://blog.csdn.net/QbitAI/article/details/103331542