强化学习工具箱

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

强化学习工具箱™ 提供应用程序、功能和Simulink万博1manbetx®使用强化学习算法(包括DQN、PPO、SAC和DDPG)的训练策略块。您可以使用这些策略为资源分配、机器人技术和自治系统等复杂应用程序实现控制器和决策算法。

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

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

开始:

强化学习代理

在MATLAB和Simulink中创建和配置强化学习代理以训练策略。使用内置或开发自定义强化学习算法。万博1manbetx

强化学习算法

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

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

强化学习设计师App

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

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

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

Simulink中的单agent和多agent强化学习万博1manbetx

使用RL Agent块在Simulink中创建和培训强化学习代理。使用RL agent块的多个实例在万博1manbetxSimulink中同时训练多个agent(多agent强化学习)。

Simulink的强化学习代理块。万博1manbetx

环境建模

创建MATLAB和Simulink环万博1manbetx境模型。描述系统动力学,为培训代理提供观察和奖励信号。

万博1manbetxSimulink和Simscape环境

使用Si万博1manbetxmulink和Simscape™创建环境的模型。在模型中指定观察、行动和奖励信号。

万博1manbetxbiped机器人的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编译器支持万博1manbetx

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

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

参考例子

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

开始

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

调整、校准和调度

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

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

强化学习视频系列

观看本系列中的视频,了解有关强化学习的更多信息。

其他强化学习工具箱资源