Reinforcement Learning
Deep reinforcement learning is a branch of machine learning that enables you to implement controllers and decisionmaking systems for complex systems such as robots and autonomous systems. Deep reinforcement learning lets you implement deep neural networks that can learn complex behaviors by training them with data generated dynamically from simulation models. It does not require a predefined training dataset, labeled or unlabeled, all you need is a simulation model that represents the environment you are interacting with and trying to control.
Using MATLAB®, Simulink®, and Reinforcement Learning Toolbox™ you can work through the complete workflow for designing and deploying a decisionmaking system. You can:

Get started with reinforcement learning using examples for simple control systems, autonomous systems, and robotics

Quickly switch, evaluate, and compare popular reinforcement learning algorithms with only minor code changes

Use deep neural networks to define complex reinforcement learning policies based on image, video, and sensor data

Train policies faster by running multiple simulations in parallel using local cores or the cloud

Deploy reinforcement learning controllers to embedded devices
Reinforcement Learning Agents
Reinforcement learning agents are comprised of a policy that performs a mapping from an input state to an output action and an algorithm responsible for updating this policy. Deep Qnetworks, actorcritic, and deep deterministic policy gradients are popular examples of algorithms. The algorithm updates the policy such that it maximizes the longterm reward signal provided by the environment.
Policies can be represented by deep neural networks, polynomials, and lookup tables. You can then implement builtin and custom agents as MATLAB objects or Simulink blocks.
Learn More
Environment Modeling in MATLAB and Simulink
Training with reinforcement learning algorithms is a dynamic process as the agent interacts with the environment around it. For applications such as robotics and autonomous systems, performing this training in the real world with actual hardware can be expensive and dangerous. This is why virtual models of the environment that generate data through simulations are greatly preferred for reinforcement learning.
You can build a model of your environment in MATLAB and Simulink that describes the system dynamics, how they are affected by actions taken by the agent, and a reward that evaluates the goodness of the action performed. These models can be continuous or discrete in nature and can represent your system at varying levels of fidelity. In addition, you can parallelize simulations to accelerate training. In some cases, you may be able to reuse existing MATLAB and Simulink models of your system for reinforcement learning with minimal modifications.
Learn More

Create MATLAB Environments for Reinforcement Learning  Documentation

Create Simulink Environments for Reinforcement Learning  Documentation

Define Reward Signals for Continuous and Discrete Systems  Documentation

Train an Agent Using Parallel Computing in Simulink  Example
Examples and Reference Applications
Get started with reinforcement learning by implementing controllers for problems such as balancing an inverted pendulum, navigating a gridworld problem, and balancing a cartpole system. You can also design systems for adaptive cruise control and lanekeeping assist for autonomous vehicles. Reinforcement learning can also be used for robotics applications, such as trajectory planning, and teaching behaviors, such as locomotion.
Learn More
More on Reinforcement Learning

Reinforcement Learning Toolbox  Overview

Import Pretrained Deep Neural Network Architectures  Documentation

Deploy Trained Policies to GPUs  Documentation

How to Train Your Robot (with Deep Reinforcement Learning) (37:08)  Video

Reinforcement Learning (5 Videos)  Video Series

Reinforcement Learning for an Inverted Pendulum with Image Data (5:04)  Video

Reinforcement Learning for FieldOriented Control of a Permanent Magnet Synchronous Motor (6:12)  Video