Una chiacchierata con il team DeepMind che lavora su StarCraft IIJustin Groot, Blizzard Entertainment|4 marzo 2018

All'uscita di StarCraft nel 1998, il ricercatore di DeepMind Oriol Vinyals era un ragazzino in Spagna. Si appassionò al gioco e scalò la classifica, piazzandosi terzo alle qualificazioni per i World Cyber Games (WCG). Da allora, è diventato uno dei migliori ricercatori esistenti nel campo dell'intelligenza artificiale. Il suo attuale progetto è lo sviluppo di un bot, o "agente", in grado di padroneggiare StarCraft II.

///

Grazie per essere qui con noi. Vuoi presentarti?

Oriol: Mi chiamo Oriol Vinyals e lavoro come ricercatore a DeepMind. Sono a capo del progetto su StarCraft II. Il mio scopo è creare un'intelligenza artificiale molto avanzata. StarCraft è un ottimo campo di ricerca, me ne sono occupato anche durante il mio dottorato a Berkeley.

Hai lavorato su StarCraft durante il dottorato?

Oriol: Un mio amico mi aveva detto che c'era un gruppo di persone che stava organizzando una competizione IA contro IA. Sapeva che io avevo giocato a livelli abbastanza seri, per cui mi ha consigliato di andare a vedere quale fosse il loro approccio.

Stavano sviluppando un bot basato sulla Mutalisca zerg. Io ho iniziato a giocare contro l'agente. Credo che mi chiamassero "l'allenatore".

L'approccio di quel progetto era basato su un sistema di regole empiriche. "Costruiremo molte Mutalische e seguiremo un ordine di costruzione che dovrebbe resistere contro i rush iniziali, poi ci espanderemo a sufficienza per continuare la produzione," cose del genere. Questo approccio era molto programmatico, ma l'agente imparò la micro-gestione delle Mutalische. Addirittura vincemmo quella competizione. Fu molto divertente.

Quali sono le differenze tra quel tipo di lavoro e quello che fai ora a DeepMind?

Oriol: DeepMind sta sviluppando una cosiddetta AGI, un'intelligenza artificiale generale. Non sviluppiamo un agente che sappia giocare a uno specifico gioco, ma vogliamo capire il processo di apprendimento in modo che l'agente possa giocare a qualsiasi gioco senza molta conoscenza pregressa. Ho pensato che fosse divertente sviluppare un bot senza scrivere le regole, ma fornendo all'agente la visuale sullo schermo. "Ecco il mouse e la tastiera: inizia a interagire col gioco e a migliorare."

Perché DeepMind ha scelto StarCraft?

Oriol: Il gioco offre molte sfide per le IA. In Go, vedi sempre tutto il tabellone, ma in StarCraft non vedi tutta la mappa, devi esplorarla. Anche l'interfaccia è un ottimo banco di prova per capire se l'agente sa interagire con un gioco puntando e cliccando, invece che con le 14 azioni possibili sull'Atari. È una sfida interessante.

Come procede il progetto?

Oriol: Ci sono alcune cose che saltano subito all'occhio, e che possono sembrare ovvie col senno di poi. Per esempio, un'azione è spostare la visuale sulla mappa. Gli agenti casuali spostano la visuale ma non la riportano mai sulla loro base per vedere quello che dovrebbero fare e le strutture che dovrebbero costruire.

Un concetto così semplice per gli umani, spostare la visuale e aiutarsi con la minimappa in basso a sinistra, non è ovvio per gli agenti, che cliccano sulla minimappa senza ottenere niente. Quando qualcuno è così fortunato da cliccare di nuovo sulla base, esegue qualche azione completamente casuale, come selezionare tutti i lavoratori e mandarli da qualche parte.

Non è un bello spettacolo. A questo punto dovrebbero ottenere qualche segnale, qualche ricompensa. A volte sono fortunati e compiono un'azione corretta, e solo in questo caso iniziano ad apprendere. A differenza dei giochi Atari, dove puoi fare rapidamente qualcosa di sensato, il campo d'azione di StarCraft è talmente ampio che la partenza è più difficile, specialmente se non si pongono dei limiti.

Abbiamo creato una serie di mini-giochi, versioni semplificate di StarCraft. Abbiamo isolato alcuni aspetti del gioco in mappe il cui scopo era, per esempio, "espanditi e crea molti lavoratori" o "sposta le unità e cerca di esplorare la mappa il prima possibile" e così via. Nei mini-giochi, gli agenti hanno potuto imparare le basi dello spostamento delle unità, del combattimento...

(Per ulteriori dettagli, consulta l'articolo di DeepMind e Blizzard sui primi risultati con StarCraft II.)

C'è stata qualche sorpresa?

Oriol: C'è una mappa in cui ci sono due Marine, e la loro missione è raccogliere minerali sparsi sul campo. Per gli agenti è sorprendentemente difficile capire che i Marine possono essere usati separatamente. Quello che l'agente è stato in grado di capire è l'uso del comando Pattuglia. Non lo sapevo nemmeno io, ma Pattuglia mantiene una distanza costante tra i Marine, consentendo loro di raccogliere più minerali anche quando sono controllati assieme. È stata la prima volta in cui mi sono reso conto di aver imparato qualcosa di nuovo su StarCraft II.

( Video )

Parliamoci chiaro. Questa cosa diventerà meglio di qualsiasi essere umano?

Oriol: Non lo so. Penso che l'approccio possa essere esteso. Se crei un bot come quello di Berkeley del 2010, il bot imparerà uno, due o tre ordini di costruzione, ma non potrà progredire molto. Sarà possibile studiarlo ed esporre i punti deboli. Quello che mi piace del nostro approccio è che se funzionerà, l'agente avrà appreso un'ampia gamma di tattiche e contromosse che non avrebbero potuto essere programmate, allo stesso modo in cui non è possibile programmare un buon giocatore di Go.

Non so se potrà battere i migliori giocatori. Lo vedremo. Non è qualcosa che posso prevedere.


Altri contenuti sul 20° Anniversario

La storia di Kevin "monk" Dong, progettista delle Missioni cooperative

Scarlett, NoRegreT e la casa che sta cambiando gli eSport di StarCraft II

Mike Morhaime parla di 20 anni di eSport di StarCraft

Evoluzione completata: riprogettare unità classiche per StarCraft II