Reinforcement Learning Toolbox

Entwurf und Training von Strategien mithilfe von Reinforcement Learning

Die Reinforcement Learning Toolbox™ bietet eine App, Funktionen und einen Simulink®-Block zum Trainieren von Richtlinien mit Reinforcement-Learning-Algorithmen wie DQN, PPO, SAC und DDPG. Mithilfe dieser Richtlinien können Sie Steuerungen und Entscheidungsalgorithmen für komplexe Anwendungen wie Ressourcenzuweisung, Robotik und autonome Anlagen implementieren.

Die Toolbox ermöglicht das Darstellen von Richtlinien und Wertefunktionen durch tiefe neuronale Netze oder Lookup-Tabellen und ihr Trainieren durch die Interaktion mit Umgebungen, die als MATLAB®- oder Simulink-Modelle dargestellt werden. Sie haben die Möglichkeit, die in der Toolbox bereitgestellten Single-Agent- oder Multi-Agent-Reinforcement-Learning-Algorithmen zu evaluieren oder eigene zu erstellen. Sie können mit Hyperparameter-Einstellungen experimentieren, den Trainingsfortschritt überwachen und trainierte Agents entweder interaktiv durch die App oder per Programm simulieren. Um die Trainingsleistung zu optimieren, können Sie parallele Simulationen auf mehreren CPUs, GPUs, in Computer-Clustern und in der Cloud (mit der Parallel Computing Toolbox™ und MATLAB Parallel Server™) ausführen.

Durch das ONNX™-Modellformat lassen sich vorhandene Richtlinien aus Deep-Learning-Frameworks wie TensorFlow™ Keras und PyTorch (mit der Deep Learning Toolbox™) importieren. Sie können optimierten C, C++ und CUDA® Code generieren, um trainierte Richtlinien auf Microcontrollern und GPUs anzuwenden. Die Toolbox beinhaltet Referenzbeispiele, um Ihnen die ersten Schritte zu erleichtern.

 

Jetzt beginnen:

Reinforcement-Learning-Agenten

Erstellen und konfigurieren Sie Reinforcement-Learning-Agenten zum Trainieren von Richtlinien in MATLAB und Simulink. Nutzen Sie integrierte oder individuell entwickelte Reinforcement-Learning-Algorithmen.

Reinforcement-Learning-Algorithmen

Erstellen Sie Agenten mithilfe von Deep Q-Network (DQN), Deep Deterministic Policy Gradients (DDPG), Proximal Policy Optimization (PPO) und anderen integrierten Algorithmen. Verwenden Sie Vorlagen, um individuelle Agenten zum Trainieren von Richtlinien zu entwickeln.

In der Reinforcement Learning Toolbox verfügbare Trainingsalgorithmen.

Reinforcement Learning Designer-App

Entwerfen, trainieren und simulieren Sie interaktiv Reinforcement-Learning-Agenten. Exportieren Sie trainierte Agents in MATLAB zur weiteren Verwendung und Bereitstellung.

Darstellung von Richtlinien und Wertefunktionen mithilfe tiefer neuronaler Netze

Definieren Sie tiefe neuronale Netzrichtlinien programmatisch für komplexe Systeme mit großen Zustands-/Handlungsräumen mithilfe von Schichten aus der Deep Learning Toolbox oder interaktiv mit dem Deep Network Designer. Alternativ können Sie die Standardnetzarchitektur verwenden, die die Toolbox vorschlägt. Initialisieren Sie die Richtlinie mithilfe von Imitation Learning, um das Training zu beschleunigen. Importieren und exportieren Sie ONNX-Modelle, um die Kompatibilität mit anderen Deep Learning-Frameworks zu gewährleisten.

Single-Agent- und Multi-Agent-Reinforcement-Learning in Simulink

Erstellen und trainieren Sie Reinforcement-Learning-Agenten in Simulink mit dem RL-Agentenblock. Trainieren Sie mehrere Agenten gleichzeitig (Multi-Agent-Reinforcement-Learning) in Simulink mithilfe mehrerer Instanzen des RL-Agentenblocks.

Der Reinforcement-Learning-Agentenblock für Simulink.

Umgebungsmodellierung

Erstellen Sie MATLAB- und Simulink-Umgebungsmodelle. Beschreiben Sie die Systemdynamik und stellen Sie Beobachtungs- und Belohnungssignale für das Training von Agenten bereit.

Simulink- und Simscape-Umgebungen

Verwenden Sie Simulink- und Simscape™-Modelle für die Darstellung einer Umgebung. Bestimmen Sie Beobachtungs-, Handlungs- und Belohnungssignale innerhalb des Modells.

Simulink-Umgebungsmodell für einen zweibeinigen Roboter.

MATLAB-Umgebungen

Verwenden Sie MATLAB-Funktionen und -Klassen für die Modellierung einer Umgebung. Bestimmen Sie Beobachtungs-, Handlungs- und Belohnungsvariablen innerhalb der MATLAB-Datei.

MATLAB-Umgebung für eine Rakete mit drei Freiheitsgraden.

Beschleunigung des Trainings

Beschleunigen Sie das Training mithilfe von GPU-, Cloud- und verteilten Rechenressourcen.

Beschleunigung des Trainings mithilfe von Parallel Computing.

GPU-Beschleunigung

Beschleunigen Sie das Training und die Inferenz tiefer neuronaler Netze mit leistungsstarken NVIDIA®-GPUs. Verwenden Sie MATLAB mit der Parallel Computing Toolbox und den meisten CUDA-fähigen NVIDIA-GPUs mit einer Rechenfähigkeit ab Version 3.0.

Beschleunigung des Trainings mithilfe von GPUs.

Codegenerierung und -bereitstellung

Stellen Sie trainierte Richtlinien auf Embedded Geräten bereit oder integrieren Sie sie in einer Vielzahl von Produktionssystemen.

Codegenerierung

Verwenden Sie den MATLAB Coder™, um optimierten CUDA Code aus MATLAB Programmcode zu generieren, der trainierte Richtlinien darstellt. Verwenden Sie MATLAB Coder™, um C/C++ Code zur Bereitstellung von Richtlinien zu generieren.

Generieren von CUDA Code mit dem GPU Coder.

Unterstützung für MATLAB Compiler

Mit MATLAB Compiler™ und MATLAB Compiler SDK™ können Sie trainierte Richtlinien als eigenständig ausführbare Anwendungen, C/C++ Shared Libraries, Microsoft®.NET Assemblies, Java®-Klassen und Python®-Pakete bereitstellen.

Packen und Freigeben von Richtlinien als eigenständig ausführbare Programme.

Referenzbeispiele

Entwerfen Sie Steuerungen Entscheidungsalgorithmen für Roboter, selbstfahrende Fahrzeuge, Kalibrierungen, Zeitplanung und andere Anwendungen.

Erste Schritte

Sehen Sie zu, wie Sie auf Reinforcement Learning basierende Steuerungen für Probleme wie den Ausgleich eines inversen Pendels, die Navigation im Grid-World-Labyrinth, den Ausgleich eines Wagen-Pendel-Systems und das Lösen generischer Markov-Entscheidungsprozesse entwickeln.

Automatisiertes Fahren

Entwerfen Sie Reinforcement-Learning-Richtlinien für Anwendungen des automatisierten Fahrens wie adaptive Tempomaten, Spurhalteassistenten und Einparkhilfen.

Feinabstimmung, Kalibrierung und Terminierung

Entwerfen Sie Reinforcement-Learning-Richtlinien zur Feinabstimmung, Kalibrierung und Terminierung von Anwendungen.

Ressourcenzuordnungsproblem bei der Wasserverteilung.

Reinforcement Learning – Videoreihe

Erfahren Sie in dieser Videoreihe mehr über Reinforcement Learning.

Weitere Ressourcen zur Reinforcement Learning Toolbox