Reinforcement Learning Toolbox предоставляет функции и блоки для обучения политик с использованием алгоритмов обучения c подкреплением таких как DQN, A2C и DDPG. Эти политики используются для реализации контроллеров и алгоритмов принятия решений для сложных систем, таких как роботы и автономные системы. Политики реализуются с использованием глубоких нейронные сети, полиномов или таблиц поиска.

Reinforcement Learning Toolbox позволяет обучать политики, позволяя им взаимодействовать со средами, представленными моделями MATLAB или Simulink. Проводятся оценки алгоритмов, эксперименты с настройками гиперпараметров и отслеживается ход обучения. Для повышения производительности обучения, симуляции могут быть запущены параллельно в облаке, вычислительных кластерах и графических процессорах (с помощью Parallel Computing Toolbox и MATLAB Parallel Server).

При помощи моделей в формате ONNX существующие политики можно импортировать из сред глубокого обучения, таких как TensorFlow Keras и PyTorch (с помощью Deep Learning Toolbox). Поддерживает генерация оптимизированного C кода, C++ кода и CUDA для развертывания обученных политик на микроконтроллерах и графических процессорах.

Reinforcement Learning Toolbox включает справочные примеры использования обучения с усилением для разработки контроллеров для робототехники и систем автоматизированного вождения.

Агенты обучения с подкреплнием

Блок Simulink Reinforcement Learning Agent
Блок Simulink Reinforcement Learning Agent

Разработка агентов MATLAB и Simulink для обучения политик, представленных глубокими нейронными сетями. Использование готовых и пользовательских алгоритмов обучения с подкреплением.

Алгоритмы обучения с подкреплением

Реализация агентов, с использованием Deep Q-Network (DQN), Advantage Actor Critic (A2C), Deep Deterministic Policy Gradients (DDPG) и других готовых алгоритмы. Шаблоны для реализации пользовательских агентов для обучения политик.

Представление политик и значений целевой функции с использованием глубоких нейронных сетей

Политики глубоких нейронных сетей используются для сложных систем с большими пространствами состояний и действий. Политики определяются с использованием сетей и архитектур из Deep Learning Toolbox. Импорт модели ONNX для взаимодействия с другими средами глубокого обучения.

Блоки Simulink для агентов

Разработка и обучение агентов в Simulink.

Блок Simulink Reinforcement Learning Agent Блок Simulink Reinforcement Learning Agent

Моделирование среды

Модель среды Simulink для перевернутого маятника.
Модель среды Simulink для перевернутого маятника.
Модель среды Simulink для перевернутого маятника. Модель среды Simulink для перевернутого маятника.

Создание моделей среды в MATLAB и Simulink. Описание динамики системы и сигналов наблюдения и вознаграждения для обучающих агентов.

Моделирование среды в Simulink и Simscape 

Модели Simulink и Simscape ™ используются для представления среды. Указываются сигналы наблюдения, действия и вознаграждения.

Создание среды в MATLAB 

Использование функций и классов MATLAB для представления среды. Указывются переменные наблюдения, действия и вознаграждения.

Ускорение обучения

Ускорьте обучение с помощью графических процессоров
Ускорьте обучение с помощью графических процессоров

Ускорьте обучение с использованием графических процессоров, облаков и распределенных вычислительных ресурсов.

Распределенные вычисления и многоядерное ускорение

Ускорьте обучение, запустив параллельное моделирование на многоядерных компьютерах, облачных ресурсах или вычислительных кластерах, используя Parallel Computing Toolbox и MATLAB Parallel Server.

Ускорение с помощью графического процессора

Глубокое обучение ускоряется с помощью высокопроизводительных графических процессоров NVIDIA Требуется Parallel Computing Toolbox и GPU NVIDIA с вычислительной способностью не менее 3.0.

Ускорьте обучение с помощью графических процессоров Ускорьте обучение с помощью графических процессоров

Генерация и развертывание кода

Создание CUDA-кода с помощью GPU Coder
Создание CUDA-кода с помощью GPU Coder
Создание CUDA-кода с помощью GPU Coder
Создание CUDA-кода с помощью GPU Coder

Обученные политики разворачиваются на встраиваемых платформах или интегрирются с широким спектром производственных систем.

Генерация кода

GPU Coder используется для генерации оптимизированного CUDA-кода из кода MATLAB, представляющего обученные политики.  Для генерации кода C/C ++ для развертывания политик используется MATLAB Coder.

Поддержка MATLAB Compiler

Используйте MATLAB Compiler и MATLAB Compiler SDK для развертывания обученных политик в виде разделяемых библиотек C/C ++, сборок Microsoft .NET, классов Java  и пакетов Python.

Опорные примеры

Обучение робота ходьбе с использованием Reinforcement Learning
Обучение робота ходьбе с использованием Reinforcement Learning

Проектирование контроллеров с использованием обучения с подкреплением для роботов, автомобилей с автопилотом и других систем.

Начало работы

Разработка регуляторов, основанных на обучении с подкреплением, для решения таких проблем, как балансировка перевернутого маятника, навигация по проблеме мира сетки и балансировка системы полюс-тележки.

Приложения для автоматизированного вождения

Разработка контроллеров для адаптивного круиз-контроля и систем удержания автомобиля на полосе.

Робототехника

Разработка контроллеров для роботов с использованием обучения с подкреплением.

Обучение робота ходьбе с использованием Reinforcement Learning Обучение робота ходьбе с использованием Reinforcement Learning