Explainable AI with Python: il brillante match tra un libro e l’innovazione formativa

AI & ML Expert Talks
4 Luglio 2023

Per realizzare la piattaforma automatica e adattiva di Cyber Guru è stato necessario sviluppare un prodotto controllato da un modello di machine learning.
Ciò è stato possibile grazie all’esperienza in cibernetica, intelligenza artificiale e machine learning di Leonida Gianfagna, fisico teorico specializzato in particelle elementari e oggi a capo del settore di Ricerca & Sviluppo di Cyber Guru, autore del libro Explainable AI with Phyton.

Nel tuo libro si parla anche molto dell’Intelligenza Artificiale Spiegabile, Explainable AI. Ci puoi spiegare cos’è?

È un campo di ricerca all’interno del machine learning che cerca di sopperire alle tante domande, anche relative alla responsabilità, che tutti ci poniamo su questo strumento e sul suo funzionamento.

Ormai l’intelligenza artificiale ha assunto un ruolo importante in molti ambiti della nostra vita, anche quelli particolarmente delicati e strategici come ad esempio la salute, l’economia, la formazione, il diritto e molti altri.

Così può succedere che sia una macchina a fare una diagnosi di un tumore leggendo una TAC o a decidere se una persona può ottenere o meno un mutuo per comprare casa. Insomma, saranno sempre più spesso le macchine a dare risposte a questioni fondamentali della vita di noi cittadini.

L’Explainable AI vuole, appunto, spiegare in base a quali elementi e criteri la macchina raccoglie le domande e fornisce delle risposte. Per essere più chiari, perché ha “deciso” che io non ho diritto ad ottenere un mutuo e invece mio cugino riceve una risposta affermativa.

Questo implica anche questioni relative alla responsabilità e al diritto?

Si, il punto è anche questo. Su chi ricade la responsabilità se la macchina fa una deduzione sbagliata?

Visto che le risposte giuridiche e il diritto non ce la fanno a stare dietro alla velocità di sviluppo della tecnologia e dell’intelligenza artificiale, si sta andando sempre più verso un sistema misto, dove la responsabilità rimane in capo all’uomo che utilizza la macchina.

Il ruolo dell’Explainable AI diventa sempre più determinante per capire come i computer costruiscono le loro risposte.

Nel libro si parla anche molto di Machine Learning. In cosa questo si differenzia dall’Intelligenza Artificiale?

Dobbiamo prima fare una breve storia dell’Intelligenza artificiale.
La nascita dell’AI va ricercata negli anni ’50 simbolicamente con il lavoro di Turing (Computing Machinery and Intelligence) e la sua famosa domanda “Can machines think?”, ha una storia che va avanti a singhiozzi.
Vive infatti molti periodi difficili, chiamati “AI winters”, in cui sembrava che gli sviluppi fossero arrivati ad un punto morto. Fino a che non c’è stata una rinascita intorno agli anni 2000, quando è iniziato un periodo di aumentato sviluppo di questo strumento dovuto soprattutto alla forte crescita della disponibilità dei dati e alla potenza computazionale. Questi due elementi hanno permesso l’applicazione dei vecchi modelli in un contesto totalmente nuovo con dei successi strabilianti

Il Machine Learning è un sottoinsieme dell’IA e si occupa di creare sistemi che apprendono o migliorano le performance in base ai dati che utilizzano. È un approccio diverso da quello algoritmico in cui il modello apprende come risolvere dei task in modo autonomo (senza delle regole precise programmate dall’esterno).

Un esempio?

Se devo insegnare a una macchina come riconoscere dei gatti posso seguire due strade:

descrivere le caratteristiche del gatto in maniera algoritmica chiedendo alla macchina di controllare se nell’immagine sottoposta sono presenti gli elementi del gatto. Ma questa è una strada difficile da seguire perché i gatti possono essere molto diversi tra loro e alla prima difficoltà la macchina può bloccarsi.

L’altra strada è quella di fornire alla macchina tantissime immagini di gatti e lasciare che sia la macchina stessa a riprodurre un modello che le permetta di riconoscere un gatto.

Il Machine Learning, quindi, attinge a tanti dati costruendo il modello di una rete neurale (o modelli diversi di ML) e cercando la risposta più giusta tra input e output. Fino a che il processo non viene validato.

Quando si è soddisfatti dell’accuratezza delle risposte si può cominciare a sottoporre alla macchina dati mai sottoposti prima affidandosi alla Rete e all’infinita quantità di dati che in essa si trovano.

È lo stesso meccanismo su cui si basa il funzionamento di Chat GPT di cui oggi si parla tanto.

Siamo dunque arrivati a un punto in cui le macchine possono essere definite intelligenti?

La questione è più complessa e se ne discute da sempre.
Bisogna innanzitutto chiedersi cosa si intende per intelligenza. Un computer elabora dei dati ed esegue dei programmi ma non “capisce” quello che sta facendo. Certo, a uno sguardo superficiale le sue risposte possono sembrare simili a quelle umane. Ma rimangono due mondi distinti e lontani. La complessità dell’umano non appartiene ai computer.

É un tema molto importante che venne posto già dagli anni ‘80 con chiarezza John Roger Searle, professore di Berkeley, noto per i suoi contributi alla filosofia del linguaggio e alla filosofia della mente, che propose il famoso esperimento della stanza cinese per dimostrare che la mente umana non fosse replicabile all’interno di una macchina.

Di che si tratta?

Immaginiamo che in una stanza ci siano una macchina e un uomo che parla solo inglese.
A entrambi viene sottoposto un testo in cinese da tradurre. Ovviamente il computer non ha problemi di sorta a eseguire il suo compito. All’uomo viene fornito un libro con una serie di regole scritte in inglese che spiegano come abbinare i simboli cinesi alla sua lingua. Così l’uomo trova la soluzione e comincia a produrre output di risposta, seguendo alla lettera le istruzioni.  Le risposte che l’uomo produce sono formalmente giuste, perché ha eseguito alla lettera le istruzioni che gli sono state consegnate insieme agli ideogrammi e che possono essere paragonate al software del computer.
Nonostante questo, non ha compreso nulla delle sue risposte e, ovviamente, non ha imparato il cinese, anche se a uno sguardo superficiale poteva sembrare il contrario.
Ecco, una macchina si comporta come il protagonista di questo esperimento: esegue il programma scritto nel linguaggio di programmazione (la sua madrelingua), ma essenzialmente manipola simboli di cui non conosce il significato. La sua operazione è puramente sintattica. Ma la complessità della mente umana non è imitabile da una macchina. Questa, infatti, non deve “capire” ma solo elaborare e manipolare correttamente dei dati.
Tornando all’esempio dei gatti, basti pensare che un bambino non ha bisogno di elaborare migliaia di immagini di gatto, gli basta vederne due o tre perché si formi nella sua mente un’idea del gatto che gli permetterà di riconoscere sempre quell’animale.

Se vuoi saperne di più su Explainable AI with Python

ISCRIVITI ALLA NEWSLETTER

Articoli correlati