Ecco il testo di Franco Toffoletto.
Quasi esattamente 80 anni fa, il 5 giugno del
1944, un postino del centro di Bletchey Park interrompe una sessione di
programmazione del DDday per consegnare un messaggio al generale Eisenhower. Il
generale legge il messaggio e dice (forse non con timidezza, ma certamente con
molta angoscia): «Andiamo domani!» ([1]). Iniziava il Giorno Più Lungo.
Il messaggio era la decriptazione di una
comunicazione radio di Hitler che diceva alla sua prima linea di comando in
Francia che le voci circa uno sbarco in Normandia erano false. Una decisione
che ha cambiato il destino dell’umanità, presa con l’ausilio di un software
inventato da alcuni matematici polacchi e poi sviluppato dagli inglesi con il
quale venivano decriptate tutte le comunicazioni con i sommergibili tedeschi
nell’Atlantico.
Il capo del progetto era Alan Touring, (qualcuno ricorderà il film The imitation
game) forse uno dei primi a capire realmente l’importanza del software e a
pensare che si sarebbe potuto insegnare ad un computer a pensare come un umano,
anche se affermò: «Se ci aspettiamo da una macchina di essere infallibile,
non possiamo anche aspettarci che sia intelligente» ([2]).
Il termine intelligenza artificiale è stato
coniato , molto molto timidamente da John Mc Carthy nel 1956 ([3]). Da allora la potenza di calcolo dei computer è cresciuta
enormemente: il numero di transistor che possono essere inseriti in un solo
chip è oggi di 80 miliardi! E, dicono, arriverà a 1.000 nel 2030 …
Ma l’evoluzione dell’intelligenza artificiale non
è andata nel senso previsto da Touring:
non si è scritto del software che simulasse il pensiero umano ([4]).
La storia dell’IA è lunga e complessa, ma dopo
quell’inizio del 1956, pieno di aspettative, resta congelata per più di 30
anni. Ne esce perché viene introdotto l’uso della teoria della probabilità,
prima bandita, alla fine degli anni '90 ([5]) e per la diffusione di Internet e dei social media che hanno
consentito di immagazzinare enormi quantità di dati contenenti linguaggio
naturale, opinioni, commenti, giudizi ed espressioni che comunicano percezioni soggettive
nella forma di emozioni, sentimenti, atteggiamenti e pregiudizi della gente
riguardo a entità ed eventi[6]. Il passo successivo, più o meno nel 2010, è stato lo sviluppo del deep
learning ([7]).
Quando oggi parliamo di IA, intendiamo processi
automatici di auto-apprendimento e di creazione
che non costituiscono il risultato di un processo predeterminato, ma di
un risultato di analisi statistica operato autonomamente da una macchina,
totalmente sconosciuto e non ricostruibile a posteriori. Inoltre la
macchina non possiede alcuna consapevolezza e coscienza di quello che fa.
Un esempio per cercare di capire un mondo assai
complesso. Quando vediamo un computer che gioca rimaniamo affascinati. La
storia comincia nel 1952 con la dama ([8]), poi gli scacchi, il backgammon e Go ([9]). Negli anni 1996-2000, il campione mondiale di scacchi è stato un
computer e un software denominato Deep Blue che è stato il primo
calcolatore a vincere una partita a scacchi contro un Campione del Mondo in
carica, Garry Kasparov, con
cadenza di tempo da torneo: era il 10 febbraio 1996.
Deep Blue fu poi
profondamente aggiornato e nel maggio 1997 giocò nuovamente contro Kasparov, aggiudicandosi il torneo per
3.5-2.5 ([10]). La forza di Deep Blue derivava principalmente dalla sua
straordinaria potenza computazionale ([11]).
Poi è venuto Stockfish: un motore
scacchistico open source multipiattaforma ([12]), che dagli anni 2010 ha occupato il vertice della classifica.
Intanto un altro software sorprende. Sviluppato
appositamente per competere in Jeopardy!, Watson è riuscito, la sera del 16
febbraio 2011, a vincere e ad assicurarsi il primo premio di un milione di
dollari. Lo sviluppo di Watson ha permesso di fare notevoli passi avanti nella
comprensione del linguaggio naturale e nella generazione di dialoghi da parte
di un’intelligenza artificiale, proiettandoci in un mondo in cui le macchine
sono in grado di capire le domande degli esseri umani e di rispondere loro
pertinentemente.
Il 7 dicembre 2017 il programma Alpha Zero
di Google ha sconfitto Stockfish 8, il programma di scacchi campione del
mondo nel 2016, capace di calcolare 70 miliardi di posizioni al secondo e
accesso a secoli di esperienza umana. AlphaZero riusciva a calcolare
soltanto 80mila posizioni al secondo ed i suoi creatori non gli avevano
insegnato nulla! Neppure le aperture da manuale. AlphaZero usava i
principî dell’apprendimento automatico (Machine Learning) per imparare da solo giocando contro sé
stesso. Molte delle sue mosse sono state considerate geniali.
Sono servite solo 4 ore ad AlphaZero per imparare
a giocare a scacchi partendo da zero e battere il programma più sofisticato al
mondo. Ma AlphaZero, ha imparato anche a giocare a Go. In meno di 40 giorni ha
surclassato la versione precedente che aveva battuto il più grande campione
umano nel 2015 ([13]).
Insomma, la storia dello sviluppo della capacità
delle macchine di giocare a scacchi deriva dalla crescita enorme della capacità
computazionale dei computer e dalla realizzabilità di software diversi, capaci
di prendere decisioni, apprendendo da soli.
Tentiamo una prima conclusione: lo studio dell’IA
dura da più di settant’anni ed oggi l’IA non funziona più con programmi scritti
per riprodurre lo schema del pensiero umano: ma auto-apprende esaminando dati,
applicando, non timidamente, formule statistiche e producendo risultati a lui
(o a lei) e a noi sconosciuti. Cioè: noi non sappiamo cosa fa, come fa e come
ha fatto; la macchina non sa cosa sta facendo né perché lo sta facendo e non
possiede alcuna definizione: non ha alcuna coscienza di sé stessa né del resto.
Per rimanere ai giochi: non sa cosa sia un gioco, non sa cosa siano gli
scacchi, non sa cosa sia una torre, ecc.: funziona attraverso la gestione di
dati strutturati e destrutturati su cui definisce percorsi logici originali,
basati sulla probabilità, tramite improvvisazione, apprendimento, auto
correzione e miglioramento.
Lo stesso per la c.d. Generative Pretrained
Transformer (GPT) che è l’AI generativa che conosciamo per Chat GPT ([14]).
In generale la Generative AI è un software progettato per generare nuovi
contenuti (dati, immagini, suoni o testi) anziché limitarsi a classificare o
fare previsioni su dati esistenti. Per la parte testuale si utilizza una
tipologia di software che si definisce Natural Language Processing (NLP) che
ha la funzione di comprendere, interpretare e generare il linguaggio umano in
modo naturale.
Questa lunga premessa, per arrivare ad una prima
conclusione. Certamente non si potrà fermare questo sviluppo. Bisognerà
regolamentarlo, certamente sì, ma sarà molto complesso. Potremo immaginare
limiti significativi all’utilizzo da parte di privati o di stati, come è
avvenuto per Internet. Ma sarà molto difficile riuscire a fare rientrare i
comportamenti dell’IA nelle categorie giuridiche che possediamo e che
presuppongono un’analisi della fenomenologia fattuale: azione>effetto;
volontà/non volontà; responsabilità dell’agente/non responsabilità. Poiché il
percorso logico sottostante non è ricostruibile e perché manca un soggetto
responsabile di quell’azione, la faccenda non sarà facile. O forse dovremo
ricorrere ad una creazione giuridica, attribuendo alla macchina una personalità
e quindi una responsabilità.
Che ci sia un serio problemi di «definizioni» e
quindi di concetti che possano far funzionare in via generale un sistema
normativo certo, trova conferma anche nella definizione di IA che viene data
dal recente Regolamento della UE: all’art. 3, (1), si legge: «Sistema di IA:
un sistema automatizzato progettato per funzionare con livelli di autonomia
variabili e che può presentare adattabilità dopo la diffusione e che, per
obiettivi espliciti o impliciti, deduce dall’input che riceve come generare
output quali previsioni, contenuti, raccomandazioni o decisioni che possano
influenzare ambienti fisici o virtuali». Difficile capire.
Quarant’anni fa, Günther
Teubner, timidamente, si chiedeva: «non è che il diritto debba ritornare
sulla propria circolarità e concentrarsi sulle interazioni interne dei suoi
elementi (norma, decisioni, dogmatiche) e che gli effetti esterni debbano
essere lasciati al proprio destino?» Forse la risposta dovrebbe essere
positiva.
Forse non ci sta che affidarci alle scienze
biologiche per riportare in vita Aristotele e Platone…
Franco Toffoletto
[1] Bletchley Park, anche nota come Stazione X, è una tenuta
situata a Bletchley, un paese a circa 75 km a nord-ovest di Londra.
Durante la seconda guerra mondiale, Bletchley Park fu il sito dell'unità principale
di crittoanalisi del Regno Unito, nonché sede della Government Code and Cypher
School (GC&CS, «Scuola governativa di codici e cifrazione»), l'odierna
Government Communications Headquarters. Codici e messaggi cifrati dei paesi
dell'Asse sono stati decifrati a Bletchley Park. Il più noto è il codice
nazista ottenuto con la macchina Enigma e la cifratrice di Lorenz. Le
informazioni ottenute con le attività svolte a Bletchley Park, con Ultra, hanno
aiutato lo sforzo alleato e accorciato la durata della guerra, anche se gli
effetti di Ultra sulla seconda guerra mondiale sono dibattuti (Wikipedia).
[2] W.
Towsend, Financial Time
[3] «La nascita dell’AI coincide con una
conferenza tenutasi al Dipartimento di matematica dell’Università di
Dartmouth nell’estate del 1956, sancita dall’incontro e dallo
scambio di visioni e prospettive sull’argomento da quelli che possono essere
giustamente considerati i suoi padri fondatori.In effetti, ciò che accadde a
Dartmouth fu, più che una conferenza, un laboratorio di brainstorming tra
giovani menti brillanti piene di idee su come sviluppare la nuova disciplina
sulle «macchine pensanti», che fu battezzata durante questo evento come «intelligenza
artificiale». Pertanto, anche se non produsse atti ufficiali, questo è l’evento che
fornisce il certificato di nascita ufficiale per l’intelligenza artificiale.
Colui che scelse il nome fu anche l’organizzatore del workshop ed ebbe una
grande influenza sul settore almeno nei suoi primi decenni. Si tratta di John McCarthy, allora giovane professore
di matematica alla Dartmouth University. Ispirato dal grande matematico von
Neumann. Con lui, Marvin Minsky, Herbert Simon e Allan Newell». Pareschi, Intelligenza artificiale,
Milano, 2019, p. 13.
[4] Il gruppo di Dartmouth «Da un lato (era)
fermamente convinto che il modo migliore perché un computer risolvesse problemi
in modo intelligente fosse codificare la strategia di problem solving come un
insieme di formule logiche manipolabili attraverso regole di inferenza, dall’altro riteneva
che un’adeguata attenzione dovesse essere data alla conoscenza
empirica di dominio, in grado di guidare in maniera selettiva la scelta delle
regole da applicare nella soluzione di problemi specifici. Chi, tra i
partecipanti del convegno di Dartmouth, prese maggiormente le distanze dalle
posizioni di McCarthy, che proponeva un modello deduttivo, fu Ray Solomonoff, che propose il
ragionamento induttivo, che procede dall’osservazione di regolarità in dati
specifici per produrre leggi generali, Pareschi,
cit pp. 16 e 21. Lo stesso Pareschi,
in un colloquio privato nel 2024, ha precisato che «Se l’intelligenza artificiale classica
mirasse o meno a imitare il pensiero umano, la questione è, a mio avviso, più filologica
che altro. Indubbiamente quella che veniva chiamata “strong AI” (termine emerso negli anni ’60)
mirava a raggiungere questo obiettivo; a questo termine si contrapponeva quello
di “weak AI”, vista come uno sforzo
ingegneristico senza pretese di ricostruzione cognitiva, qualunque fosse il
percorso seguito; l'approccio di quegli anni era soprattutto simbolico, ma non
dimentichiamo che le reti neurali ebbero un momento importante negli anni '60
con il percettrone, poi temporaneamente tramontato anche a causa della morte
prematura e inaspettata del suo inventore, Frank
Rosenblatt, nel 1971. In tempi più recenti si preferisce parlare di
'narrow AI', per sistemi specializzati a fare una sola cosa, ad es. giocare a
scacchi, e "Artificial General Intelligence" (AGI) per sistemi
generalisti, come ChatGPT, che potrebbe essere visto come un'approssimazione
dell'AGI. A volte, "weak AI" e "narrow AI" da un lato, e
"strong AI" e AGI dall'altro, sono trattati come sinonimi, ma questo
non è un utilizzo corretto. È da notare che, con la possibilità di
plug-and-play su LLM come GPT-4 di sistemi di pianificazione inferenziale o
altre tipologie di ragionamento, il ragionamento simbolico può essere
efficacemente combinato con la creatività di modelli generativi, così da
ottenere il meglio di entrambi gli approcci».
[5] Ma la prospettiva induttiva può essere
resa molto più efficace se viene arricchita con una dose adeguata di teoria
della probabilità. La probabilità venne per molto tempo esclusa dall’intelligenza
artificiale, essenzialmente durante il periodo del dominio del logicismo
deduttivo che la vedeva come irrilevante rispetto alla propria visione e
concezione dell’intelligenza. Nel 1984, in occasione
di un incontro annuale dell’Associazione Americana per l’intelligenza
artificiale (AAAI), fu addirittura deciso e sancito ufficialmente che la
probabilità non era in alcun modo rilevante per l’intelligenza artificiale. Mai
decisione fu più miope e destinata a essere contraddetta. Infatti, dopo che il
logicismo deduttivo raggiunse i limiti delle sue possibilità nel contesto delle
capacità computazionali dei computer dell’epoca, l’intelligenza artificiale entrò in un
lungo periodo di mancanza di credibilità e carenza di finanziamenti per la
ricerca e sviluppo, noto come «l’inverno dell’intelligenza artificiale». Ne uscì alla
fine degli anni Novanta, non in piccola parte per merito della teoria della
probabilità.
[6] Pareschi, op. cit., p.74
[7] Pareschi, op. cit., p. 83, «a partire da circa il 2010, quella che promette di
essere un’ulteriore evoluzione ha iniziato a
delinearsi attraverso l’arrivo anche nell’ambito del NLP delle metodologie di
deep learning. Sul piano dei risultati la differenza tra il deep learning e gli
altri metodi di apprendimento sta nella capacità di ridurre al minimo il
processo di preparazione dell’input per focalizzarsi sui compiti di
alto livello proprio perché i passaggi intermedi vengono automatizzati dai
livelli intermedi di una rete neurale stratificata. In genere un compito di
analisi e di classificazione richiede infatti la preparazione del testo
identificando le sue unità costitutive, a partire dal documento nella sua
interezza, passando per unità intermedie come i paragrafi e le singole frasi fino
alle parole e ai morfemi da cui queste derivano. Ebbene, un te- sto inserito in
una rete neurale stratificata passa attraverso diverse fasi di analisi che
automatizzano questi vari passaggi, risultando quindi in un grado complessivo
di ancora maggiore velocizzazione rispetto ad altri approcci di apprendimento.
Il primo passaggio è la segmentazione, in cui il software trova i limiti della
frase all’inter- no del testo. Il secondo è la tokenizzazione (dall’inglese token,
cioè singolo elemento), in cui il software trova le singole parole. Nella terza
fase, annotazioni di parti di discorso sono associate a quel- le parole e nel
quarto sono raggruppate in base al loro morfema o concetto, in un processo noto
come lemmatizzazione. Cioè paro- le come «essere», «stato» ed «è» saranno
raggruppate in quanto rappresentano diverse declinazioni dello stesso verbo».
[8] «Il tentativo di creare un’intelligenza
artificiale capace di battere un essere umano in un gioco che richiede un’elevata abilità risale
già al 1952. In quell’anno lo statunitense Arthur Lee Samuel, un pioniere dell’apprendimento
automatico e dei videogiochi per computer, presentò un programma di dama che
arrivò a giocare meglio del suo creatore – fatto mai accaduto in precedenza – utilizzando
la tecnica di ricerca Alpha-Beta in combinazione con una forma rudimentale di
apprendimento automatico (quest’ultima verrà introdotta nel programma
tre anni dopo, nel 1955). Pochi anni più tardi, il programma di Samuel vinse
una partita contro un ex campione di dama del Connecticut. Un risultato,
questo, annunciato già allora come un trionfo per la giovane disciplina dell’intelligenza
artificiale. La possibilità di un algoritmo che giocasse a scacchi era stata
formulata agli inizi degli anni Cinquanta da Claude
Shannon. Nel 1958 uno dei partecipanti al congresso di Dartmouth, Alex Bernstein, sviluppò assieme ai suoi
colleghi il primo programma di scacchi completamente funzionante. Nello stesso
periodo, arrivò anche il primo programma di bridge, che però era altamente limitato
dalle capacità di memoria allora disponibili: poteva infatti giocare solo un
round prima di occupare l’intera memoria. L’anno successivo, Allen Newell, Herbert Simon e J.C. Shaw
svilupparono il primo programma di scacchi che utilizzava la tecnica di ricerca
Alpha-Beta. Da lì, passarono più di dieci anni prima che si tornasse a parlare
di giocatori artificiali. Nel 1970, il ricercatore statunitense Albert Zobrist scrisse il primo
programma in assoluto in grado di giocare a Go come parte della sua tesi di
dottorato sul riconoscimento di pattern, aprendo la strada all’applicazione dell’intelligenza
artificiale a questo antichissimo e complicatissimo gioco cinese. Alla fine
degli anni Settanta, i migliori programmi di dama si erano nel frattempo
evoluti con PAASLOW, un programma ideato dalla Duke University che riuscì a
battere il programma di Arthur Samuel.
In quegli anni, però, PAASWLOW non fu l’unica sorpresa. Nel 1979 il programma
di backgammon BKG, di Hans Berliner,
allora docente di informatica presso la Carnegie Mellon University, sconfisse
per la prima volta nella storia del backgammon il campione del mondo, l’italiano Luigi
Villa, seppure in una gara dimostrativa, anche se in seguito lo stesso Berliner
attribuì la vittoria alla fortuna con i tiri dei dadi riconoscendo a Villa il
merito di aver giocato nettamente meglio», Pareschi,
op. cit., p. 131.
[9] La dama ha uno spazio di ricerca di 5×1020
posizioni. Ma le posizioni generabili negli scacchi sono 10120 e nel
Go 10174, cioè svariati miliardi di miliardi
di miliardi in più!
[10] Il progetto originario era del 1985 e
fu creato alla Carnegie Mellon University da parte di Feng-hsiung Hsu.
[11] Era costituito da un computer con 480
processori specifici progettati per il gioco degli scacchi. Il software era scritto
in linguaggio C, con un sistema operativo AIX, capace di calcolare 200 milioni
di posizioni al secondo, fonte Wikipedia. Per maggiori approfondimenti, R. Pareschi, cit., pp. 129 e segg.
[12] Sviluppato originariamente da Tord Romstad e Marco Costalba. Nello stesso periodo viene sviluppato
AlphaGo per giocare a Go. «La prima partita ufficiale di AlphaGo si è svolta
nell’ottobre del 2015 contro il tre volte campione europeo,
Fan Hui. La vittoria schiacciante per 5-0 è stata la prima in assoluto per un
software contro un professionista di Go, tanto da indurre la pubblicazione dei
risultati e di tutti i dettagli tecnici sulla prestigiosa rivista
internazionale Nature. Nel marzo 2016 a Seoul AlphaGo ha poi partecipato a una
sfida di 5 round contro il vincitore di 18 titoli mondiali, considerato il più grande
giocatore degli ultimi dieci anni: Lee Sedol. La vittoria di AlphaGo per 4-1 ha
rappresentato un risultato incredibilmente importante che ha convinto gli
esperti di Go ad assegnargli la più alta certificazione, ovvero un livello di «9
dan», per la prima volta conferito a un giocatore artificiale. Da allora,
AlphaGo ha continuato a sorprendere e stupire, conseguendo vittorie su vittorie
contro i migliori giocatori internazionali, sia dal vivo sia online. Nell’ottobre 2017
DeepMind si porta ulteriormente avanti e presenta AlphaGo Zero, una versione
migliore di AlphaGo che si contraddistingue per la sua capacità di imparare a
giocare semplicemente giocando contro se stesso, attraverso un meccanismo di reinforcement
learning e a partire da un gioco completamente casuale, piuttosto che guardando
migliaia di partite di giocatori umani. In meno di 40 giorni AlphaGo Zero ha
surclassato la versione AlphaGo con un risultato di 100 partite vinte a 0», Pareschi, cit. p. 142.
[13] La prima partita ufficiale di AlphaGo
si è svolta nell’ottobre del 2015 contro il tre volte
campione europeo, Fan Hui. La vittoria schiacciante per 5-0 è stata la prima in
assoluto per un software contro un professionista di Go, tanto da indurre la
pubblicazione dei risultati e di tutti i dettagli tecnici sulla prestigiosa
rivista internazionale Nature. Nel marzo 2016 a Seoul AlphaGo ha poi
partecipato a una sfida di 5 round contro il vincitore di 18 titoli mondiali,
considerato il più grande giocatore degli ultimi dieci anni: Lee Sedol. La
vittoria di AlphaGo per 4-1 ha rappresentato un risultato incredibilmente
importante che ha convinto gli esperti di Go ad assegnargli la più alta
certificazione, ovvero un livello di «9 dan», per la prima volta conferito a un
giocatore artificiale. Da allora, AlphaGo ha continuato a sorprendere e
stupire, conseguendo vittorie su vittorie contro i migliori giocatori
internazionali, sia dal vivo sia online.
Nell’ottobre 2017,
DeepMind si porta ulteriormente avanti e presenta AlphaGo Zero, una versione
migliore di AlphaGo che si contraddistingue per la sua capacità di imparare a
giocare semplicemente giocando contro se stesso, attraverso un meccanismo di reinforcement
learning e a partire da un gioco completamente casuale, piuttosto che guardando
migliaia di partite di giocatori umani. In meno di 40 giorni AlphaGo Zero ha
surclassato la versione AlphaGo con un risultato di 100 partite vinte a 0. La
versione AlphaZero lanciata pochi mesi dopo, il fatidico 5 dicembre 2017, è una
rete neurale che in 24 ore ha raggiunto un livello di gioco elevatissimo non
solo in Go, ma anche negli scacchi, nonché nel Shogi. L’addestramento era stato eseguito su
una configurazione massivamente parallela (5000 TPU di prima generazione più 64
di seconda generazione), e la quantità di calcoli è equivalente a circa due
anni di tempo macchina su una singola TPU, corrispondente ad un tempo molto
maggiore su una GPU commerciale e ancora di più su una CPU. Pareschi, op. cit. pp. 140-142.
[14] Per capire come funziona, Pareschi,
op. cit., p. 93 e segg. si legge tra l’altro, p. 99: «Per facilitare la categorizzazione e la rappresentazione dei significati
delle parole, viene spesso utilizzata un’ontologia, un ampio schema di
classificazione degli oggetti e delle loro relazioni, originariamente proposta
da Aristotele».