Home / ML Machine Learning / Come si può addestrare una rete neurale a giocare a Snake

Come si può addestrare una rete neurale a giocare a Snake

Allo stato attuale, i videogiochi rivestono un ruolo cruciale quando si tratta di sviluppo e valutazione di modelli AI e ML. Questa metodologia è dietro l’angolo da alcuni decenni. Il computer digitale Nimrod su misura di Ferranti introdotto nel 1951 è il primo esempio noto di intelligenza artificiale nei giochi che ha utilizzato il gioco nim ed è stato usato per dimostrare le sue capacità matematiche.

Attualmente, gli ambienti di gioco sono stati attivamente utilizzati per l’analisi comparativa degli agenti di intelligenza artificiale a causa della loro efficienza nei risultati. In uno dei nostri articoli, abbiamo discusso di come i ricercatori giapponesi hanno usato il gioco Mega Man 2 per valutare gli agenti di intelligenza artificiale. Oltre a questo, ci sono molti casi popolari in cui i ricercatori hanno utilizzato giochi per valutare l’intelligenza artificiale come AlphaGo di DeepMind per battere i giocatori professionisti di Go, Libratus per battere i giocatori professionisti del Texas Hold’em Poker, tra gli altri.

In questo articolo, diamo un’occhiata a un altro semplice videogioco chiamato Snake e come gli algoritmi di apprendimento automatico possono essere implicati per giocare a questo semplice gioco.

Il gioco Snake è uno dei videogiochi classici a cui tutti abbiamo giocato almeno una volta nella nostra infanzia. In questo gioco, il giocatore controlla il serpente per massimizzare il punteggio mangiando mele che vengono generate in punti casuali. Il serpente continuerà a crescere di una griglia ogni volta che il serpente mangia una mela. L’unica regola è che il serpente deve evitare la collisione per sopravvivere.

I ricercatori di tutto il mondo hanno implementato vari algoritmi di apprendimento automatico in questo gioco di culto. Di seguito, abbiamo menzionato alcune implementazioni di algoritmi di rete neurale nel classico gioco Snake.

Gioco Snake con reti neurali e algoritmo genetico
In un articolo, i ricercatori dell’Università della Tecnologia, in Polonia, hanno utilizzato una struttura di rete neurale che decide quale azione intraprendere da un determinato input. La rete neurale è chiamata DNA dai ricercatori. La classe del DNA è la parte più importante del serpente in quanto è il “cervello” che prende ogni decisione.

La classe ha matrici con pesi e separate con distorsione, che rappresentano ogni strato della rete neurale . Il passaggio successivo è seguito dalla creazione di una funzione che consenta di calcolare le sue prestazioni, in cui le prestazioni includono il numero di mosse eseguite dal serpente senza morire e i punteggi.

L’implemento
I ricercatori hanno utilizzato le reti neurali con 1 strato nascosto con 6 neuroni e l’algoritmo genetico per scoprire quale metodo e parametri sono i migliori. Inizialmente, hanno generato casualmente la popolazione di serpenti con una dimensione ottimale di 2000. Quindi hanno lasciato giocare i serpenti per capire quanti passaggi sono stati eseguiti e quante mele hanno mangiato il serpente.

Ciò ha portato al calcolo della forma fisica di ciascun serpente che aiuta a vedere quale ha funzionato meglio e quale dovrebbe avere una maggiore probabilità di essere scelto per la riproduzione. Per la parte Selezione, i ricercatori hanno scelto una coppia di serpenti (genitori) che daranno il DNA al nuovo serpente (bambino) in cui la probabilità di essere scelta si basa sulla forma fisica. Dopo aver scelto i genitori, i ricercatori hanno incrociato il loro DNA prelevando alcuni dei pesi dal padre e alcuni dalla madre e applicandoli al loro bambino.

Leggi anche Perché un principiante della scienza dei dati dovrebbe conoscere la composizione elettronica
Dopo la selezione, il passaggio successivo è una mutazione che segue quando ogni nuovo serpente eredita la rete neurale dai genitori. Quindi i processi di riproduzione e mutazione vengono ripetuti per ottenere i migliori risultati.

Gioco Snake con Deep Reinforcement Learning
In questa ricerca, i ricercatori hanno sviluppato un modello di Deep Reinforcement Learning perfezionato per consentire all’agente autonomo di giocare al classico SnakeGame, il cui vincolo diventa più rigoroso man mano che il gioco procede. I ricercatori hanno impiegato una rete neurale convoluzionale (CNN) addestrata con una variante del Q-learning.

Inoltre, hanno proposto un meccanismo di ricompensa progettato per addestrare adeguatamente la rete, adottare una strategia di gap formativo per aggirare temporaneamente l’allenamento dopo la posizione dei cambiamenti target e introdurre un metodo di replay a doppia esperienza per classificare diverse esperienze per una migliore efficacia dell’allenamento. Secondo i ricercatori, i risultati sperimentali hanno dimostrato che l’agente ha sovraperformato il modello DQN ( Deep Q-Learning Network ) di base e ha superato le prestazioni a livello umano in termini sia di punteggi di gioco che di tempo di sopravvivenza nel gioco Snake.

Top

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi