Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Deep Reinforcement Learning

L'apprendimento per rinforzo profondo (DRL) usa reti neurali per apprendere politiche e valori da input grezzi, come i pixel. Scopri DQN, PPO, i risultati e i limiti.

L'apprendimento per rinforzo profondo (DRL) combina l'apprendimento per rinforzo (RL), in cui un agente impara per tentativi ed errori a massimizzare la ricompensa, con le reti neurali profonde, che rappresentano ciò che l'agente apprende. L'RL classico memorizza in una tabella un valore per ogni stato, un approccio impossibile quando lo stato è un'immagine di una telecamera o l'insieme continuo degli angoli articolari di un robot. Una rete neurale, invece, mappa osservazioni grezze ad alta dimensionalità, come pixel, scansioni lidar o testo, su valori o probabilità delle azioni e generalizza a stati mai incontrati. Nel 2015, il DQN di DeepMind rese famoso questo approccio imparando a giocare a 49 titoli Atari 2600 usando solo i pixel dello schermo e il punteggio del gioco, con un'unica architettura di rete e un unico insieme di iperparametri, raggiungendo un livello paragonabile a quello di un tester professionista di videogiochi.

Come funziona l'RL profondo#

L'agente continua a seguire il ciclo dell'RL di un processo decisionale di Markov: osserva uno stato, agisce, riceve una ricompensa e aggiorna il modello. La differenza è che ora una rete con milioni di parametri rappresenta uno o più dei seguenti elementi:

  • Funzione di valore: la rete prevede il ritorno atteso per ogni azione e l'agente sceglie quella con il valore più alto. La rete DQN riceveva gli ultimi quattro fotogrammi del gioco, ridimensionati a 84×84 pixel, per poter rilevare il movimento.
  • Politica: la rete restituisce la probabilità di ogni azione oppure la media e la dispersione di un'azione continua, come l'angolo di sterzata; i metodi del gradiente della politica la modificano direttamente per favorire le azioni che hanno ottenuto un ritorno elevato.
  • Attore e critico: una rete attore sceglie le azioni, mentre una rete critico stima i valori per indicare all'attore quanto ogni azione sia stata migliore del previsto, riducendo il rumore negli aggiornamenti.
  • Modello del mondo: gli agenti basati su modelli, come Dreamer, addestrano una rete a prevedere osservazioni e ricompense future, quindi apprendono una politica all'interno del simulatore così appreso.

Addestrare una rete sui dati che l'agente genera autonomamente è instabile, perché i fotogrammi consecutivi sono fortemente correlati e gli obiettivi cambiano con l'evoluzione della rete. DQN ha risolto il problema con due idee mantenute dagli algoritmi successivi: un buffer di replay delle esperienze, che permette di addestrare il modello su minibatch casuali di transizioni passate, e una rete obiettivo separata, aggiornata solo periodicamente:

Gradienti della politica nel codice#

I metodi del gradiente della politica ignorano del tutto le tabelle dei valori: campionano le azioni dalla rete, quindi aumentano la probabilità di quelle seguite da un ritorno elevato. Questo esempio PyTorch addestra una piccola rete di politica con REINFORCE, l'algoritmo originale del gradiente della politica, per mantenere in equilibrio un palo su un carrello mobile nell'ambiente CartPole di Gymnasium:

import gymnasium as gym
import torch
from torch import nn

torch.manual_seed(0)
env = gym.make("CartPole-v1")
policy = nn.Sequential(nn.Linear(4, 64), nn.ReLU(), nn.Linear(64, 2))  # cart and pole state -> logits for left/right
optimizer = torch.optim.Adam(policy.parameters(), lr=0.02)
lengths = []

for episode in range(500):
    obs, _ = env.reset(seed=episode)
    log_probs, rewards, done = [], [], False
    while not done:  # play one episode with the current policy, earning +1 per step the pole stays up
        dist = torch.distributions.Categorical(logits=policy(torch.as_tensor(obs)))
        action = dist.sample()
        obs, reward, terminated, truncated, _ = env.step(action.item())
        log_probs.append(dist.log_prob(action))
        rewards.append(reward)
        done = terminated or truncated
    # REINFORCE: raise the log-probability of actions followed by above-average discounted return
    returns = torch.tensor([sum(0.99**k * r for k, r in enumerate(rewards[t:])) for t in range(len(rewards))])
    loss = -(torch.stack(log_probs) * (returns - returns.mean()) / (returns.std() + 1e-8)).sum()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    lengths.append(len(rewards))

print(f"Average episode length: first 20 = {sum(lengths[:20]) / 20:.0f}, last 20 = {sum(lengths[-20:]) / 20:.0f}")

Stampa first 20 = 14, last 20 = 500: la rete non addestrata fa cadere il palo dopo circa 14 passi; dopo 500 episodi, invece, lo mantiene in equilibrio per tutti i 500 passi consentiti in ogni episodio. Con altri valori iniziali casuali, lo stesso script può bloccarsi o peggiorare a metà dell'addestramento: è questa l'elevata varianza che i critici e gli aggiornamenti limitati dell'ottimizzazione prossimale della politica (PPO) mirano a ridurre. Librerie come Stable-Baselines3 offrono implementazioni testate di PPO, DQN e soft actor-critic (SAC).

Applicazioni pionieristiche#

  • Videogiochi: dopo Atari, gli agenti di RL profondo hanno sconfitto campioni mondiali di Go con AlphaGo e raggiunto il livello di grande maestro in StarCraft II con AlphaStar, combinando l'apprendimento dalle partite umane con l'autoapprendimento tramite RL.
  • Gare di droni: il drone Swift dell'Università di Zurigo, addestrato con RL profondo in simulazione e perfezionato con dati di volo reali, nel 2023 ha vinto diverse gare testa a testa contro ciascuno dei tre piloti campioni e ha stabilito il tempo di gara registrato più veloce.
  • Energia da fusione: DeepMind e lo Swiss Plasma Center dell'EPFL hanno usato una politica di RL profondo per controllare le bobine magnetiche di un tokamak e dare al plasma diverse configurazioni, compresa quella di due «gocce» di plasma separate contemporaneamente.
  • Robotica: i robot quadrupedi imparano a camminare su terreni accidentati usando politiche addestrate su migliaia di robot simulati; attrito e massa vengono randomizzati affinché la politica funzioni anche sull'hardware reale.
  • Modelli linguistici: il perfezionamento tramite RL delle politiche Transformer, con ricompense basate sulle preferenze o verificate automaticamente, ha prodotto gli assistenti conversazionali e i modelli di ragionamento odierni.

La percezione come osservazione#

La rete neurale convoluzionale di DQN doveva imparare a vedere basandosi solo sulla ricompensa, a partire da 84×84×4 = 28,224 valori di pixel per passaggio. Molti sistemi robotici e di guida, invece, forniscono alla policy l'output di un modello di visione artificiale preaddestrato, riducendo le dimensioni dell'osservazione e consentendo all'algoritmo RL di dedicare i propri campioni alle decisioni. Ultralytics YOLO26 in modalità di tracking trasforma ogni fotogramma della videocamera in una classe, un riquadro e un ID persistente per ogni oggetto: uno stato incentrato sugli oggetti da cui una policy può anche ricavare il movimento di ciascun oggetto attraverso i fotogrammi.

Sfide#

Il deep RL richiede molti dati: DQN è stato addestrato su 50 milioni di fotogrammi per gioco, circa 38 giorni di gioco, motivo per cui la maggior parte delle policy robotiche viene addestrata in simulazione e poi trasferita all'hardware. La fisica simulata non corrisponde mai perfettamente alla realtà, quindi gli ingegneri randomizzano attrito, masse, illuminazione e texture con la randomizzazione del dominio e aggiungono dati sintetici per le condizioni rare. I risultati variano anche in base ai seed casuali, agli iperparametri e ai dettagli di implementazione: un problema di riproducibilità descritto in Deep Reinforcement Learning That Matters. Un ottimizzatore efficace trova anche scappatoie in qualsiasi ricompensa imperfetta: questo malfunzionamento è noto come reward hacking, come quando un agente di corse in barca ha imparato a girare all'infinito raccogliendo punti invece di finire la gara.

  • Apprendimento per rinforzo: Il campo più ampio. L'RL tabellare funziona per problemi di piccole dimensioni, mentre il deep RL è RL con reti neurali come approssimatori di funzioni.
  • Deep learning: Il deep learning tradizionale si addestra su un dataset fisso e annotato. Nel deep RL, sono le azioni dell'agente stesso a generare i dati e il segnale di addestramento è una ricompensa ritardata anziché un'etichetta.
  • Apprendimento per rinforzo da feedback umano (RLHF): Metodo di deep RL in cui un modello di ricompensa appreso dai confronti tra preferenze umane sostituisce una ricompensa definita manualmente; viene usato per allineare i modelli linguistici.
  • Controllo predittivo basato su modello: L'MPC risolve una nuova ottimizzazione su un modello esplicito a ogni passaggio di controllo, mentre una policy di deep RL addestrata sceglie ogni azione con un singolo passaggio in avanti della rete.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning