Articles

20 anni dopo Deep Blue: Come l’IA è avanzata dalla conquista degli scacchi

Vent’anni fa il computer Deep Blue di IBM ha sbalordito il mondo diventando la prima macchina a battere un campione del mondo in carica in una partita di sei partite. Il successo del supercomputer contro un incredulo Garry Kasparov ha scatenato polemiche su come una macchina fosse riuscita a superare in astuzia un gran maestro, e ha incitato accuse—da parte di Kasparov e altri—che la società aveva truffato la sua strada verso la vittoria. La realtà di ciò che è accaduto nei mesi e negli anni precedenti a quella fatidica partita nel maggio 1997, tuttavia, era in realtà più evolutiva che rivoluzionaria – un’ascesa rocciosa simile a Balboa piena di partite di sparring intellettuali, progressi scrupolosi e una sconfitta a Philadelphia che alla fine ha posto le basi per una rivincita trionfale.

Gli informatici avevano per decenni visto gli scacchi come un metro per l’intelligenza artificiale. Calcolatrici scacchi-playing emerse alla fine del 1970, ma sarebbe stato un altro decennio prima che una squadra di studenti laureati Carnegie Mellon University costruito il primo computer—chiamato Pensiero profondo—per battere un grande maestro in un gioco regolare torneo. Questo successo è stato di breve durata-più tardi nello stesso anno, 1989, Kasparov ha battuto Deep Thought comodamente nei due giochi. IBM è rimasto abbastanza impressionato dalla tecnologia del team C. M. U. per portare i suoi ricercatori a bordo per sviluppare una prima versione del successore di Deep Blue—Deep Thought. La squadra Deep Blue perse nuovamente contro Kasparov nel 1996 in un torneo a Philadelphia, ma riuscì a vincere una partita su sei contro il campione del mondo.

Quella vittoria apparentemente piccola “è stata molto importante per noi per dimostrare che eravamo sulla strada giusta”, afferma l’esperto di IA Deep Blue Murray Campbell, ora un illustre membro dello staff di ricerca nel gruppo AI Foundations all’interno dell’organizzazione Cognitive Computing di IBM TJ Watson Research Center. “Al momento della nostra partita finale in 1997, avevamo apportato abbastanza miglioramenti al sistema in base alla nostra esperienza che siamo stati in grado di vincere.”Scientific American ha parlato con Campbell della lunga ossessione degli informatici per gli scacchi, di come IBM sia stata in grado di ribaltare le sorti del campione di scacchi in carica e delle sfide che ci attendono per l’IA.

Come sei stato coinvolto per la prima volta nel progetto Deep Blue?
Ho fatto parte di un gruppo di studenti laureati presso la Carnegie Mellon University che IBM si avvicinò. Avevo avuto un lungo interesse per gli scacchi al computer e avevo anche scritto un programma di scacchi come studente universitario. Alla C. M. U. Stavo lavorando sull’intelligenza artificiale più in generale e non esattamente sulla costruzione di un computer di scacchi ad alte prestazioni che potesse giocare contro un campione del mondo. Ma come progetto parallelo alcuni di noi hanno sviluppato la macchina che divenne nota come Deep Thought, che divenne il primo programma a sconfiggere un grande maestro, un giocatore di livello professionale in un torneo.

IBM ha notato i successi che stavamo avendo la costruzione di questa macchina con un budget ridotto e ha pensato che sarebbe stato interessante avere un gruppo di noi unirsi IBM Research per sviluppare la prossima generazione di questa macchina, chiamata Deep Blue. Volevano sapere se c’era qualcosa di speciale nei migliori giocatori di scacchi del mondo che andava oltre ciò di cui i computer erano capaci per il prossimo futuro. La nostra sensazione era che era nel giro di pochi anni di essere fatto, anche se altri ricercatori pensavano che fosse ancora decenni di distanza.

Di cosa si tratta gli scacchi che rendono un problema particolarmente interessante per un informatico?
Centinaia di milioni di persone in tutto il mondo giocano a scacchi. È conosciuto come un gioco che richiede strategia, lungimiranza, logica—tutti i tipi di qualità che compongono l’intelligenza umana. Quindi ha senso usare gli scacchi come un misuratore per lo sviluppo dell’intelligenza artificiale.

Quando guardiamo un gioco come gli scacchi, diciamo, “Beh, sì, naturalmente i computer fanno bene perché è un gioco ben definito-le regole, le mosse, gli obiettivi.”Ed è un problema limitato in cui si conoscono tutte le informazioni. Tuttavia, nonostante tutte quelle semplificazioni, si potrebbe dire che gli scacchi sono un gioco enormemente complesso, ed è per questo che ci sono voluti, come campo, 50 anni di sviluppo per battere finalmente il campione del mondo.

Qual è stato il tuo ruolo specifico nella squadra Deep Blue?
Ero l’esperto di IA. L’IA era molto diversa nel 1989 e all’inizio del 1990. La parte dominante in quei giorni era quella che ora chiamavamo buona IA vecchio stile, o IA simbolica, che si basava meno sull’apprendimento automatico. Certamente l’apprendimento automatico era un campo serio in quei giorni, ma niente come quello che è oggi, dove abbiamo enormi set di dati e computer di grandi dimensioni e algoritmi molto avanzati per sfornare i dati e trovare modelli che possono fare cose incredibili. Quando ho iniziato con IBM, i metodi di apprendimento automatico per i programmi di gioco erano abbastanza primitivi e non in grado di aiutarci molto nella costruzione di Deep Blue. Abbiamo lavorato su algoritmi per la ricerca efficiente e la valutazione delle possibili continuazioni, che sapevamo Deep Blue avrebbe bisogno per competere.

Quali erano le limitazioni più significative sull’IA all’epoca?
L’hardware non supportava realmente la creazione di reti di grandi dimensioni che si sono dimostrate utili oggi nella creazione di modelli di big data. E i dati in sé non erano necessariamente lì nella misura in cui ne avevamo bisogno a quel punto. Ogni volta che torni indietro e guardi i sistemi informatici più popolari di 20 o 25 anni fa, sei scioccato da come potresti fare qualcosa su un sistema del genere. Ma ovviamente, non sapevamo cosa ci mancasse, immagino, perché non l’avevamo mai sperimentato.

Per quanto riguarda i dati, non penso che nessuno avesse un’idea chiara allora che ci fosse un grande vantaggio. Non avrebbe pagato per costruire un set di dati davvero grande perché in parte la potenza di elaborazione non sarebbe stata sufficiente per usarlo comunque. Quindi, ci siamo accontentati di set di dati molto più piccoli.

Quanto è stata utile la tua esperienza di scacchi nella costruzione di Deep Blue?
Non così utile come si potrebbe pensare. Sono stato in grado, nelle prime fasi, di identificare i problemi con il sistema e suggerire approcci che ritenevo sarebbero stati in grado di risolvere un problema senza creare una serie di altri problemi. Probabilmente è stato abbastanza buono per arrivare a un certo punto. Alla fine, però, se hai intenzione di giocare a competizioni, c’è una serie di conoscenze specifiche per il gioco che devi avere. Quando ci siamo avvicinati al punto in cui avremmo effettivamente giocato contro un campione del mondo abbiamo portato grandi maestri—Joel Benjamin, in particolare—per aiutarci.

In che modo i grandi maestri hanno contribuito ad aumentare il gioco di Deep Blue?
C’erano due parti di come hanno aiutato. Uno, in particolare, era quello di aiutare con la libreria di apertura, che ogni programma di scacchi utilizza per risparmiare tempo e assicurarsi che entri in posizioni ragionevoli. Gli umani hanno studiato le aperture degli scacchi per secoli e hanno sviluppato il loro preferito . I grandi maestri ci hanno aiutato a scegliere un gruppo di quelli da programmare in Deep Blue.

Erano anche, si potrebbe dire, sparring partner per Deep Blue. Avrebbero giocato contro il computer e cercare di individuare i punti deboli del sistema. E poi ci sedevamo con loro e con il resto della squadra Deep Blue e cercavamo di articolare cosa fosse effettivamente quella debolezza e se ci fosse un modo per affrontarla. A volte, date le limitazioni che avevamo-stavamo programmando parte delle istruzioni del computer direttamente su un pezzo di hardware chiamato chip acceleratore di scacchi piuttosto che scrivere software—c’erano alcuni problemi che non potevamo facilmente risolvere. Ma spesso c’era un modo per migliorare la sua capacità di affrontare un problema che avevamo identificato.

In che modo Deep Blue ha deciso quali mosse fare?
Deep Blue era un ibrido. Aveva processori supercomputer general-purpose combinati con questi chip acceleratore di scacchi. Avevamo un software che funzionava sul supercomputer per eseguire parte di un calcolo degli scacchi e poi consegnare le parti più complesse di una mossa all’acceleratore, che avrebbe poi calcolato . Il supercomputer avrebbe preso quei valori e alla fine decidere quale strada prendere.

Come ha fatto Deep Blue ad avanzare dal 1996 al 1997 per battere Kasparov?
Abbiamo fatto un paio di cose. Abbiamo più o meno raddoppiato la velocità del sistema creando una nuova generazione di hardware. E poi abbiamo aumentato la conoscenza degli scacchi del sistema aggiungendo caratteristiche al chip degli scacchi che gli hanno permesso di riconoscere posizioni diverse e lo hanno reso più consapevole dei concetti degli scacchi. Quei chip potrebbero quindi cercare attraverso un albero di possibilità per capire la mossa migliore in una posizione. Parte del miglioramento tra il ‘ 96 e il ‘97 è che abbiamo rilevato più pattern in una posizione di scacchi e potremmo mettere dei valori su di essi e quindi valutare le posizioni degli scacchi in modo più accurato. La versione del 1997 di Deep Blue ha cercato tra 100 milioni e 200 milioni di posizioni al secondo, a seconda del tipo di posizione. Il sistema potrebbe cercare ad una profondità compresa tra sei e otto coppie di mosse—uno bianco, uno nero—ad un massimo di 20 o anche più coppie in alcune situazioni. Tuttavia, mentre eravamo fiduciosi che il Deep Blue del 1997 fosse molto meglio della versione del 1996, nella mia mente il risultato più probabile della partita era un pareggio. Anche andando nella partita finale della partita, mi aspettavo un pareggio e una probabile rivincita.

Perché IBM non ha accettato la richiesta di Kasparov per una rivincita dopo la competizione del 1997?
Sentivamo di aver raggiunto il nostro obiettivo, dimostrare che un computer poteva sconfiggere il campione del mondo di scacchi in una partita e che era ora di passare ad altre importanti aree di ricerca.

Come è cambiata l’IA nei due decenni successivi a quella partita?
Naturalmente, le macchine sono migliorate in velocità di elaborazione e memoria e così via. Le persone hanno anche iniziato a raccogliere—proprio come parte della loro attività-molti più dati che hanno fornito foraggio per gli algoritmi di apprendimento automatico del giorno. Alla fine abbiamo iniziato a capire che la combinazione di tutte queste cose potrebbe produrre alcuni risultati notevoli. Il sistema IBM Watson che ha giocato Jeopardy! ha usato un sistema basato sull’apprendimento automatico che ha preso molti dati esistenti nel mondo-cose come Wikipedia e così via—e ha usato quei dati per imparare a rispondere a domande sul mondo reale. Da allora siamo passati a imparare a fare alcuni tipi di compiti percettivi come il riconoscimento vocale e la visione artificiale. Ciò ha portato Watson a svolgere attività più legate al business come l’analisi delle immagini radiologiche e la condivisione di tali informazioni con i medici.

In che modo la tua esperienza di lavoro su Deep Blue ha influenzato il tuo lavoro sull’IA in futuro?
Una cosa in particolare che abbiamo imparato è che c’è più di un modo per guardare un problema complesso. Ad esempio, negli scacchi c’è il modo umano, che è molto basato sul riconoscimento dei pattern e sull’intuizione, e poi c’è il modo macchina, che è molto intenso nella ricerca e guarda attraverso milioni o miliardi di possibilità. Spesso questi approcci sono complementari. Questo è sicuramente vero negli scacchi, ma anche in molti problemi del mondo reale-che i computer e gli esseri umani insieme sono meglio di uno da solo. Non vorremmo, ad esempio, che i computer assumessero la diagnosi e il trattamento dei pazienti da soli perché ci sono molti beni immateriali nella diagnosi di un paziente che sono difficili da acquisire nei dati. Ma in termini di raccomandazioni sulle opzioni da considerare—forse quelle che provengono da documenti tecnici molto recenti o studi clinici di cui forse il medico non è a conoscenza—un sistema del genere può essere molto prezioso.

Una parte importante di ciò che stiamo facendo in questo momento sta prendendo sistemi basati su reti neurali artificiali molto avanzati che tendono ad essere molto black box–non sono particolarmente bravi a spiegare perché stanno raccomandando ciò che stanno raccomandando—e dando loro la capacità di spiegare se stessi. Come puoi davvero fidarti di una raccomandazione che esce dal sistema se non può spiegarlo? Questi sistemi di rete neurale black box sono enormemente complessi, con milioni di parametri in essi. Parte del superamento che può essere lungo le linee di formazione di un sistema dandogli esempi di buone spiegazioni. Ciò è particolarmente evidente nello spazio sanitario quando un computer fa una diagnosi o raccomanda un trattamento. Se c’è una spiegazione ragionevole, allora probabilmente potremmo dargli più appropriatamente il peso che merita per aiutare un medico a prendere una decisione finale.