强化学习工具箱

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

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

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

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

开始:

强化学习代理

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

强化学习算法

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

钢筋学习工具箱中提供的培训算法。

强化学习设计师App

交互式地设计、训练和模拟强化学习代理。将经过培训的代理导出到MATLAB,以便进一步使用和部署。

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

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

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

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

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

环境建模

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

万博1manbetxSimulink和Simscape环境

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

万博1manbetx两足机器人的Simulink环境模型。

MATLAB环境中

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

三自由度火箭的MATLAB环境。

加速训练

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

GPU加速

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

使用gpu加速训练。

代码生成和部署

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

代码生成

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

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

MATLAB编译器支持万博1manbetx

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

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

参考例子

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

调优、校准和调度

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

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

加强学习视频系列

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

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