Viaggio_nel_pensiero_umano_ChatGPT.jpg

Prosegue l’inchiesta di Varesefocus su capacità, funzioni e possibili impieghi e utilizzi dei sistemi di Intelligenza artificiale conversazionale rappresentati dai chatbot. Al centro della seconda puntata parallelismi e differenze tra le reti neurali artificiali e le sinapsi umane. Due mondi che, in realtà, hanno molte più cose in comune di quanto non si pensi

Benché siano ampiamente accessibili solo da pochi mesi, gli attuali sistemi di Intelligenza artificiale conversazionale, i chatbot di cui ChatGPT è al momento l’esempio più noto, ci lasciano intravedere cambiamenti radicali che potrebbero generarsi in molteplici dimensioni della nostra società. Come sostenuto nel primo articolo di questa inchiesta di Varesefocus, intitolato “È l’inizio di un nuovo mondo”, infatti, per la prima volta nella storia, è ampiamente diffusa nella società umana un’entità non-umana che mostra di essere in grado di dialogare con noi nelle nostre lingue e questo con proprietà lessicale e semantica, grande eloquenza, abilità argomentativa e accesso ad una enorme quantità di informazioni. Chi ha già interagito un poco e in modo critico con un chatbot ha esperienza di questa sorprendente novità.

Ma come può ChatGPT (o Bing Chat o Bard o Claude) dialogare in modo così sofisticato? Già nel precedente articolo abbiamo accennato alla risposta più fondamentale: i chatbot, e in generale le reti neurali artificiali, sono sistemi software il cui comportamento dipende non dall’esecuzione di regole imposte mediante programmazione, ma da un addestramento realizzato su grandi quantità di dati. Questa differenza è determinante e configura un paradigma alternativo a quello tradizionale, quello dei sistemi software come entità programmate. Anche chi non ha interesse ad “aprire la scatola” e cercare di capire come funziona una rete neurale, può comprendere il senso e le conseguenze di quest’altro paradigma: cosa significa, concretamente, che un sistema software viene addestrato, invece di essere programmato?
Ripartiamo dal paradigma che ci è abituale, quello del software come programma. Il fatto che un sistema software sia programmato comporta che va formulata esplicitamente la successione di regole, cioè l’algoritmo, che guida il processo di risoluzione del problema in considerazione e quindi che vanno tradotte tali regole in una forma interpretabile da un sistema digitale, implementando l’algoritmo in un linguaggio di programmazione, come Java o Python, per ottenere appunto un programma. Di questa strategia si conoscono limiti e benefici: implica una certa rigidità, dato che per ogni problema specifico da risolvere bisogna formulare e implementare regole specifiche, ma in cambio è possibile ricostruire le ragioni di un comportamento osservato, identificando le parti del programma coinvolte e di conseguenza rendere sempre più affidabili i programmi che vengono sviluppati, grazie alla ripetibilità del comportamento dei sistemi digitali. In sintesi, con la programmazione si introduce rigidità nel processo di soluzione di problemi per ottenere spiegabilità e affidabilità delle soluzioni.

I chatbot, e in generale le reti neurali artificiali, sono sistemi software il cui comportamento dipende non dall’esecuzione di regole imposte mediante programmazione, ma da un addestramento realizzato su grandi quantità di dati

In questo, le caratteristiche del software programmato sono complementari alle nostre, che, come esseri umani, siamo flessibili nella nostra capacità di risolvere problemi sempre nuovi, ma a volte abbiamo comportamenti che non sappiamo spiegare e ripetere. Ci sono infatti tante cose che facciamo senza sapere come le facciamo: come sappiamo leggere? E riconoscere persone guardandone il volto? Come ricordiamo i concetti e come pensiamo?
È possibile trovare una traccia del riconoscimento di questa differenza nel modo con cui ci riferiamo agli errori, che tutti commettiamo. Quando un’entità programmata ha un comportamento diverso da quello atteso, diciamo che c’è un bug, mentre non consideriamo bug gli errori che noi facciamo, proprio perché riconosciamo che non siamo programmati: quando non otteniamo il risultato desiderato, non diciamo che il nostro cervello o il nostro DNA sono “scritti male”.
Benché con importanti differenze con gli esseri umani, anche le reti neurali artificiali sono entità non programmate, il cui comportamento dipende, analogamente a quello che accade per noi, dall’addestramento che hanno ricevuto. Cosa significa questo, concretamente? Cosa accade quando l’uomo impara? Certo, cambia il nostro comportamento, ma la domanda si riferisce a cosa cambia “dentro” di noi. Come e cosa modifica il nostro comportamento?

La neurofisiologia ci dice che il nostro cervello non è un contenitore che si riempie di dati: non è, insomma, un database, con un più o meno efficiente motore di ricerca. Quello che accade quando impariamo è invece che si modificano le sinapsi, cioè le connessioni elettrochimiche tra i neuroni del nostro cervello. Per quanto la cosa possa essere difficile da accettare, l’apprendimento si fonda su processi fisici realizzati in una struttura complessa come quella del cervello umano, che si stima contenga 1011 neuroni, ognuno connesso a 104 altri neuroni, dunque per un totale di 1015 (un milione di miliardi) di sinapsi. È su questa base che un neuroscienziato, Warren McCulloch, e un matematico, Walter Pitts, proposero nel 1943 un semplice modello matematico per descrivere il comportamento di un neurone. Da allora, con lo sviluppo dei sistemi digitali in capacità di calcolo e di memorizzazione, le reti neurali artificiali sono cresciute in complessità, ma sostanzialmente mantenendo il modello iniziale: quello che osserviamo oggi dialogando con ChatGPT è in pratica il risultato di un gran numero di moltiplicazioni e somme, realizzate da neuroni artificiali e dalle loro connessioni, nello stile di McCulloch e Pitts. Anche l’addestramento dei chatbot produce, dunque, concretamente, un cambiamento delle loro sinapsi, che in questo caso sono entità matematiche invece che elettrochimiche.

Quello che osserviamo oggi dialogando con ChatGPT è in pratica il risultato di un gran numero di moltiplicazioni e somme, realizzate da neuroni artificiali e dalle loro connessioni

Una rete neurale artificiale può essere infatti pensata come una complessa funzione matematica, che, dato un input x, per esempio l’immagine di un testo scritto a mano, produce un output y = f(x), in questo caso il testo riconosciuto, realizzando così la funzione di Optical Character Recognition, OCR. Una strategia di addestramento prevede allora che sia nota la risposta giusta, y’, così che se y è diverso da y’, cioè se quello che la rete ha prodotto è diverso da quello che avrebbe dovuto produrre, si attiva un processo di correzione delle sinapsi (che, in pratica, non sono altro che fattori moltiplicativi, gli ormai famosi “pesi” della rete), chiamato “back-propagation”. Pur con certe analogie, le reti neurali artificiali hanno però anche notevoli differenze con il cervello umano. Mentre noi sappiamo imparare anche da un piccolo numero di esempi, una rete per l’OCR ha prestazioni accettabili solo dopo essere stata messa alla prova con almeno decine di migliaia di immagini di caratteri, cosa diventata possibile grazie ai big data. Su un’altra scala, si capisce così perché per insegnare a ChatGPT a produrre testi in italiano (e in centinaia di altre lingue) sia stato necessario fargli leggere parti consistenti del web: tutto Wikipedia e tanto altro.

Con tutto ciò, e pur considerando la notevole complessità dei transformer (una particolare architettura di reti neurali: la “T” di “GPT” sta appunto per “Transformer”) lo stupore rimane: davvero i testi che i chatbot producono sono solo una questione, come dice qualcuno, di trovare ogni volta la più probabile prossima parola? Le cose non sono, in effetti, proprio così semplici e un indizio di ciò ci viene dal fatto che l’articolo scientifico, pubblicato nel 2017, in cui l’architettura dei transformer è stata proposta si intitola “Attention is all you need”, ovvero “L’attenzione è tutto ciò di cui hai bisogno” per imparare a generare testi in modo appropriato. Questo è affascinante anche perché ci offre nuove prospettive anche per interrogarci su noi stessi: cosa ci consente, appunto, di orientare la nostra attenzione, di capire, di pensare? Ciò che ci è più vicino (il nostro io) è anche forse l’entità che ci rimane più misteriosa (so di saper pensare, ma come faccio a pensare, non lo so): in aggiunta alle loro tante funzioni strumentali, i chatbot sono dei laboratori per esplorare noi stessi. 

 



Articolo precedente Articolo successivo
Edit