Sommario[Nascondere][Spettacolo]
I videogiochi continuano a rappresentare una sfida per miliardi di giocatori in tutto il mondo. Potresti non saperlo ancora, ma anche gli algoritmi di apprendimento automatico hanno iniziato a raccogliere la sfida.
Attualmente c'è una quantità significativa di ricerca nel campo dell'IA per vedere se i metodi di apprendimento automatico possono essere applicati ai videogiochi. I progressi sostanziali in questo campo lo dimostrano machine learning gli agenti possono essere usati per emulare o addirittura sostituire il giocatore umano.
Cosa significa questo per il futuro di video games?
Questi progetti sono semplicemente per divertimento o ci sono ragioni più profonde per cui così tanti ricercatori si stanno concentrando sui giochi?
Questo articolo esplorerà brevemente la storia dell'IA nei videogiochi. Successivamente, ti forniremo una rapida panoramica di alcune tecniche di apprendimento automatico che possiamo utilizzare per imparare a battere i giochi. Vedremo quindi alcune applicazioni di successo di reti neurali per imparare e padroneggiare videogiochi specifici.
Breve storia dell'IA nei giochi
Prima di approfondire il motivo per cui le reti neurali sono diventate l'algoritmo ideale per risolvere i videogiochi, esaminiamo brevemente come gli scienziati informatici hanno utilizzato i videogiochi per far avanzare la loro ricerca sull'IA.
Si può sostenere che, sin dall'inizio, i videogiochi sono stati un'area di ricerca calda per i ricercatori interessati all'IA.
Sebbene non sia strettamente un videogioco in origine, gli scacchi sono stati un grande obiettivo nei primi giorni dell'IA. Nel 1951, il Dr. Dietrich Prinz scrisse un programma per giocare a scacchi utilizzando il computer digitale Ferranti Mark 1. Era il lontano passato in cui questi computer ingombranti dovevano leggere i programmi dal nastro di carta.
Il programma stesso non era un'IA scacchistica completa. A causa dei limiti del computer, Prinz poteva solo creare un programma che risolvesse i problemi di scacchi con il compagno in due. In media, il programma ha impiegato 15-20 minuti per calcolare ogni possibile mossa per i giocatori Bianco e Nero.
Il lavoro per migliorare scacchi e dama L'intelligenza artificiale è migliorata costantemente nel corso dei decenni. Il progresso raggiunse il culmine nel 1997, quando Deep Blue di IBM sconfisse il grande maestro di scacchi russo Garry Kasparov in un paio di partite di sei partite. Al giorno d'oggi, i motori di scacchi che puoi trovare sul tuo cellulare possono sconfiggere Deep Blue.
Gli avversari dell'IA hanno iniziato a guadagnare popolarità durante l'età d'oro dei videogiochi arcade. Space Invaders del 1978 e Pac-Man degli anni '1980 sono alcuni dei pionieri del settore nella creazione di un'IA in grado di sfidare a sufficienza anche i giocatori arcade più veterani.
Pac-Man, in particolare, era un gioco popolare su cui i ricercatori di intelligenza artificiale potevano sperimentare. Vari concorsi per la signora Pac-Man sono stati organizzati per determinare quale squadra potrebbe inventare la migliore IA per battere il gioco.
L'intelligenza artificiale di gioco e gli algoritmi euristici hanno continuato a evolversi quando è sorta la necessità di avversari più intelligenti. Ad esempio, l'IA da combattimento è diventata popolare quando generi come gli sparatutto in prima persona sono diventati più mainstream.
Apprendimento automatico nei videogiochi
Poiché le tecniche di apprendimento automatico sono rapidamente diventate popolari, vari progetti di ricerca hanno cercato di utilizzare queste nuove tecniche per giocare ai videogiochi.
Giochi come Dota 2, StarCraft e Doom possono fungere da problemi per questi algoritmi di apprendimento automatico risolvere. Algoritmi di deep learning, in particolare, sono stati in grado di raggiungere e persino superare prestazioni a livello umano.
Il Ambiente di apprendimento arcade oppure ALE ha fornito ai ricercatori un'interfaccia per oltre cento giochi Atari 2600. La piattaforma open source ha consentito ai ricercatori di confrontare le prestazioni delle tecniche di apprendimento automatico sui classici videogiochi Atari. Google ha persino pubblicato il proprio carta utilizzando sette giochi dell'ALE
Nel frattempo, progetti come VizDoom ha dato ai ricercatori di intelligenza artificiale l'opportunità di addestrare algoritmi di apprendimento automatico per giocare a sparatutto in prima persona 3D.
Come funziona: alcuni concetti chiave
Reti neurali
La maggior parte degli approcci alla risoluzione dei videogiochi con l'apprendimento automatico coinvolge un tipo di algoritmo noto come rete neurale.
Puoi pensare a una rete neurale come a un programma che cerca di imitare come potrebbe funzionare un cervello. Simile a come il nostro cervello è composto da neuroni che trasmettono un segnale, una rete neurale contiene anche neuroni artificiali.
Questi neuroni artificiali si trasferiscono anche segnali l'uno con l'altro, poiché ogni segnale è un numero effettivo. Una rete neurale contiene più livelli tra i livelli di input e output, chiamati rete neurale profonda.
Insegnamento rafforzativo
Un'altra tecnica comune di apprendimento automatico rilevante per l'apprendimento dei videogiochi è l'idea dell'apprendimento per rinforzo.
Questa tecnica è il processo di addestramento di un agente utilizzando ricompense o punizioni. Con questo approccio, l'agente dovrebbe essere in grado di trovare una soluzione a un problema attraverso tentativi ed errori.
Diciamo che vogliamo che un'IA scopra come si gioca al gioco Snake. L'obiettivo del gioco è semplice: ottenere il maggior numero di punti possibile consumando oggetti ed evitando la coda che cresce.
Con l'apprendimento per rinforzo, possiamo definire una funzione di ricompensa R. La funzione aggiunge punti quando un serpente consuma un oggetto e sottrae punti quando il serpente colpisce un ostacolo. Dato l'ambiente attuale e una serie di possibili azioni, il nostro modello di apprendimento per rinforzo cercherà di calcolare la "politica" ottimale che massimizza la nostra funzione di ricompensa.
Neuroevoluzione
Mantenendosi in tema con l'essere ispirati dalla natura, i ricercatori hanno anche riscontrato successo nell'applicazione del ML ai videogiochi attraverso una tecnica nota come neuroevoluzione.
Invece di usare discesa gradiente per aggiornare i neuroni in una rete, possiamo utilizzare algoritmi evolutivi per ottenere risultati migliori.
Gli algoritmi evolutivi in genere iniziano generando una popolazione iniziale di individui casuali. Quindi valutiamo questi individui utilizzando determinati criteri. Gli individui migliori vengono scelti come "genitori" e vengono allevati insieme per formare una nuova generazione di individui. Questi individui sostituiranno quindi gli individui meno in forma della popolazione.
Questi algoritmi in genere introducono anche una qualche forma di operazione di mutazione durante la fase di crossover o "allevamento" per mantenere la diversità genetica.
Esempio di ricerca sull'apprendimento automatico nei videogiochi
OpenAI Cinque
OpenAI Cinque è un programma per computer di OpenAI che mira a giocare a DOTA 2, un popolare gioco multiplayer mobile battle arena (MOBA).
Il programma ha sfruttato le tecniche di apprendimento per rinforzo esistenti, ridimensionate per apprendere da milioni di fotogrammi al secondo. Grazie a un sistema di formazione distribuito, OpenAI è stata in grado di giocare ogni giorno per 180 anni di giochi.
Dopo il periodo di allenamento, OpenAI Five è stato in grado di ottenere prestazioni di livello esperto e dimostrare la cooperazione con i giocatori umani. Nel 2019, OpenAI cinque è stato in grado di farlo sconfitta 99.4% dei giocatori in partite pubbliche.
Perché OpenAI ha scelto questo gioco? Secondo i ricercatori, DOTA 2 aveva una meccanica complessa che era al di fuori della portata delle profondità esistenti insegnamento rafforzativo algoritmi.
Super Mario Bros.
Un'altra interessante applicazione delle reti neurali nei videogiochi è l'uso della neuroevoluzione per giocare a platform come Super Mario Bros.
Ad esempio, questo ingresso hackathon inizia senza avere alcuna conoscenza del gioco e costruisce lentamente le basi di ciò che è necessario per progredire attraverso un livello.
La rete neurale auto-evolvente prende lo stato attuale del gioco come una griglia di tessere. All'inizio, la rete neurale non ha alcuna comprensione del significato di ciascuna tessera, solo che le tessere "aria" sono diverse dalle "tessere terra" e dalle "tessere nemiche".
L'implementazione di una neuroevoluzione da parte del progetto hackathon ha utilizzato l'algoritmo genetico NEAT per allevare in modo selettivo diverse reti neurali.
Importanza
Ora che hai visto alcuni esempi di reti neurali che giocano ai videogiochi, potresti chiederti qual è lo scopo di tutto questo.
Poiché i videogiochi implicano interazioni complesse tra gli agenti e i loro ambienti, è il terreno di prova perfetto per creare IA. Gli ambienti virtuali sono sicuri e controllabili e forniscono una scorta infinita di dati.
La ricerca condotta in questo campo ha fornito ai ricercatori informazioni su come ottimizzare le reti neurali per imparare a risolvere i problemi nel mondo reale.
Reti neurali sono ispirati da come funzionano i cervelli nel mondo naturale. Studiando come si comportano i neuroni artificiali quando impariamo a giocare a un videogioco, possiamo anche ottenere informazioni su come il cervello umano .
Conclusione
Le somiglianze tra le reti neurali e il cervello hanno portato a intuizioni in entrambi i campi. La continua ricerca su come le reti neurali possono risolvere i problemi potrebbe un giorno portare a forme più avanzate di intelligenza artificiale.
Immagina di utilizzare un'IA su misura per le tue specifiche in grado di riprodurre un intero videogioco prima di acquistarlo per farti sapere se ne vale la pena. Le aziende di videogiochi userebbero le reti neurali per migliorare il design del gioco, il livello di modifica e la difficoltà dell'avversario?
Cosa pensi accadrà quando le reti neurali diventeranno i giocatori per eccellenza?
Lascia un Commento