前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Facebook AI 推出“SaLinA”:一个用于实现包括强化学习算法在内的顺序决策模型的轻量级库

Facebook AI 推出“SaLinA”:一个用于实现包括强化学习算法在内的顺序决策模型的轻量级库

作者头像
代码医生工作室
发布2021-10-21 14:45:34
4740
发布2021-10-21 14:45:34
举报
文章被收录于专栏:相约机器人相约机器人

深度学习库非常适合促进复杂可微函数的实现。这些函数通常具有 f(x) → y 之类的形状,其中 x 是一组输入张量,y 是通过对这些输入执行多次计算而产生的输出张量。为了实现一个新的 f 函数并创建一个新的原型,需要通过组合运算符组装各种块(或模块)。尽管过程简单,但这种方法无法处理顺序决策方法的实现。经典平台非常适合以有效的方式管理信息的获取、处理和转换。

当谈到强化学习 (RL) 时,所有这些实现都变得至关重要。经典的深度学习框架不足以捕捉代理与其环境的交互。尽管如此,仍然可以编写不能很好地集成到这些平台中的额外代码。已经考虑对这些任务使用多个强化学习 (RL) 框架,但它们仍然有两个缺点:

  • 为了对更复杂的系统建模,一直在创建新的抽象。然而这些新想法通常具有较高的采用成本和较低的灵活性,这使得可能不熟悉强化学习技术的外行人难以理解。
  • RL 的用例与其解决的问题一样广泛多样。出于这个原因,在这些平台上没有一刀切的所有库,因为每个平台都旨在解决特定类型的问题,从基于模型的算法到批处理或多代理播放策略,等等事情——但不能做所有的事情。

作为上述两个问题的解决方案,Facebook 研究人员引入了“SaLinA”。SaLina 致力于实现顺序决策过程,包括与强化学习相关、自然和简单的从业者,对如何实现神经网络有基本的了解。SaLina 建议通过使用顺序处理信息的简单“代理”来解决任何顺序决策问题。目标受众不仅是 RL 研究人员或计算机视觉研究人员,而且是 NLP 专家,正在寻找一种自然的方式在模型中对对话进行建模,使它们比以前的方法更直观、更容易理解。

SaLinA 是 PyTorch 的扩展。它有一个易于理解和维护的核心代码,总共只有一百行。

SaLina 的主要优势:

  • SaLina 易于理解和用于基于顺序决策的模型。这个接口没有隐藏的机制,所以它在 Pytorch 中会感觉很熟悉。使用 SaLina可以轻松创建复杂的决策序列,而不会迷失或困惑。
  • SaLinA 允许通过将简单的代理与预定义的容器相结合来构建复杂的代理。
  • SaLinA 是一个非常灵活的 AI 框架。它带有将 openAI Gym 环境捕获为代理的包装器、DataLoader 用于开发复杂模型和 Brax 环境,后者允许使用重放缓冲区快速实现多种不同类型的架构,因此工作区可以保存在磁盘上,而无需将它们全部保存在内存中立即使批量强化学习比其他方式更容易。
  • SaLinA 提供了一个 NRemoteAgent 包装器,可以在多个进程中执行任何代理,加速特定代理的计算。除了使用此库在计算机的 CPU 或 GPU 上运行算法之外,它还可以通过仅在必要时进行少量修改来简化扩展。

论文:

https://arxiv.org/pdf/2110.07910.pdf

Github:

https://github.com/facebookresearch/salina

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

本文分享自 相约机器人 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档