Istruttore: Salve,
amici, e benvenuti a questo nuovo caso d'uso della scienza dei dati
con ChatGPT, che questa volta riguarderà l'apprendimento per rinforzo.
Quindi diremo subito a ChatGPT che abbiamo
programmato un'auto virtuale a guida autonoma senza ancora alcuna intelligenza
artificiale.
Quindi abbiamo appena implementato la capacità di avanzare, girare a sinistra,
girare a destra e fermarsi.
E diremo che questa auto a guida autonoma viene premiata se riesce
a raggiungere una certa destinazione,
e penalizzata se si allontana da questa destinazione
o se incontra degli ostacoli.
Ok, e poi chiederemo a ChatGPT quale modello
di AI dovrebbe essere implementato per
l'auto a guida autonoma e come.
Ok?
Quindi facciamo così.
Aprirò una nuova chat qui.
E all'interno diremo
esattamente: "Ehi, ho programmato
un'auto a guida autonoma virtuale con
le azioni di andare avanti, girare
a sinistra, girare a destra e fermarsi.
L'auto viene premiata quando
raggiunge una certa destinazione
e penalizzata
se si allontana dalla destinazione o se incontra
degli ostacoli. Ok, ora siamo più avidi.
Volevo solo chiedere qualche
consiglio su come costruire un modello di apprendimento
per rinforzo per l'auto a guida autonoma, ma in realtà chiediamo di costruirlo
direttamente.
Perché no?
Vediamo di cosa è capace ChatGPT.
Quindi chiederò: "Puoi
scrivermi un codice Python utilizzando
le migliori librerie per costruire un
modello di apprendimento per rinforzo che implementi
l'intelligenza artificiale all'interno dell'auto a guida autonoma?
Va
bene, è un po' avido chiederlo, ma non si sa mai.
ChatGPT potrebbe darci esattamente quello che vogliamo.
Quindi proviamo e se
incontra qualche problema, lo aiuteremo.
Ok, premiamo Invio ed eccoci al punto di partenza.
Certo, ok, è di nuovo un ottimo inizio.
"Posso aiutarvi a iniziare a implementare un modello di apprendimento
per rinforzo per la vostra auto a guida
autonoma in Python. Incredibile.
"Ecco un po' di codice che dimostra
come si può usare la libreria OpenAI Gym. Fantastico.
"Per addestrare un modello
di apprendimento per rinforzo per la vostra auto a guida autonoma. Ok, è davvero incredibile, non mi aspettavo che ChatGPT lo facesse
così facilmente e ha senso quello che
sta facendo ora.
Inizializza la tabella Q, il numero
di stati, il numero di azioni, il tasso di apprendimento
inizializzato a 0. 1, un fattore
di sconto a 0. 95.
Questo è davvero incredibile, sono in soggezione.
Il tasso di esplorazione a 0. 5, il numero massimo di episodi a 1.000,
il numero massimo di passi per episodio
a 100.
Poi addestra il modello di apprendimento Q, sorprendente.
Lo sfiderò allora a implementare un modello più avanzato
come il modello di
apprendimento profondo Q, o l'A3C, ma vediamo.
Implementa tutto da zero con il ciclo For.
Inizia scegliendo un'azione, poi implementa
la fase in cui l'intelligenza artificiale
compie l'azione, aggiorna la tabella Q e imposta
lo stato al giorno successivo.
Questo è davvero il processo di apprendimento per rinforzo, il processo di
apprendimento Q, è incredibile.
Poi implementa anche il modo di testare il modello
di apprendimento Q e infine chiude l'ambiente.
Wow, è stato davvero incredibile.
Ok, non mi aspettavo tanto.
Quindi, visto che l'ha fatto così facilmente,
sfidiamolo ancora di più, ancora più duramente.
Quindi, per prima cosa, diciamo, ovviamente, "Grazie
mille, è stato davvero utile".
Tuttavia, so
già come implementare
il Q-learning.
Potreste quindi
fare lo stesso con un modello di apprendimento
per rinforzo più avanzato come, ad
esempio, il deep Q-learning. O meglio ancora, siamo super avidi.
"Un modello di apprendimento per rinforzo allo stato dell'arte. Ok, siete pronti?
Eccoci qua.
E: "Certamente. Lui dice sempre: "Certamente. È incredibile.
"Ecco un po' di codice che dimostra come sia possibile utilizzare
la libreria OpenAI baselines per addestrare
un modello di apprendimento Q profondo,
DQN, per la propria auto a guida autonoma. E ci risiamo.
Ci fornisce il codice.
È davvero incredibile.
Bene, quindi sì, ora utilizza la libreria Wrap DeepMind dalla
libreria comune Atari della linea di base e implementa
nuovamente l'IA con il modello di
apprendimento profondo Q questa volta.
È davvero, davvero incredibile.
"Questo codice utilizza l'algoritmo DQN per addestrare un modello di apprendimento profondo
Q per l'auto a guida autonoma.
Il modello imparerà a intraprendere l'azione
migliore in ogni stato per massimizzare la ricompensa.
In alternativa, se si desidera
utilizzare un modello di apprendimento per rinforzo più avanzato, è possibile utilizzare
la libreria OpenAI Spinning Up, che fornisce implementazioni di algoritmi
di apprendimento per rinforzo all'avanguardia.
Ecco un codice che dimostra come sia possibile utilizzare
la libreria Spinning Up per addestrare un modello di ottimizzazione
delle politiche prossimali, PPO. In effetti, si tratta di un ottimo modello.
"Per la vostra auto a guida autonoma. Ed ecco che viene riproposto il modello
con l'intero codice.
Wow, che rivoluzione questa ChatGPT.
Davvero, sono davvero impressionato.
Bene, ecco fatto, avete il codice.
"Questo codice utilizza l'algoritmo PPO per addestrare
un modello di apprendimento per
rinforzo per l'auto a guida autonoma.
Il modello imparerà a compiere azioni
per massimizzare la somma attesa delle ricompense scontate.
Spero che questo sia d'aiuto.
Fatemi sapere se avete domande
o se desiderate ulteriore assistenza. Beh, nemmeno io mi aspettavo tanto, quindi
sono impressionato proprio
come te, che fai tutto questo nello stesso momento.
Quindi diremo: "Un grande grazie, è stato fantastico". E fatto.
Grazie ancora per aver seguito questo caso d'uso
della scienza dei dati con ChatGPT.
Passiamo ora al prossimo.
E fino ad allora, godetevi l'apprendimento automatico.