框架 | 它的功能以及在哪里获得它 |
TensorFlow Agents | TensorFlow Agents提供了通过强化学习来构建和培训各种智能应用程序的工具。该框架是TensorFlow的扩展,它将OpenAI Gym接口扩展到多个并行环境,并允许艾真体在TensorFlow中执行并执行批量计算。其针对OpenAI Gym环境的批处理接口完全与TensorFlow集成,以实现高效的算法实施。该框架结合了BatchPPO,这是Proximal Policy Optimization(近端策略优化算法)的优化实施。其核心组件包含一个用来在外部过程中构建OpenAI Gym环境的环境包装器;使TensorFlow图的步骤和重置函数像强化学习操作一样易于使用的批集成;以及在一个训练循环内将TensorFlow批处理和强化学习算法融合为单一操作的组件。 |
Ray RLLib | RLLib提供了一个灵活的基于任务的编程模型,该模型用于构建基于艾真体的强化学习应用程序,以满足不同的应用程序。RLLib由加州大学伯克利分校开发,目前是第二版,它工作在Ray中,Ray是一个在灵活的,高性能的分布式执行框架。RLLib的开发人员中值得关注的一个人是Apache Spark的主要创造者之一。 RLLib在TensorFlow和PyTorch框架内工作,它支持在算法之间共享模型,并与Ray Tune超参数调整工具集成在一起。该框架包含一个可合成的,可扩展的标准强化学习组件库。每个RLLib组件可以在分布式应用程序中得到并行化、扩展、组合和重用。 RLLib包括三种强化学习算法——近端策略优化(PPO),Asynchronous Advantage Actor-Critic(A3C)和深度Q网络(DQN)——它们都可以在任何OpenAI Gym的马尔可夫决策过程中运行。它为新算法的开发提供了可扩展的最小单元(primitive),用于将RLLib应用于新问题的Python API,艾真体超参数设置的存储库以及可插拔的分布式强化学习执行策略。它支持用户创建自定义强化学习算法。 |
Roboschool | Roboschool提供通过强化学习来构建和训练机器人模拟的开源软件。它有助于在同一环境中同时对多个艾真体进行强化学习训练。你可以在多人训练的情况下训练同一个艾真体同时加入双方(所以可以与自己一起比赛),使用相同算法训练两个参与者,或者设置两种算法。 Roboschool由OpenAI开发,该非营利组织的赞助者包括Elon Musk、Sam Altman、Reid Hoffman和Peter Thiel。它与OpenAI Gym集成在一起,后者是开发和评估强化学习算法的开源工具包。OpenAI Gym与TensorFlow、Theano和其它深度学习库兼容。OpenAI Gym包含数字计算、游戏和物理引擎的代码。 Roboschool基于Bullet物理引擎,这是一个开放源代码许可的物理库,它已被其它仿真软件(如Gazebo和Virtual Robot Experimentation Platform(V-REP))使用。它包含几种强化学习算法:Asynchronous Methods for Deep Reinforcement Learning(深度强化学习的异步方法)、Actor-Critic with Experience Replay、使用Kronecker-Factored Trust Region的Actor-Critic,Deep Deterministic Policy Gradients(深度确定性策略梯度)、Proximal Policy Optimization(近端策略优化)和Trust Region Policy Optimization(信赖域策略优化)。 |
机器学习艾真体(Machine Learning Agent) | 尽管Unity Technology的机器学习艾真体仍处于测试阶段,它能支持游戏、模拟、自动驾驶车辆和机器人的开发和强化学习训练。 ML-Agents(机器学习艾真体)支持多种强化学习训练场景,这其中涉及代理、大脑和奖励之间的不同配置和交互。该框架的SDK支持单一场景和多代理场景以及分立和连续的动作空间。它提供了一个Python API来访问强化学习、神经元演化和其它的机器学习方法。 ML-Agents学习环境由通过与名为“大脑”的自动化组件进行交互来执行强化学习的艾真体组成。每个代理可以拥有一组独特的状态和观察结果,在环境中采取独特的行动,并且可以获得内部事件的独特奖励环境。艾真体的行为取决于它所链接的大脑。每个大脑定义一个特定的状态和动作空间,并决定每个与之链接的艾真体将采取哪些动作。 此外,每个ML-Agents环境都包含一个单一的“学院”,“学院”用于定义环境的范围,就引擎配置而言(训练和推理模式下的游戏引擎的速度和渲染质量),framekip(每个代理商做出新决策的间隙要跳过多少个引擎步骤)以及全局事件长度(情节将持续多长时间)。 大脑可能得到设置的其中一种模式可能是外部的,在这里,行动决策是用TensorFlow或另一个合适的机器学习库制定的————通过开放的套接字与ML-Agent的Python API进行沟通。另一种模式是内部的,在这里,艾真体的行动决策是通过使用嵌入到项目里(通过嵌入的TensorFlowSharp艾真体)的受过训练的模型来制定的。 |
Coach | 英特尔的Nervana Coach是一款开源的强化学习框架,它用来为游戏、机器人技术和其它基于代理的智能应用程序提供建模、培训并评估智能代理。 Coach提供了一个模块化沙盒、可重用组件和Python API,用于合成新的强化学习算法,并在不同的应用领域中培训新的智能应用程序。该框架使用OpenAI Gym,以此作为与不同强化学习环境交互的主要工具。它还支对Gym提供外部扩展,例如Roboschool、gym-extensions、PyBullet和ViZDoom。 Coach的环境包装器允许人们添加其它自定义的强化学习环境来解决其它学习问题。 该框架能够在台式计算机上高效地对强化学习艾真体进行训练,并使用多核CPU处理。它为一些强化学习算法提供单线程和多线程实施,包括Asynchronous Advantage Actor-Critic、Deep Deterministic Policy Gradient(深度确定性策略梯度)、Proximal Policy Optimization(近端策略优化)、Direct Future Prediction和Normalized Advantage Function(标准化优势函数)。所有算法都是使用英特尔优化的TensorFlow实现的,有些也可以通过英特尔的Neon深度学习框架获得。 Coach涉及到很多强化学习艾真体类型的实施,这包括从单线程实施到多线程实施的过渡。它支持为单线程或多线程(同步或异步)的强化学习实施开发新的艾真体。它支持连续和离散的动作空间,以及仅包含原始度量的视觉观察空间或观察空间。 |
人工智能开发人员需要的强化学习技能