L'AI ci batte ai videogame ma per una buona causa
Sshhh. Spegnete i vostri smartphone, disabilitate i vostri Google Home. Le macchine possono ora sentirci? No? Ottimo. Compagni esseri umani, dobbiamo parlare. L'AI ci sta battendo ai videogiochi. È imbarazzante, ma oltre all'orgoglio biologico, perché dovremmo preoccuparcene? Perché tanto sforzo e tanto denaro vengono spesi per insegnare alle intelligenze artificiali a giocare bene? I videogiochi non sono affatto uno svago per robot, in realtà stanno andando a scuola.
Nel 1997 ha avuto luogo una partita che ha fatto sobbalzare il mondo. Quando il supercomputer IBM Deep Blue ha battuto Garry Kasparov in una partita a scacchi, è stato visto come un segno che l'intelligenza del computer aveva superato quella degli esseri umani, ma Deep Blue non era un genio. Il campione ha vinto con la forza bruta pura valutando milioni di posizioni alla volta per trovare la migliore. Triste per la filosofia degli scacchi, ma l'umanità era al sicuro dalla concorrenza delle AI per quanto riguarda molti altri giochi.
L'antico gioco cinese Go, che occupa una posizione culturale simile al gioco degli scacchi, è stato il successivo a cadere. Go ha regole più semplici rispetto agli scacchi ma dispone di molte più mosse e in genere richiede più intuizione che semplice potenza di calcolo. Si è dovuto aspettare il 2015, quando il programma AlphaGo di Google DeepMind ha sorprendentemente sconfitto Lee Sedol facendo emergere un'intelligenza artificiale vincente. Il segreto del successo? ll deep learning.
Naturalmente i videogiocatori sfruttano la AI da molti anni, il fatto è che i nostri avversari AI sono stati ridicolmente facili da battere e sfruttare, costringendo gli sviluppatori dei giochi a ricorrere a vantaggi ingiusti per i propri bot. Non possiamo biasimarli, dal momento che è difficile per una AI semplice presentare una sfida agli esseri umani esperti.
In realtà potete provare voi stessi a programmare una AI per un videogioco. Per farvi un'idea della complessità dovreste provare Gladiabots, un gioco in cui si programma una squadra di robot per combattere e portare a termine degli obiettivi in degli scontri con squadre programmate in maniera simile.
Nonostante sia abbastanza facile anche per un novizio come me, ho visto quanto può essere complesso programmare priorità, sequenze e condizioni seguendo le regole e gli obiettivi dei videogiochi. E Gladiabots dispone solo di bot che seguono le varie istruzioni. Quando si inserisce l'apprendimento nel mix la questione diventa davvero interessante.
Educare i robot attraverso il gioco
Ogni volta che una AI batte dei giocatori umani di talento in un videogioco c'è un po' di rumore nelle notizie. Recentemente, OpenAI Five, un team di algoritmi informatici, ha battuto degli ex giocatori professionisti nel popolare gioco Dota 2 e non è stato nemmeno un gioco da ragazzi. Dota 2 è un MOBA (multiplayer online battle arena) che richiede coordinamento del team, strategia a lungo termine, gestione delle risorse e anche una micro-gestione degli eroi che lottano ogni volta.
I progressi di OpenAI Five nel padroneggiare Dota mostrano quanto velocemente le intelligenze artificiali possano sviluppare le loro abilità con il deep learning. I Five stavano perdendo contro giocatori amatoriali nel mese di maggio. A giugno l'intelligenza artificiale ha imparato abbastanza per sconfiggere i giocatori occasionali di livello superiore e ora è abbastanza brava da sconfiggere degli ex professionisti. Il passo successivo? Gli attuali campioni professionisti.
Questo team di AI sta imparando al ritmo di 180 anni al giorno, ha affermato il CTO OpenAI Greg Brockman in un'intervista a The Verge. Ovviamente nessuna vita umana è abbastanza lunga per imparare un videogioco in questo modo. Invece ci affidiamo alla nostra intelligenza generale e alla conoscenza raccolta attraverso l'interazione con il mondo e impariamo a giocare in base alle informazioni in nostro possesso. Ma i videogiochi possono anche aiutare a sviluppare un'intelligenza più generale, come vedremo in seguito.
Tutto estremamente divertente, ma se non vi importa di chi vince? Non stiamo alimentando le AI con queste masse di dati solo per vederli giocare. Stiamo insegnando loro le competenze per aiutarci nella nostra vita quotidiana.
Gli obiettivi: spostamenti e cooperazione
Siamo sempre più vicini al punto in cui avere una AI al nostro fianco in uno spazio condiviso nel mondo reale per aiutarci sarà realtà. Ma non ci siamo ancora arrivati. Una macchina ha sensi diversi dai nostri e se ha bisogno di muoversi nel mondo (per esempio se è un'auto che si guida da sola o una sorta di assistente robotico), deve essere in grado di navigare nello spazio fisico e reagire ad altri oggetti in movimento nel mondo.
Idealmente una AI dovrebbe essere in grado di cooperare con un essere umano nello stesso spazio. I videogiochi sono mondi virtuali che tentano di simulare il mondo reale ma sono progettati per essere navigati dagli esseri umani. Questo rende i giochi un ponte utile tra la percezione umana e quella della macchina.
Ad esempio, Microsoft ha avviato il progetto Malmo nel 2016 con l'obiettivo di utilizzare la meccanica di esplorazione e costruzione del mondo virtuale aperto di Minecraft per aiutare i ricercatori nel campo della AI a insegnare alle macchine come muoversi nello spazio reale. Il progetto Malmo è ancora in corso e dimostra che non è solo la violenza simulata ad essere utile per l'allenamento.
Ma parlando di violenza, la controllata di Google DeepMind ha addestrato una AI nel giocare a Quake III in modalità "cattura la bandiera", con i bot che non hanno più informazioni iniziali di quelle che un essere umano avrebbe, cioè solo l'input visivo dallo schermo.
Eppure la AI è stata ancora in grado di padroneggiare le regole di cattura la bandiera e di proporre diverse strategie e tattiche cooperative, cioè ha imparato a sfruttare l'intelligenza collettiva e la cooperazione verso un obiettivo condiviso in un ambiente complesso, vitale per i nostri futuri compagni robot.
MOBA complessi come Dota 2 generano enormi quantità di informazioni che consentono agli AI di digerire e imparare, ma soprattutto, di insegnare loro abilità preziose. Lavorare per un obiettivo condiviso, risolvere rapidamente i problemi, pianificare a lungo termine e lavorare in team... immaginate tutto questo in collaborazione con gli esseri umani, non in competizione con noi. Sulla scacchiera o nelle mappe dei videogiochi, la AI si scontra con noi come avversario, ma in realtà sta imparando ad essere nostro compagno.
Quindi, in uno spirito di amichevole competizione, in quale arena possiamo aspettarci di essere eliminati dalle AI nel prossimo futuro?
La prossima tappa: StarCraft II
Scacchi e Go possono essere caduti lungo la strada, ma c'è un gioco competitivo che detiene una riverenza simile nel mondo di gioco: StarCraft e il suo successore, StarCraft II. Spesso paragonati agli scacchi a livello agonistico, StarCraft è un eSport in grado di riempire gli stadi in Corea del Sud, sede della maggior parte dei migliori giocatori professionisti.
In StarCraft i giocatori devono esplorare la mappa, proteggere ed estrarre risorse, costruire la loro base e il loro esercito (con unità dai diversi punti di forza, punti deboli e costi in risorse) e padroneggiare sia la strategia a lungo termine e l'arte della micro-gestione delle loro unità in tempo reale quando incontrano il nemico. Anche i migliori giocatori umani possono raggiungere fino a 600 azioni al minuto (APM) o 10 azioni al secondo. Ovviamente le APM non è un problema per i computer, ma imparare tutto il resto ad un livello tale da poter battere le menti strategiche dei professionisti umani lo è.
L'anno scorso DeepMind ha collaborato con i creatori di StarCraft (tale Blizzard Entertainment) per rilasciare un progetto di ricerca AI di StarCraft II, ma non abbiamo ancora visto alcuna rivoluzione come accaduto con OpenAI e Dota 2. È un gioco più complesso e la strada è lunga, ma c'è in gioco molto di più che creare un buon giocatore di StarCraft II.
Nell'ultimo check-in con il progetto StarCraft II AI, Oriol Vinyals scienziato ricercatore di DeepMind, ha sottolineato che l'obiettivo del progetto è quello di rendere la AI più intelligente in generale, non solo in un gioco specifico:
DeepMind sta costruendo ciò che la gente chiama "AGI", l'intelligenza artificiale generale. Non stiamo specificamente costruendo una macchina per giocare ad un gioco, ma vogliamo capire che cosa è il paradigma di apprendimento, in modo che questa macchina possa giocare a qualsiasi gioco senza molta conoscenza preliminare. Ho pensato che sarebbe stato molto impegnativo, e abbastanza divertente, costruire un bot dove invece di scrivere delle regole ci limitiamo a fornire al giocatore lo schermo come input. "Ecco il mouse e una tastiera. Continua pure, inizia a interagire con il gioco e cerca di ottenere di meglio da esso".
Resta da vedere se un'intelligenza artificiale in grado di battere la créme de la créme dei giocatori emergerà da questo studio, ma voglio essere presente quando sarà scritta la prossima pagina di storia a la Kasparov vs Deep Blue. È ancora più emozionante pensare che attraverso queste simulazioni di guerra, gli esseri umani e l'intelligenza artificiale stanno diventando un po' più vicini alla comprensione reciproca.
Pensate che i videogiochi in realtà insegnino buone abilità utili nel mondo reale?