博客 | DeepMind 开源TRFL,又一个强化学习复现、创新好帮手

雷锋网 AI 科技评论按:继今年 8 月谷歌开源发布了专为学术研究人员设计的简单但鲁棒的强化学习框架「多巴胺」(Dopamine)之后,早已被谷歌母公司收购但保持独立运营的 DeepMind 也把自己日常使用的代码库拿出来开源,继续为领域内的研究人员们提供功能丰富、高可复现性及高可拓展性的实验工具。雷锋网 AI 科技评论介绍如下。

今天 DeepMind 宣布开源一个用于在 TensorFlow 环境中开发强化学习智能体的代码库,打包了许多有用的基础组件。它的名字是 TRFL(读作「truffle」),地址是 https://github.com/deepmind/trfl/ 。DeepMind 自己用来开发 DQN、DDPG 以及 IMPALA(重要性加权行动者-学习者架构)等知名强化学习技术的许多关键算法组件都包含在其中。

另一种开源路线

一个典型的深度强化学习智能体需要包含一组数目众多的互动组件:首先起码需要包括一个环境以及某种能表示值或者策略的深度神经网络,然后很多时候还会包含学习到的环境的模型、伪反馈函数甚至一个回放系统等等。

这些组件互相之间的影响很微妙(而且如 Henderson 和他的同事在 https://arxiv.org/pdf/1709.06560.pdf 中指出,论文中常常并不会详细说明这些影响是怎么样的),从而当计算图变得很大的时候一旦出现 bug 就很难进行定位并解决。OpenAI 近期的一篇博客也着重研究了这个问题,他们分析了某些最热门的强化学习智能体的开源实现,发现 10 个中的 6 个都「由社区成员发现了微小的 bug 并得到了作者本人的确认」。

要解决这种问题,并帮助整个研究社区中的人顺利复现论文中的结果,其中一种方法就是开源智能体的全套完整实现。比如,DeepMind 最近就开源了基于 IMPALA 的 v-trace 智能体的可拓展分布式实现。这种大规模的代码库对于研究结果的复现固然有帮助,但同时也难以修改并拓展。

另一种有所不同并且能起到补充作用的方法是提供可靠的、经过充分测试的通用基础组件的实现,同一个构件也就可以在许多不同的强化学习智能体中反复使用。另一方面,在单个代码库中囊括了所有这些组件的抽象,然后可以用统一的 API 调用,也就让研究人员可以更方便地组合不同文献中阅读到的不同的想法。

全功能的基础组件

TRFL 库包含了许多功能,可以实现经典强化学习算法以及更现代的算法。其中的损失函数以及许多其他操作都是完全在 TensorFlow 中实现的。它们并不是完整的算法,而是构建具有完整功能的强化学习智能体时必要的、也是强化学习专用的数学操作的代码实现。

对于基于值的强化学习,DeepMind 的研究人员们也在 TRFL 库中提供了各种 TensorFlow 操作,便于在离散的行动空间中学习,比如 TD 学习、Sarsa、Q-learning 以及它们的变体;当然也包括了用于实现 DPG 之类的连续控制算法的操作。TRFL 库中还包括了学习值分布函数的操作。这些操作支持批量计算,并且返回的损失值可以送入 TensorFlow 优化器进行最小化。有一些损失值是针对不同的批之间的变化进行计算的(比如 Sarsa 和 Q-learning 等),也有一些损失是针对成批的轨迹的(比如 Q-lambda、Retace 等)。

对于基于策略的方法,TRFL 库中也同时提供了可以简易实现 A2C 等在线学习方法以及 v-trace 等离线策略校正方法的工具。TRFL 也支持连续动作空间中的策略梯度的计算。最后,TRFL 还提供了一个 Unreal 引擎中使用的辅助伪反馈函数的实现,DeepMind 的研究人员发现它能在许多不同的任务中提高数据效率。

宣告开源显然并不是这个项目的终点。由于这个库在 DeepMind 内部有着广泛的应用,他们也会持续不断地对它进行维护,并逐步增加新的功能。DeepMind 也非常期待强化学习社区中的更多人也参与到这个项目的贡献中来。

via deepmind.com,雷锋网 AI 科技评论编译

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2018-10-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

利用好奇心做稀疏反馈任务的学习

AI 科技评论按:近期,Unity 发布了版本 0.4 的机器学习智能体工具包(ML-Agent toolkit v0.4),其中最为突出的新功能是通过额外的基...

9920
来自专栏AI研习社

博客 | 「压缩」会是机器学习的下一个杀手级应用吗?

雷锋网AI 科技评论按:机器学习的研究正进行的如火如荼,各种新方法层出不穷。尽管这样,还有一个问题摆在面前,研究这些算法对于现实有什么用。特别是当讨论起机器学习...

8640
来自专栏大数据文摘

只需看一眼,伯克利最新机器人就可以copy你的动作!

通过观察另一个人的做法来学习一项新技能,即模仿的能力,是人类和动物智力的关键部分。我们能让机器人做同样的事情吗?

8400
来自专栏Material Design组件

About Face 4 第三章(下)构造人物模型

287120
来自专栏专知

【论文推荐】最新六篇用户建模精选论文推荐—深度多模态融合、跨平台、时序性RNN、ATRank、嵌入因子分解、异构信息网络

【导读】专知内容组整理了最近六篇用户建模相关文章,为大家进行介绍,欢迎查看! 1. User Profiling through Deep Multimodal...

92760
来自专栏AI科技评论

动态 | 谷歌也发布了Web前端机器学习库,就叫deeplearn.js

AI 科技评论按:在人工智能时代,不管是音箱、手机、汽车、app,自家产品没有用上深度学习都不好意思跟别人打招呼;另外,谷歌和 Facebook 都分别在 Te...

36560
来自专栏AI派

一文告诉你什么是用户画像

做推荐系统的时,我们需要了解我们的用户,也就是说需要对用户的基本情况、基本喜好有个了解。

46550
来自专栏王晔的专栏

小流量 AB 测试能做吗?能!

AB测试对于产品和运营优化的重要性有目共睹。为了能更快的得到试验结果,试验流量越大越好。但是当流量不够的时候怎么办呢?小流量AB测试能不能做?能!那么,怎么做?...

31100
来自专栏专知

【KDD2018】300页文本知识提取与推断最新教程

【导读】高度结构化的文本使得文本知识的抽取和推断来的很容易,但是人类所遇到的大部分知识表达形式都是非结构化的文本信息,如何在非结构化的文本中有效地抽取知识一直是...

16230
来自专栏PPV课数据科学社区

入行AI最需要的五大技能

摘要: 作为一名软件工程师,我们应该活到老学到老,时刻与不断发展的框架、标准和范式保持同步。同时,还要能活学活用,在工作中使用最合适的工具,以提高工作效率。随着...

45170

扫码关注云+社区

领取腾讯云代金券