Una chiacchierata con il team DeepMind che lavora su StarCraft II
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