Giusto 20 anni fa accadde un evento che segnò una tappa importante nel campo dell’intelligenza artificiale.

Nel maggio del 1997 per la prima volta il campione mondiale di scacchi in carica venne battuto in un match su più partite da un computer.

Nel 2016 un altro muro è stato abbattuto: un programma ha sconfitto uno dei più forti giocatori di go al mondo. Questo evento ha avuto forse meno risonanza mediatica rispetto alla sconfitta di Kasparov, ma ha suscitato molto più stupore tra gli specialisti di intelligenza artificiale.

Come mai sono passati quasi 20 anni tra la vittoria di un computer al gioco degli scacchi e quella nel gioco del go? Le macchine supereranno gli uomini in tutte le attività, anche le più complesse? Si può dire che le macchine pensano?

1997: Kasparov contro Deep Blue

I protagonisti del match del 1997 sono Garry Kasparov, allora indiscusso campione del mondo di scacchi, e Deep Blue, un supercomputer progettato a livello hardware e software da IBM. Il match è stato giocato su un totale di 6 partite e, come normalmente avviene nei tornei di scacchi, al termine di ciascuna partita veniva assegnato 1 punto al vincitore oppure 1/2 punto a entrambi i giocatori in caso di parità.

L’anno precedente era stato tenuto un analogo match nel quale, benché Kasparov avesse perso una partita, l’uomo era uscito vittorioso col punteggio di 4-2.

La seconda volta il computer ebbe la meglio, vincendo due partite, pareggiandone 3 e perdendone una (la prima) per cui il punteggio finale fu di 3.5-2.5 per Deep Blue.

Garry Kasparov abbandona la scacchiera dopo la sconfitta nell'ultima partita del match.

Garry Kasparov abbandona la scacchiera dopo la sconfitta nell’ultima partita del match.

Come faceva Deep Blue a scegliere le sue mosse?

Il computer basava le sue analisi su un algoritmo che prendeva come input la posizione sulla scacchiera e restituiva come output un valore che quantificava il vantaggio (o svantaggio) rispetto all’avversario.

Questa funzione era stata creata dagli ingegneri di IBM con l’aiuto di giocatori di scacchi professionisti e teneva conto di vantaggi di materiale (come conseguenza del guadagno di uno o più pezzi) e anche di vantaggi posizionali (conseguenti al posizionare un pezzo in una casella chiave).

Dato questo algoritmo Deep Blue implementava un approccio di tipo forza bruta. Il supercomputer calcolava questa funzione su tutte le possibili posizioni successive fino a un certo livello di profondità e sceglieva quindi la mossa che gli garantiva il miglior risultato.

Deep Blue era in grado di valutare 200 milioni di posizioni al secondo. Questo gli permetteva di analizzare una posizione arrivando a una profondita di 6/8 mosse successive se sulla scacchiera erano presenti molti pezzi, ma anche di 20 o più mosse successive in presenza di pochi pezzi.

Da allora i programmi di scacchi sono diventati un po’ più intelligenti nel senso che invece di cercare tra tutte le mosse possibili analizzano solamente le varianti più promettenti. Un po’ come fanno gli umani che, per decidere quale mossa fare, valutano molte meno posizioni, ma in base all’esperienza sanno scegliere le sequenze più significative.

Ad esempio nel 2006 il programma Deep Fritz ha vinto contro il campione del mondo Vladimir Kramnik girando su un normale personal computer che gli permetteva di valutare “solamente” 8 milioni di posizioni al secondo.

In questo momento nessun essere umano è in grado di vincere una partita di scacchi contro i più forti programmi.

2016: Lee Sedol vs Alphago

Il go è un gioco da scacchiera con regole molto più semplici degli scacchi. Si gioca aggiungendo a turno pedine (dette pietre) su una scacchiera 19×19. Se un giocatore riesce a occupare tutte le caselle adiacenti a un gruppo di pedine avversarie tale gruppo viene catturato e tolto dalla scacchiera.

Vince chi fa più punti sommando le pietre mangiate e il numero di caselle circondate con le proprie formazioni di pedine.

Nonostante le regole semplici il gioco risulta essere estremamente complesso per vari motivi:

  1. la maggiore dimensione della scacchiera da go implica che il numero di mosse possibili sia molto più grande che negli scacchi. Di conseguenza l’albero delle varianti di gioco rende irrealizzabili tentativi di ricerca di tipo forza bruta;
  2. le prime mosse delle partite di go sono molto più varie di quelle degli scacchi per cui non è possbile creare un database di aperture che faccia da guida come avviene per gli scacchi;
  3. le mosse nel go sono spesso guidate da principi astratti di equilibrio tra le varie parti della scacchiera ed è molto difficile costruire una funzione che interpreti questi principi per valutare la bontà di una mossa.

Di conseguenza la creazione di un programma che potesse competere con i più forti giocatori di go è stata considerata come una sfida ambiziosa nel campo dell’intelligenza artificiale.

AlphaGo è stato sviluppato da Google Deep Mind e, a differenza di Deep Blue, è stato programmato secondo l’approccio del Machine Learning. Questa metodologia prevede che, invece di dare istruzioni esplicite a un programma, esso “impari” a prendere decisioni a partire da esempi che gli vengono sottoposti.

Più nel dettaglio AlphaGo è composto da due reti neurali che sono state “istruite” usando come esempio molte partite di giocatori umani di alto livello per un totale di 60 milioni di mosse. Una delle due reti neurali serve a ipotizzare quali sono le mosse future più promettenti (policy network), mentre l’altra assegna un valore a una posizione in modo da rappresentare la probabilità di vittoria di uno dei due giocatori (value network).

Dopo la prima fase di apprendimento basata su partite di giocatori umani AlphaGo è stato ulteriormente allenato facendolo giocare contro diverse versioni di se stesso.

Il risultato della sfida contro Lee Sedol, uno dei più forti giocatori di go al mondo, è stato abbastanza netto: sulle 5 partite previste, AphaGo ne ha vinte 4 e persa una.

Lee Sedol impegnato in una delle partite contro AlphaGo

Lee Sedol impegnato in una delle partite contro AlphaGo

Proprio in questi giorni si è tenuta un nuovo match, questa volta tra AlphaGo e Ke Jie, considerato il giocatore di go più forte al mondo, AlphaGo è uscito ancora vincitore con un netto 3-0.

Visto come si è conclusa anche questa sfida dobbiamo cominciare a porci la domanda…

Le macchine stanno cominciando a pensare?

Dal punto di vista dei risultati non c’è dubbio, i programmi in un certo senso pensano.

Lo fanno in modo diverso rispetto agli umani, questo è sicuro, ma anche gli aerei volano in modo diverso da come fanno gli uccelli, eppure diciamo lo stesso che volano. Perché non dovremmo dire che i computer pensano?

Le macchine non sono ancora in grado di svolgere compiti più artistici come comporre musica o elaborare testi coerenti. Tuttavia si tratta solo di arrivare a maggiori livelli di complessità che prima o poi saranno raggiunti. Sono abbastanza sicuro che tra un po’ di anni potremo ascoltare la prima sinfonia interamente composta da un programma.

Per adesso dobbiamo accontentarci della prima canzone pop composta da un computer imitando lo stile dei Beatles (il programma ha scritto solo la melodia, testo e registrazione della canzone sono opera di esseri umani).

Alcuni sostengono che le macchine non possono creare niente di genuinamente nuovo perché qualsiasi facciano si tratta di un’imitazione di attività umane o di qualcosa che è stato insegnato loro.

Ho un paio di considerazioni da contrapporre a questo ragionamento.

Prima considerazione. Nel caso di AlphaGo il programma è partito cercando di imitare le mosse dei giocatori professionisti, ma successivamente è migliorato ancora giocando contro se stesso. Un po’ come se avesse “studiato” per trovare strategie più forti di quelle degli umani.

In un certo senso il suo stile di gioco è nuovo e infatti, a detta dei giocatori professionisti, AlphaGo esegue di tanto in tanto delle mosse considerate particolarmente originali.

La mossa numero 19 di AlphaGo nella seconda partita contro Lee Sedol, ritenuta particolarmente originale dai giocatori professionisti.

La mossa numero 19 di AlphaGo nella seconda partita contro Lee Sedol, ritenuta particolarmente originale dai giocatori professionisti.

Seconda considerazione. Anche le creatività degli umani non nasce dal nulla. Nello stile di una persona creativa si possono ritrovare influenze di altri artisti, elementi legati al luogo in cui è cresciuto, a quello che ha visto, ascoltato e letto nella sua vita. L’artista in fondo trasforma esperienze personali in immagini, suoni o parole.

Niente impedisce di immaginare un processo secondo il quale una rete neurale molto complessa possa partire imitando le opere di uno o più artisti per poi divergere e creare un suo stile personale, magari inserendo in questa evoluzione degli elementi di casualità, oppure influenzando la rete neurale con delle specie di “esperienze personali” che potrebbero essere collegate a immagini, melodie o testi dai quali prendere spunto.

Per me la situazione è abbastanza chiara. Le macchine eseguiranno qualsiasi attività umana allo stesso livello o meglio di noi. Nei prossimi anni questa tendenza sarà sempre più evidente.

E sì, come forse avrete intuito, non trovo alcun motivo per negare che i computer pensino.

O almeno, questa è la mia opinione. Qual è la vostra?

 

Per adesso ci interessa soprattutto il parere degli umani, ma se qualche macchina vuole dire la sua è bene accetta!

Se vi è piaciuto questo articolo potete seguirmi sul mio blog personale degiuli.com.

 

Copyright immagine di copertina da Freestock.com: Image used under license from Freestock.com

CC BY-NC-SA 4.0
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.