domenica 5 marzo 2023

ChatGPT

Negli ultimi tempi ogni tanto "parlo" con ChatGPT, chiedendogli cose che mi passano per la testa. Più che altro sono curioso di vedere come risponde, come organizza il discorso. Si tratta di un'intelligenza artificiale che elabora il linguaggio naturale, ed effettivamente lo fa molto bene. Lui stesso si definisce come "un assistente virtuale basato su una grande rete neurale artificiale addestrata con una vasta quantità di dati testuali" (parole sue).

Questi sistemi mi fanno sempre pensare ai vecchi scritti di Alan Turing (ne ho già scritto qui diversi anni fa), in cui il grande scienziato individuava con un certo anticipo gli elementi essenziali che hanno portato a questi risultati. Non conviene chiedere alla macchina di eseguire alla perfezione e senza errori delle procedure perfettamente deterministiche perché queste procedure, benché macinate con velocità e precisione impressionanti non manifestano un vero comportamento intelligente. E' invece essenziale che la macchina possa avere comportamenti inizialmente mossi dal caso e successivamente perfezionarli attraverso un bagaglio di esperienze fatte di tentativi ed errori, come succede in noi intelligenze naturali. Niels Bohr diceva che un esperto in una qualche disciplina è colui che ha fatto in quella disciplina tutti gli errori possibili. In un certo senso occorre rinunciare ad avere un algoritmo completamente sotto il nostro controllo e introdurre invece in esso degli elementi aleatori su un grande numero di gradi di libertà che messi a contatto con un "ambiente" (i dati) gli permettano di evolvere in un modo per noi non del tutto deducibile. In pratica occorre pensare ad algoritmi che abbiano le classiche caratteristiche dei sistemi complessi.

Poi ci si può chiedere quanto un algoritmo del genere, che conversa con me usando un livello di complessità linguistica del tutto simile alla mia, sia "cosciente" di quello che dice, cioè "consapevole" degli argomenti di cui sta parlando (non riesco a togliere le virgolette a queste parole).

Un elaboratore di linguaggio funziona essenzialmente facendo correlazioni statistiche sulle parole, cioè scrive una parola che abbia la probabilità più alta di essere scritta subito dopo una serie di altre parole scritte precedentemente. Le correlazioni statistiche utilizzate vengono ricavate da una lunga fase di apprendimento, fatta esaminando un numero molto elevato di testi scritti. Ovviamente per essere veramente efficacie la correlazione deve poter essere fatta a più livelli. Se scrivo casa come ultima parola il calcolo probabilistico della parola successiva dovrà considerare molti livelli a ritroso, cioè molte parole prima dell'ultima. In questo le reti neurali possono essere molto ben addestrate.

Queste correlazioni però non vengono effettuate tra le parole, ma tra numeri in cui tutto il flusso di informazione è stato opportunamente trasformato per l'elaborazione dell'algoritmo. Il sistema macina simboli senza significato (per lui) se non quello puramente numerico (oggetti da sottoporre a calcolo matematico). Tra l'altro un elaboratore di linguaggio opportunamente addestrato può essere interrogato in numerose lingue, tutte quelle che hanno fatto parte del suo addestramento. In questo senso la parola casa per il sistema che la elabora non può avere nessun significato, almeno non certo quel significato che le può naturalmente attribuire un essere umano.

Quindi potremmo dire che la macchina "non capisce quello che sta dicendo", cioè non ha alcuna vera consapevolezza dell'argomento di cui sta parlando, nonostante la complessità nell'articolazione del linguaggio che riesce a raggiungere (molto più elevata della maggior parte  delle persone che scrivono, a giudicare dalle esperienze che faccio negli ambienti di lavoro). Questa cosa tutto sommato non è poi così sorprendente poiché la cosiddetta coscienza di fatto viene costruita da un vissuto, che un essere vivente certamente ha, sin dalla nascita. Per vissuto intendo un'interazione continua e complessa con l'ambiente, neanche lontanamente paragonabile al "vissuto" che può avere una macchina addestrata con migliaia di testi trasformati in numeri. Una macchina è senza una vera coscienza del mondo in cui vive semplicemente perché non lo vive, almeno non nel modo in cui lo viviamo noi che ci attribuiamo una coscienza.

E' chiaro quindi che la macchina utilizza la parola casa ma non può avere nessuna vera consapevolezza del significato di questa parola, prima di tutto perché la trasforma in numeri, e poi soprattutto perché non ha nessun tipo di vissuto che le faccia capire cosa sia una casa. Un qualunque essere umano capisce bene il significato della parola casa e ogni volta che la usa la riveste di questo significato perché è nato, vissuto e vive all'interno di un ambiente chiamato casa, conosce la sua casa, conosce la casa dei suoi simili, non fa altro che vedere esempi di case in tutta la sua vita.

Il fatto curioso però è questo: se io dovessi chiedere ad un mio simile che cosa è una casa, al fine di verificare se lui ne capisce il significato, la risposta che lui mi potrebbe dare non sarebbe altro che una serie di parole statisticamente correlate, le parole più probabili che si possono tirar fuori in un qualsiasi discorso in cui si parli del concetto di casa. Ma queste parole sarebbero più o meno le stesse di quelle che potrebbe utilizzare anche il nostro elaboratore di linguaggio. E dunque chi mostra più "coscienza"? E soprattutto come si fa a riconoscerla o a distinguerla?


Nessun commento: