Addestra e valuta i DeepRacer modelli AWS - AWS DeepRacer

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Addestra e valuta i DeepRacer modelli AWS

Quando il tuo DeepRacer veicolo AWS percorre da solo un binario, rileva gli stati ambientali con la telecamera montata sulla parte anteriore e interviene in risposta alle osservazioni. Il tuo DeepRacer modello AWS è una funzione che associa le osservazioni e le azioni alla ricompensa prevista. Addestrare il modello vuol dire trovare o scoprire la funzione che massimizza la ricompensa prevista in modo che il modello ottimizzato preveda il tipo di operazioni (velocità e coppie di angoli di sterzata) che possono essere compiute dal veicolo per spostarsi autonomamente lungo il percorso, dall'inizio alla fine.

In pratica, la funzione è rappresentata da una rete neurale e l'addestramento della rete comporta l'individuazione delle ponderazioni ottimali della rete in base alle sequenze di stati ambientali osservati e alle operazioni corrispondenti del veicolo. I criteri sottostanti dell'ottimalità vengono descritti dalla funzione di ricompensa del modello, che incoraggia il veicolo a eseguire spostamenti corretti e produttivi senza causare incidenti o infrazioni. Una funzione di ricompensa semplice può restituire un premio pari a 0 se il veicolo è in pista, a -1 se è fuori pista e a +1 se raggiunge il traguardo. Con questa funzione di ricompensa, il veicolo viene penalizzato se esce dal circuito e premiato se raggiunge la destinazione. Questa può essere una buona funzione di ricompensa se il tempo o la velocità non sono un problema.

Supponiamo che tu sia interessato a un veicolo che guidi quanto più velocemente possibile senza uscire da un circuito rettilineo. Man mano che la velocità aumenta o diminuisce, il veicolo potrebbe sterzare a destra o a sinistra per evitare ostacoli o per rimanere all'interno del percorso. Prendere una curva a tutta velocità potrebbe portare facilmente il veicolo fuori pista. Una curva troppo piccola potrebbe non evitare la collisione con un ostacolo o con un altro veicolo. In linea generale, le operazioni ottimali sarebbero prendere una curva più stretta a una velocità inferiore o sterzare meno lungo una curva più ampia. Per incoraggiare questo comportamento, la funzione di ricompensa deve assegnare un punteggio positivo per premiare curve più ampie a velocità superiori e un punteggio negativo per punire le curve più strette a velocità più elevate. Analogamente, la funzione può restituire una ricompensa per l'accelerazione lungo un rettilineo o per la frenata nei pressi di un ostacolo.

La funzione di ricompensa è una parte importante del tuo DeepRacer modello AWS. Devi fornirlo durante l'addestramento del tuo DeepRacer modello AWS. L'addestramento implica episodi ripetuti lungo il circuito, dall'inizio alla fine. In un episodio l'agente interagisce con il circuito per apprendere il corso ottimale delle operazioni, massimizzando la ricompensa complessiva prevista. Alla fine, l'addestramento produce un modello di apprendimento per rinforzo. Dopo l'addestramento, l'agente guida autonomamente eseguendo inferenze sul modello per intervenire in modo ottimale in qualunque stato. Questa operazione può essere eseguita in un ambiente simulato con un agente virtuale o in un ambiente reale con un agente fisico, come un veicolo in scala AWSDeepRacer.

Per addestrare un modello di apprendimento di rinforzo nella pratica, è necessario scegliere un algoritmo di apprendimento. Attualmente, la DeepRacer console AWS supporta solo gli algoritmi di ottimizzazione delle politiche prossimali (PPO) e soft actor critic (SAC). Puoi quindi scegliere un framework di deep learning che supporti l'algoritmo scelto, a meno che tu non voglia scriverne uno da zero. AWS DeepRacer si integra con SageMaker per rendere alcuni dei framework di deep learning più diffusi, ad esempio TensorFlow, prontamente disponibili nella console AWS. DeepRacer L'utilizzo di un framework semplifica la configurazione e l'esecuzione dei processi di addestramento e permette di concentrarsi sulla creazione e sul miglioramento delle funzioni di ricompensa specifiche per i problemi riscontrati.

L'addestramento di un modello di apprendimento per rinforzo è un processo iterativo. In primo luogo, è difficile definire una funzione di ricompensa che copra contemporaneamente tutti i comportamenti importanti di un agente in un ambiente. In secondo luogo, vengono spesso regolati iperparametri per garantire prestazioni di addestramento soddisfacenti. In entrambi i casi è necessaria una sperimentazione. Un approccio prudente consiste nell'iniziare con una semplice funzione di ricompensa e poi migliorarla progressivamente. AWS DeepRacer facilita questo processo iterativo consentendoti di clonare un modello addestrato e quindi utilizzarlo per avviare il ciclo di formazione successivo. A ogni iterazione è possibile introdurre uno o alcuni trattamenti più sofisticati nella funzione di ricompensa per gestire le variabili precedentemente ignorate o regolare in modo sistematico gli iperparametri finché il risultato non converge.

Come avviene nella pratica generale del machine learning, è necessario valutare un modello addestrato di apprendimento per rinforzo per verificarne l'efficacia prima di distribuirlo a un agente fisico per l'esecuzione di inferenze in situazioni reali. Per la guida autonoma, la valutazione può essere basata sulla frequenza con cui un veicolo rimane in un determinato circuito dall'inizio alla fine o sulla velocità con cui può terminare il percorso senza uscire dal circuito. La DeepRacer simulazione AWS ti consente di eseguire la valutazione e pubblicare le metriche delle prestazioni per confrontarle con i modelli addestrati da altri DeepRacer utenti AWS in una classifica.