Deep Reinforcement Learning

Il Deep Reinforcement Learning è una branca del Machine Learning che consente di implementare controller e sistemi decisionali su sistemi complessi quali i robot e i sistemi autonomi. Il Deep Reinforcement Learning consente di implementare reti neurali profonde in grado di apprendere comportamenti complessi grazie all’addestramento con dati generati in modo dinamico da sistemi fisici o simulati. A differenza di altre tecniche di Machine Learning, non servono set di dati di addestramento predefiniti, con o senza etichette. In genere tutto ciò che occorre è un modello di simulazione che rappresenti il tuo ambiente.

Usando MATLAB®, Simulink® e Reinforcement Learning Toolbox™ puoi effettuare tutto il workflow per progettare e distribuire un sistema decisionale. Sarà possibile:

  • Muovere i primi passi con il Deep Reinforcement Learning usando esempi relativi a sistemi di controllo semplici, sistemi autonomi, robotica e problemi di pianificazione
  • Cambiare, valutare e confrontare rapidamente gli algoritmi di Reinforcement Learning più noti, con modifiche al codice di piccolissima entità
  • Modellare l’ambiente in MATLAB o Simulink
  • Utilizzare reti neurali profonde per definire politiche di Deep Reinforcement Learning complesse, basate su dati immagine, video e di sensori
  • Addestrare le politiche più velocemente eseguendo più simulazioni in parallelo con core locali o nel Cloud
  • Distribuire le politiche di Deep Reinforcement Learning su dispositivi embedded
Diagramma del Reinforcement Learning

Agenti di Deep Reinforcement Learning

Gli agenti del Deep Reinforcement Learning comprendono la politica di una rete neurale profonda, che mappa uno stato di input su un’azione di output, e un algoritmo responsabile dell’aggiornamento di questa politica. Tra gli esempi di algoritmi più utilizzati figurano Deep Q-Network (DQN), Deep Deterministic Policy Gradient (DDPG), Soft Actor Critic (SAC) e Proximal Policy Optimization (PPO). L’algoritmo aggiorna la politica in base alle osservazioni e alle ricompense raccolte dall’ambiente per massimizzare la ricompensa prevista a lungo termine.

Reinforcement Learning Toolbox ti aiuta a creare agenti di Deep Reinforcement Learning in modo programmatico mentre con l’app Reinforcement Learning Designer è possibile procedere in modo interattivo. Scegli tra gli algoritmi più noti pronti all’uso oppure implementa il tuo algoritmo personalizzato utilizzando i modelli e gli esempi disponibili.

Diagramma del Reinforcement Learning

Per saperne di più

Modellazione dell’ambiente in MATLAB e Simulink

L’addestramento tramite algoritmi di Deep Reinforcement Learning è un processo dinamico in quanto l’agente interagisce con l’ambiente che lo circonda. Per applicazioni quali la robotica o i sistemi autonomi, l’uso di questo tipo di addestramento su hardware veri e propri può risultare costoso e pericoloso. Ecco perché i modelli virtuali dell’ambiente che generano i dati tramite simulazioni vengono di gran lunga preferiti al Deep Reinforcement Learning.

È possibile costruire un modello del proprio ambiente in MATLAB e Simulink in grado di descrivere le dinamiche del sistema, il modo in cui queste sono influenzate dalle azioni dell’agente e una ricompensa che valuti l’adeguatezza dell’azione svolta. Questi modelli possono essere di natura continua o discreta e possono rappresentare il sistema a vari livelli di fedeltà. In più, è possibile parallelizzare le simulazioni per accelerare l’addestramento. In alcuni casi, è possibile riutilizzare i modelli MATLAB e Simulink esistenti del proprio sistema per il Deep Reinforcement Learning apportando modifiche minime.

Per saperne di più

Modellazione dell’ambiente in MATLAB e Simulink

Esempi e applicazioni di riferimento

Muovi i primi passi con il Deep Reinforcement Learning addestrando politiche per problemi semplici come il bilanciamento di un pendolo inverso, la navigazione di un problema in un mondo a griglia e il bilanciamento di un sistema carrello-palo. È anche possibile progettare sistemi per il cruise control adattivo e il controllo del mantenimento della corsia per i veicoli autonomi. Il Deep Reinforcement Learning può essere utilizzato anche per applicazioni di robotica, come la pianificazione delle traiettorie, e per l’insegnamento di comportamenti, come la locomozione.

Diagramma del Reinforcement Learning

Per saperne di più