Scienza

È innegabile: l’Intelligenza Artificiale funziona (abbastanza)

È innegabile: l’Intelligenza Artificiale (IA) funziona, anche se con limiti evidenti. Nella comunità che sviluppa e applica l’IA sta crescendo l’esigenza di una IA “spiegabile” di cui vi voglio parlare in questo e nel prossimo post. Funziona l’IA? , spesso senza che ce ne accorgiamo, per esempio nei suggerimenti che ci vengono dati quando acquistiamo qualcosa online. I limiti si vedono: ottengo risposte esilaranti dal mio assistente vocale quando cerco di fargli riprodurre musica del cantante Nuttea; il mio vecchio robot aspirapolvere s’incastrava continuamente. Tuttavia sia l’assistente sia l’aspirapolvere mostrano capacità che vent’anni fa sarebbero state fantascienza.

I nodi vengono al pettine quando dall’IA può dipendere la vita di persone: per esempio nella guida automatica e nelle diagnosi mediche. Immaginiamo un dermatologo che sottopone l’immagine di una lesione al suo sistema di IA; supponiamo che la risposta del sistema non lo convinca. Abbiamo un bel da dirgli che c’è un’evidenza sperimentale di diagnosi automatiche più accurate di quelle umane (Esteva, A., et al.: Dermatologist-level classification of skin cancer with deep neural networks, Nature 542 (7639), 115, 2017), che il sistema è stato addestrato con 130.000 immagini, che forse lui è stanco ma la macchina no; lui vorrebbe sapere perché quella particolare lesione è stata classificata in quel modo.

Come funziona la cosa? I sistemi di IA forse più di successo sono basati su algoritmi di “apprendimento profondo”, dove la profondità si riferisce alla presenza di molti strati di una rete neurale (o neuronale). Questa è costituita da uno strato di punti d’ingresso; essi sono collegati a “neuroni” di un secondo strato con collegamenti di intensità modificabile; i neuroni del secondo strato sono collegati a quelli di un terzo strato eccetera, fino allo strato dei punti di uscita che forniscono la risposta (Figura 1).

Prendiamo il caso della classificazione di cifre manoscritte: gli ingressi ricevono i pixel di un’immagine e le uscite corrispondono alle cifre da 0 a 9. L’addestramento avviene dando in pasto immagini di cifre manoscritte e variando le intensità dei collegamenti finché il sistema non dà in uscita un’alta percentuale di classificazioni giuste.

Quindi sappiamo bene come funziona una rete neurale, mica viene dagli alieni! Però la risposta non ci arriva con una motivazione. Mi spiego: anni fa un apparato con lo stesso scopo sarebbe stato fatto così: intelligenti ricercatori individuavano caratteristiche specifiche delle singole cifre (per esempio: 8 ha due buchi, 0 ha un buco solo e nessuna coda, ecc.) e programmavano il sistema in base ad esse. Perciò se una cifra veniva classificata correttamente o erroneamente si capiva quali caratteristiche avevano prodotto il risultato. Adesso no! Ma, con una certa frustrazione di noi vecchi ricercatori, queste fottute reti neurali funzionano maledettamente bene.

I difetti non mancano; a parte la necessità di un addestramento massiccio con migliaia di esempi, ci sono almeno due fonti di errori:

(1) il cigno nero; può sempre capitare qualcosa di totalmente inaspettato, molto lontano dagli esempi forniti;

(2) l’effetto kluger Hans: cioè come quel cavallo che contava battendo lo zoccolo, ma in realtà a contare, inconsapevolmente, era il suo padrone.

Capite bene che (1) è un guaio anche per un operatore umano; però i cigni neri di una rete neurale spesso sono bianchissimi per noi; un esempio è dato dalla Figura 2: un sistema (Karpathy, A., Fei-Fei, L.: Deep visual-semantic alignments for generating image descriptions. In Proc. of the IEEE conference on computer vision and pattern recognition, 2015) che dà descrizioni sintetiche e pertinenti di centinaia di immagini come quella di sinistra – e, credetemi, non è cosa da poco – ha preso la cantonata che vedete a destra. Il più insidioso è il difetto (2), forse quello che necessita maggiormente di un intervento strutturale.

Come rimediare ai difetti e soprattutto alla mancanza di spiegazioni sia dei successi sia degli insuccessi? Da una parte (cicero pro domo sua) con una comprensione più approfondita mediante opportuni modelli matematici. Dall’altra tentando di creare una IA spiegabile e con il coinvolgimento sistematico dell’operatore umano nei processi di decisione della macchina.

Parlerò di questi tentativi, anche in relazione al difetto (2), nel prossimo post.