Reinforcement Learning Toolbox

使用强化学习设计和训练策略

Reinforcement Learning Toolbox™ 提供了一个 App、多个函数和一个 Simulink® 模块,可与 DQN、PPO、SAC 和 DDPG 等强化学习算法结合使用来进行策略训练。您可以使用这些策略为复杂应用(如资源分配、机器人和自主系统)实现控制器和决策算法。

借助该工具箱,您可以使用深度神经网络或查找表来表示策略和价值函数,并使用 MATLAB® 或 Simulink 创建环境模型,通过与环境交互来训练策略和函数。您可以评估该工具箱中提供的单智能体或多智能体强化学习算法,也可以开发自己的算法。您可以使用超参数设置进行试验,监控训练进度,并通过 App 以交互方式或编程方式仿真经过训练的智能体。为了提高训练性能,可以在多个 CPU、GPU、计算机集群和云上并行运行仿真(需要 Parallel Computing Toolbox™ 和 MATLAB Parallel Server™)。

通过 ONNX™ 模型格式,可以从 TensorFlow™ Keras 和 PyTorch 等深度学习框架导入已有策略(需要 Deep Learning Toolbox™)。您可以生成优化的 C、C++ 和 CUDA® 代码,以便将经过训练的策略部署到微控制器和 GPU。该工具箱包括参考示例,可帮助您快速入门。

 

开始:

强化学习智能体

在 MATLAB 和 Simulink 中创建和配置强化学习智能体来训练策略。可以使用内置的强化学习算法,也可以开发自定义算法。

强化学习算法

使用深度 Q 网络 (DQN)、深度确定性策略梯度 (DDPG)、近端策略优化 (PPO) 和其他内置算法创建智能体。使用模板开发自定义智能体,以用于训练策略。

Reinforcement Learning Toolbox 中提供的训练算法。

强化学习设计器

交互式设计、训练和仿真强化学习智能体。将经过训练的智能体导出到 MATLAB,以供进一步使用和部署。

使用深度神经网络表示策略和价值函数

对具有大型状态-动作空间的复杂系统,使用来自 Deep Learning Toolbox 的层以编程方式定义深度神经网络策略,或使用深度网络设计器以交互方式定义深度神经网络策略。也可以使用该工具箱建议的默认网络架构。使用模仿学习来初始化策略,以加快训练速度。导入和导出 ONNX 模型以实现与其他深度学习框架的互操作性。

Simulink 中的单智能体和多智能体强化学习

在 Simulink 中使用 RL Agent 模块来创建和训练强化学习智能体在 Simulink 中使用 RL Agent 模块的多个实例同时训练多个智能体(多智能体强化学习)。

Simulink 的强化学习智能体模块。

环境建模

创建 MATLAB 和 Simulink 环境模型。描述系统动态并为训练智能体提供观测值和奖励信号。

Simulink 和 Simscape 环境

使用 Simulink 和 Simscape™ 创建环境模型。在模型中指定观测值、动作和奖励信号。

双足机器人的 Simulink 环境模型。

MATLAB 环境

使用 MATLAB 函数和类对环境建模。在 MATLAB 文件中指定观测值、动作和奖励变量。

三自由度火箭的 MATLAB 环境。

加速训练

使用 GPU、云和分布式计算资源加快训练速度。

GPU 加速

使用高性能 NVIDIA® GPU 加速深度神经网络训练和推断。结合使用 MATLAB 和 Parallel Computing Toolbox,支持大多数启用 CUDA 的 NVIDIA GPU(计算能力为 3.0 或更高)。

使用 GPU 加快训练速度。

代码生成和部署

将经过训练的策略部署到嵌入式设备或与各种生产系统集成。

代码生成

使用 GPU Coder™ 从 MATLAB 代码(表示经过训练的策略)生成优化的 CUDA 代码。使用 MATLAB Coder™ 生成 C/C++ 代码以部署策略。

使用 GPU Coder 生成 CUDA 代码。

MATLAB Compiler 支持

使用 MATLAB Compiler™MATLAB Compiler SDK™,将经过训练的策略部署为独立应用程序、C/C++ 共享库、Microsoft® .NET 程序集、Java® 类和 Python® 程序包。

将策略打包为独立程序并共享。

参考示例

为机器人、自动驾驶、标定、调度和其他应用设计控制器和决策算法。

快速入门

了解如何为单摆倒置、网格世界导航、倒单摆系统平衡和一般马尔可夫决策过程求解等问题开发强化学习策略。

自动驾驶

为自动驾驶应用设计强化学习策略,如自适应巡航控制、车道保持辅助和自动泊车。

调节、标定和调度

为调节、标定和调度应用设计强化学习策略。

供水的资源分配问题。

强化学习系列视频

观看系列视频,进一步了解强化学习。

其它 Reinforcement Learning Toolbox 资源