【IT168 资讯】构建深度强化学习(DRL)系统仍然是一个非常大的挑战——作为深度学习领域的一门新兴学科,可用于实现DRL模型的框架和工具仍然处于起步阶段。此外,DRL领域的关键创新大多来自大型人工智能实验室,如DeepMind、Facebook或谷歌。大约一年前,Facebook开源了一个专注于简化DRL解决方案实现的框架Horizon。经过一年的使用和大规模DRL系统的实践后,Faceboo近期又开源了ReAgent,一个新的框架,实现了对原有Horizon的拓展,成为一个端到端推理系统的实现方案。
从产品的角度来看,ReAgent也许可以看作是Horizon的下一个版本,但实际上,其中的改变要多得多。ReAgent通过能够简化推理系统实现的新模型和工具扩展了Horizon的原有功能。从概念上讲,推理系统是指能够通过反复试验来学习的人工智能(AI)代理。DRL无疑是推理系统中最突出的一种,但它也可以包括其他技术,比如模拟。在深入研究ReAgent之前,让我们快速浏览一下它的前身的功能。
Horizon快速回顾
Horizon最初的设计初衷是在深度学习框架(如PyTorch和Caffe2)上高效工作——这些框架在Facebook中被广泛使用。具体来说,Horizon简化了模型实验和训练中PyTorch的使用,而将Caffe2保留给生产工作流。典型的Horizon强化学习工作流包括用于时间生成的Spark管道、基于Scipy的特征提取和归一化模块以及模型预处理训练和优化模块。Horizon利用Facebook的ONNX作为内部模型表示,并与OpenAI Gym等流行的强化学习环境集成。
Horizon的首个发布版抽象了一些功能,如数据预处理、多GP训练、丰富的DRL算法组合、DRL架构的其他关键构件之间的特征标准化。
Horizon最大的贡献之一是实验与生产之间的反馈回路。训练管道负责对现有模型记录的数据进行预处理。预处理的结果用于训练和分析离线设置下的反事实策略结果。最后,将模型部署到一组人员中,并对真正的策略进行度量,这些策略的结果将反馈给下一次迭代。
在Horizon首次发布之后,Facebook发现了需要进一步简化推理系统实现的新改进和功能。
关于ReAgent
在大规模DRL解决方案中使用Horizon之后,我们得到了一个经验:在评估以前训练过的DRL模型而不是实现新模型时,该框架更有效。为了解决这个限制,ReAgent被实现为一个轻量级的c++库,可以嵌入到任何开始收集新数据的DRL模型中。
ReAgent的核心架构基于三个基本组件:模型、评估器和服务平台。启用ReAgent的模型将处理来自外部用户或系统的操作,并将它们路由到一组训练模型,这些训练模型的得分有助于确定下一个非常好的操作(如推荐产品)。ReAgent还可以将建议的模型更改发送给离线评估人员,后者在将更新的决策计划合并到部署的模型中之前对其进行测试。
ReAgent体系结构背后的主要原则是将输入转化为训练资源。我们以训练一个玩不同棋盘游戏的代理为例。当用户选择特定的移动操作时,ReAgent服务平台(RSP)根据预先存在的决策计划,通过生成对给定的一组相关操作进行排序的分数来响应。这些计划基于一个参数的集合,由ReAgent所提供的模型确定。这种方法解决了冷启动问题——即在没有足够的反馈之前很难或不可能实现个性化操作。
除了简化和训练DRL系统外,ReAgent还擅长将反馈转化为模型奖励。这可以通过修改在线训练模型来实现,在线训练模型可以实时优化RSP的性能,也可以通过离线训练来实现,离线训练可以在更长的时间内实现更大的优化。
ReAgent提出了一个模块化的设计,涵盖了DRL系统生命周期的大部分元素。我们假设DRL模型开始时几乎没有数据,因此必须使用手写的规则进行决策,这些规则可以在许多机器上使用ReAgent服务平台实时更新。有了反馈,共享一个参数存储的多臂bandit可以适应时间的变化做出更好的决策。最后,上下文反馈使ReAgent能够训练上下文bandit和RL模型,并使用PyTorch中的TorchScript库进行部署,从而生成更加个性化的行为。
在缺少像ReAgent这样的框架的情况下,开发人员需要构建不同的项目来处理模型生命周期的每个阶段。作为一个轻量级的、易于嵌入的c++库,ReAgent允许开发人员使用他们喜欢的技术构建DRL系统的不同方面,同时依靠框架进行前沿的、基于反馈的策略优化。
如果没有深入的算法组合,DRL框架就是不完整的。对于ReAgent,该框架支持几种非常先进的DRL模型,包括:
·Discrete-Action DQN
·Parametric-Action DQN
·Double DQN, Dueling DQN, Dueling Double DQN
·Distributional RL C51, QR-DQN
·Twin Delayed DDPG (TD3)
·Soft Actor-Critic (SAC)
Facebook已经在几个关键任务系统中大规模使用ReAgent。ReAgent模型用于确定Instagram通知的相关性,并提供更个性化的新闻推荐。随着Facebook继续试验ReAgent,我们应该可以看到他们的一些经验被整合到框架中。
DRL仍然是使用现代技术实现的最困难的深度学习架构之一。像ReAgent这样的发行版提供了DRL体系结构的一些基本构件和可扩展的编程模型,允许研究人员和机器学习工程师定期试验不同的思想。目前发布的ReAgent可以在GitHub上找到,还包括一个基本的交互式教程,可以帮助你开始使用DRL系统。
原文作者:Jesus Rodriguez