Cerca nel blog

2021/04/23

Perché i computer sono stupidi?

Si fa un gran parlare di intelligenza artificiale: computer che riconoscono la voce, come Siri o Alexa o OK Google, giocano a scacchi meglio degli esseri umani, identificano ed evitano ostacoli nella guida autonoma o assistita, con tempi di reazione fulminei e irraggiungibili per una persona. È facile pensare che siamo ormai vicini alla creazione di una vera intelligenza sintetica generalista, capace di competere con un essere umano.

Ma l’informatico statunitense Terry Winograd ha ideato un test che dimostra che non è affatto così. Il bello è che lo ha fatto nel 1972, e il suo test funziona ancora adesso. Non per nulla è diventato professore d’informatica alla Stanford University ed è considerato uno dei massimi esperti nel settore.

Il test di Winograd è beffardo, dal punto di vista degli informatici, per la sua semplicità. Una delle sue formulazioni tipiche è questa:

Il trofeo non ci stava nella valigia marrone perché era troppo grande.

Una frase banale, con una struttura grammaticale semplice e parole comunissime, perfettamente comprensibile. Talmente comprensibile e ovvia, per noi umani, che neanche ci accorgiamo che è ambigua. Quale dei due oggetti era troppo grande? Il trofeo o la valigia? Per noi la risposta è istantanea. Per un computer, invece, no.

Infatti una semplice analisi meccanica della frase (“questo è un sostantivo, questo è un verbo”, eccetera) non consente di risolvere l’ambiguità. Per farlo bisogna sapere che cos’è un trofeo, che cos’è una valigia, quali sono i normali rapporti di dimensione fra trofei e valigie, che le valigie sono fatte per contenere oggetti e i trofei no, e il fatto che se l’oggetto A deve stare dentro l’oggetto B, non è un problema se l’oggetto B è molto più grande dell’oggetto A: bisogna sapere che le cose piccole possono stare dentro le cose grandi ma non viceversa.

Non è neanche possibile usare uno dei trucchi preferiti dei sistemi di intelligenza artificiale, ossia sfruttare un enorme corpus di testo e un po’ di statistica per arrivare a una disambiguazione affidabile, o la tecnica tipica degli assistenti vocali, ossia estrarre le singole parole riconosciute e tirare a indovinare sul significato generale della frase. Serve esperienza del mondo.

Il test di Winograd ha varie versioni, chiamate schemi, composte da due frasi che sono differenti tra loro soltanto per una o due parole ma contengono un’ambiguità che si risolve in due modi opposti. Risolverla non è possibile usando le regole della grammatica e della sintassi: richiede conoscenza della realtà e ragionamento. Un computer che fosse capace di farlo sarebbe, all’atto pratico, intelligente.

Questo è un esempio di schema di Winograd:

I consiglieri comunali rifiutarono il permesso ai manifestanti perché temevano disordini

I consiglieri comunali rifiutarono il permesso ai manifestanti perché istigavano disordini

Le persone interpretano la prima frase nel senso che sono i consiglieri comunali a temere disordini; interpretano la seconda nel senso che gli istigatori sono i manifestanti. Eppure le frasi sono strutturalmente identiche. Lo fanno perché sanno cosa sono i consiglieri comunali e quali sono i loro compiti, e sanno che cosa sono le manifestazioni e le loro possibili conseguenze.

Beh, direte voi, ma frasi ambigue come queste sono rare. Invece no: un gruppo di ricercatori ne ha radunati 150 esempi, da usare come test d’intelligenza per computer. Frasi banalissime, come “ho messo un libro pesante sul tavolo e si è rotto”. Persino GPT-2, uno dei sistemi di intelligenza artificiale più moderni applicato al linguaggio, va in crisi di fronte agli schemi di Winograd, come spiega bene Tom Scott in questo video.

Potremmo risolvere il problema rivolgendoci ai computer in modo meno ambiguo? È improbabile. Il guaio è, infatti, che siamo talmente abituati a usare sottintesi basati sulla conoscenza del contesto che troveremmo estenuante parlare o scrivere in maniera perfettamente non ambigua.

Questa necessità di avere contesto per capire e risolvere le ambiguità non è solo una questione linguistica: è un ostacolo per un settore delicatissimo come la guida autonoma.

Un’automobile che usi un sistema di puro riconoscimento delle immagini, per esempio, verrà confusa dall’immagine della bambina in mezzo alla strada che vedete all’inizio di questo articolo e probabilmente frenerà di colpo per non colpirla. Al sistema mancano il contesto temporale (la deduzione delle forme reali a partire dal modo in cui cambia l’aspetto nel corso del tempo, e alcuni costruttori ci stanno lavorando) e la conoscenza del comportamento dei bambini: due cose che consentono di capire che non ha senso che una bambina sia perfettamente immobile in quella posizione e che la forma della “bambina” cambia, man mano che ci si avvicina, in un modo che rivela senza dubbio che si tratta di un disegno applicato alla superficie stradale.

Senza dubbio, s’intende, se siete esseri umani. Forse servono strade disambiguate, percorsi semplificati e ben demarcati, che vengano incontro alle limitate capacità dei sistemi di guida autonoma attuali.

Chiarisco che qui non si tratta di rivendicare una superiorità innata e invalicabile dei cervelli biologici su quelli sintetici: non è la materia prima che fa la differenza, è la conoscenza associata agli oggetti che vengono elaborati. Noi l’abbiamo (la acquisiamo), ma le macchine no, perché non gliela diamo. Il giorno che sapremo insegnare a un computer questa conoscenza, avremo davvero macchine intelligenti.  

In sintesi: l’intelligenza artificiale fallisce in modi profondamente “inumani”. Dà l’illusione della comprensione. Questo rende particolarmente difficile prevedere i suoi errori e correggerli. Specialmente quando si è al volante. Ricordiamocene prima di affidarci a questi sistemi.

Nessun commento: