强化学习工具箱

使用强化学习设计和培训政策

Reinforcement Learning Toolbox™提供了一个应用程序、函数和Simulink金宝app®block用于使用强化学习算法的训练策略,包括DQN、PPO、SAC和DDPG。您可以使用这些策略为复杂的应用程序(如资源分配、机器人和自治系统)实现控制器和决策算法。

这个工具箱允许您使用深度神经网络或查询表来表示策略和值函数,并通过与MATLAB中建模的环境进行交互来训练它们®或仿真金宝app软件。您可以评估工具箱中提供的单或多智能体强化学习算法,或开发自己的算法。您可以试验超参数设置,监控训练进度,并通过应用程序交互或编程模拟训练过的代理。为了提高训练性能,模拟可以在多个cpu、gpu、计算机集群和云上并行运行(使用并行计算工具箱™和MATLAB并行服务器™)。

通过ONNX™模型格式,现有的策略可以从深度学习框架导入,如TensorFlow™Keras和PyTorch(使用深度学习工具箱™)。你可以生成优化的C, c++和CUDA®代码在微控制器和gpu上部署经过培训的政策。工具箱包括参考示例,以帮助您开始。

开始:

强化学习代理

在MATLAB和Simulink中创建和配置强化学习代理来训练策略。金宝app使用内置或开发自定义强化学习算法。

强化学习算法

使用深度Q-network (DQN)、深度确定性策略梯度(DDPG)、近端策略优化(PPO)和其他内置算法创建代理。使用模板为培训政策开发定制代理。

强化学习工具箱中提供的训练算法。

强化学习设计师App

交互式设计、训练和模拟强化学习代理。出口训练代理MATLAB进一步使用和部署。

基于深度神经网络的策略和值函数表示

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

Simulink中的单agent和多agent强化学习金宝app

在Simulink中用RL代理块创建和训练强化学习代理。金宝app在Simulink中使用RL Agent块的多个实例同时训练多个Agent (multi-agent reinforcement learning)。金宝app

Simulink的强化学习代理块。金宝app

环境建模

创建MATLAB和Simulink环金宝app境模型。描述系统动力学,为训练人员提供观察和奖励信号。

金宝appSimulink和Simscape环境

使用Si金宝appmulink和Simscape™创建环境的模型。在模型中指定观察、行动和奖励信号。

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

MATLAB环境中

使用MATLAB函数和类来建模环境。在MATLAB文件中指定观察,行动和奖励变量。

三自由度火箭的MATLAB环境。

加速训练

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

使用并行计算加速训练。

GPU加速

使用高性能NVIDIA加速深度神经网络训练和推理®gpu。使用MATLAB并行计算工具箱以及大多数支持cuda的NVIDIA gpu计算能力3.0及以上

使用gpu加速培训。

代码生成和部署

将经过培训的策略部署到嵌入式设备或将其与广泛的生产系统集成。

代码生成

使用GPU编码器™从代表训练过的策略的MATLAB代码生成优化的CUDA代码。使用MATLAB编码器™生成C/ c++代码来部署策略。

使用GPU编码器生成CUDA代码。

MATLAB编译器支持金宝app

使用MATLAB编译器™MATLAB编译器SDK™将经过培训的策略部署为独立应用程序、C/ c++共享库、Microsoft®net程序集,Java®Python类,®包。

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

参考例子

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

开始

了解如何为一些问题开发强化学习策略,如倒转一个简单的钟摆,导航一个网格世界,平衡一个车杆系统,以及解决一般的马尔可夫决策过程。

调优、校准和调度

为调优、校准和调度应用程序设计强化学习策略。

水资源分配中的资源分配问题。

强化学习视频系列

观看这个系列的视频来学习更多关于强化学习的知识。

额外的强化学习工具箱资源