Spazio DeepRacer d'azione AWS e funzione di ricompensa - 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à.

Spazio DeepRacer d'azione AWS e funzione di ricompensa

Spazio d'azione

Nell'apprendimento per rinforzo, l'insieme di tutte le azioni o scelte valide disponibili per un agente quando interagisce con un ambiente è chiamato spazio d'azione. Nella DeepRacer console AWS, puoi addestrare gli agenti in uno spazio di azione discreto o continuo.

Spazio d'azione discreto

Uno spazio d'azione discreto rappresenta tutte le possibili azioni di un agente per ogni stato in un insieme finito. Per AWS DeepRacer, ciò significa che per ogni situazione ambientale sempre diversa, la rete neurale dell'agente seleziona una velocità e una direzione per l'auto in base agli input delle sue telecamere e del sensore LiDAR (opzionale). La scelta è limitata a un raggruppamento di combinazioni predefinite di angolo di sterzata e valori dell'acceleratore.

Un' DeepRacer auto AWS in uno spazio d'azione discreto che si avvicina a una curva può scegliere di accelerare o frenare e girare a sinistra, a destra o andare dritto. Queste azioni sono definite come una combinazione di angolo di sterzata e velocità, creando un menu di opzioni, da 0 a 9, per l'agente. Ad esempio, 0 potrebbe rappresentare -30 gradi e 0,4 m/s, 1 potrebbe rappresentare -30 gradi e 0,8 m/s, 2 potrebbe rappresentare -15 gradi e 0,4 m/s, 3 potrebbe rappresentare -15 gradi e 0,8 m/s e così via fino a 9. I gradi negativi ruotano l'auto a destra, i gradi positivi a sinistra e 0 mantiene le ruote dritte.

Lo spazio di azione discreto DeepRacer predefinito di AWS contiene le seguenti azioni:

Spazio di azione discreto DeepRacer predefinito di AWS
Numero azione Sterzata Velocità
0 -30 gradi 0,4 m/s
1 -30 gradi 0,8 m/s
2 -15 gradi 0,4 m/s
3 -15 gradi 0,8 m/s
4 0 gradi 0,4 m/s
5 0 gradi 0,8 m/s
6 15 gradi 0,4 m/s
7 15 gradi 0,8 m/s
8 30 gradi 0,4 m/s
9 30 gradi 0,8 m/s
Spazio d'azione continuo

Uno spazio di azione continuo consente all'agente di selezionare un'azione da un intervallo di valori per ogni stato. Proprio come con uno spazio d'azione discreto, ciò significa che per ogni situazione ambientale sempre diversa, la rete neurale dell'operatore seleziona una velocità e una direzione per l'auto in base agli input delle sue telecamere e del sensore LiDAR (opzionale). Tuttavia, in uno spazio di azione continuo, è possibile definire la gamma di opzioni tra cui l'agente sceglie l'azione.

In questo esempio, l' DeepRacer auto AWS in uno spazio di azione continua che si avvicina a una curva può scegliere una velocità da 0,75 m/s a 4 m/s e girare a sinistra, a destra o andare dritto scegliendo un angolo di sterzata da -20 a 20 gradi.

Discreto vs. continuo

Il vantaggio dell'utilizzo di uno spazio di azione continuo è la possibilità di scrivere funzioni di ricompensa che addestrano i modelli a incentivare le azioni di velocità/sterzo in punti specifici di un binario che ottimizzano le prestazioni. La scelta tra una serie di azioni crea anche la possibilità di modificare senza intoppi i valori di velocità e sterzo che, in un modello ben addestrato, possono produrre risultati migliori in condizioni reali.

In uno spazio d'azione discreto, limitare le scelte di un agente a un numero finito di azioni predefinite spetta all'utente comprendere l'impatto di tali azioni e definirle in base all'ambiente (pista, formato di gara) e alle funzioni di ricompensa. Tuttavia, in uno spazio d'azione continuo, l'agente impara a scegliere la velocità e i valori di sterzata ottimali in base ai limiti min/max forniti durante l'allenamento.

Sebbene fornire una gamma di valori tra cui scegliere il modello sembri l'opzione migliore, l'agente deve allenarsi più a lungo per imparare a scegliere le azioni ottimali. Il successo dipende anche dalla definizione della funzione di ricompensa.

Funzione di ricompensa

Man mano che l'agente esplora l'ambiente, apprende una funzione di valore. La funzione value aiuta l'agente a giudicare l'efficacia di un'azione intrapresa dopo aver osservato l'ambiente. La funzione value utilizza la funzione di ricompensa che scrivi nella DeepRacer console AWS per assegnare un punteggio all'azione. Ad esempio, nella funzione di ricompensa follow the center line sample nella DeepRacer console AWS, una buona azione manterrebbe l'agente vicino al centro della traccia e avrebbe un punteggio più alto rispetto a un'azione sbagliata, che allontanerebbe l'agente dal centro della traccia.

Nel tempo, la funzione value aiuta l'agente ad apprendere politiche che aumentano la ricompensa totale. La politica ottimale, o migliore, dovrebbe bilanciare la quantità di tempo che l'agente dedica all'esplorazione dell'ambiente con la quantità di tempo che impiega a sfruttare, o a fare il miglior uso, di ciò che la policy ha appreso attraverso l'esperienza.

Nell'esempio che segue la linea centrale della funzione AWS DeepRacer sample reward, l'agente esegue innanzitutto azioni casuali per esplorare l'ambiente, il che significa che non fa molto bene a rimanere al centro del percorso. Col tempo, l'agente inizia a capire quali azioni lo mantengono vicino alla linea centrale, ma se lo fa continuando a compiere azioni casuali, ci vorrà molto tempo per imparare a rimanere vicino al centro della pista per l'intero giro. Quindi, man mano che la policy inizia ad apprendere le buone azioni, l'agente inizia a utilizzare tali azioni invece di intraprendere azioni casuali. Tuttavia, se utilizza o sfrutta sempre le buone azioni, l'agente non farà nuove scoperte, perché non sta più esplorando l'ambiente. Questo compromesso viene spesso definito come il problema dell'esplorazione rispetto allo sfruttamento in RL.

Sperimenta con gli spazi di azione predefiniti e le funzioni di ricompensa di esempio. Dopo averli esplorati tutti, metti a frutto le tue conoscenze progettando spazi di azione personalizzati e funzioni di ricompensa personalizzate.