DeepMind 开源其 AI 项目的关键算法组件:TRFL
Alphabet公司旗下的AI研究部门DeepMind科技有限公司现在与全世界分享更多的工作成果。
该部门今天开源了一系列“关键算法组件”,这些关键组件源于它所谓的一些最成功的AI项目,用于内部众多最成功的代理,比如DQN、DDPG和重要性加强的操作者-学习者架构(IMPALA)。这个库名为TRFL(念成“truffle”),包含的实用构建模块用于用TensorFlow编写强化学习代理,旨在帮助研究人员开展使用强化学习的项目,而强化学习是一种训练神经网络的流行方法。
强化学习实际上是一种利用反复试验(又叫试错法)来改进算法准确性的方法。只要AI在训练环境中做出正确的决定,它就会得到一种虚拟奖励,这让神经网络的发展保持在正确的轨道上。
TRFL包括实现了依赖强化学习的算法经常使用的数学运算。它们与DeepMind所说的可以执行更“前沿”计算的组件配合使用,还与其他各种构建模块配合使用,包括确保AI训练过程顺利进行的工具。
整个库可在Alphabet旗下的谷歌公司创建和开源的大受欢迎的TensorFlow深度学习引擎上运行。研究人员可以通过应用编程接口(API)与TRFL进行交互;据DeepMind声称,API使得内部组件与其他来源的技术和概念结合起来相对简单。
该部门在这个库方面的目标不仅仅是简化个别的强化学习项目。TRFL是DeepMind的一个更宏大的项目(为AI研究人员开发可供利用的通用构建模块)的一部分;正是在这个项目的指导下,这些年来,该部门陆续开源了其他内部软件。
基本想法是,如果同样的组件可在不同的项目中重复使用,研究人员将更容易重现同行的工作。能够更严密地复制AI项目的参数,这反过来会促进调试工作。据DeepMind声称,外部审查人员在识别影响神经网络或相关组件的缺陷方面常常扮演重要的角色。
一个典型的深度强化学习代理包括大量彼此交互的组件:至少,这些组件包括环境和代表值或策略的某个深度网络,但它们还常常包括环境的学习模型、伪奖励函数或回放系统等组件。
该部门称:“这些组件往往以微妙的方式进行交互(常常没有在论文中加以详细记录,亨德森及同仁阐述了这个问题https://siliconangle.com/2018/10/17/alphabets-deepmind-open-sources-key-building-blocks-ai-projects/),因而很难在如此庞大的计算图中找出缺陷。OpenAI去年的一篇博文(https://blog.openai.com/openai-baselines-dqn/)着重阐述了这个问题,当时它分析了一些最受欢迎的用开源技术实现的强化学习代理,结果发现10个代理中有6个存在小小的缺陷,社区成员发现了这些缺陷,开发者也证实了这些缺陷。”
解决这个问题,并帮助试图从论文中重现结果的研究人员的一个方法是通过开源完整的代理实现。比如说,DeepMind对于v-trace代理的可扩展分布式实现就是这么做的。这些庞大的代理代码库对于重现研究大有用处,但也很难改动和扩展。而一种不同的补充性方法是提供通用构建模块的可靠的、经过充分测试的实现,它们可用于众多不同的强化学习代理。此外,借助一致的API,用单单一个库将这些核心组件抽取出来,更容易结合来自许多不同刊物的思路。
TRFL库包括实现经典强化学习算法和更先进技术的函数。这里提供的损失函数及其他运算用纯粹的TensorFlow来实现。它们并不是完整的算法,而是构建功能完备的强化学习代理时所需的针对特定强化学习的数学运算的实现。
TRFL可在GitHub上获得(https://github.com/deepmind/trfl/)。它为DeepMind和Alphabet近年来发布的一长串开源项目增添了另一项。
- 点赞
- 收藏
- 关注作者
评论(0)