Questo sito web utilizza cookie tecnici e, previo Suo consenso, cookie di profilazione, nostri e di terze parti. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsente all'uso dei cookie. Leggi la nostra Cookie Policy per esteso.OK

trasparenza degli algoritmi

L’Intelligenza artificiale deve essere “spiegabile”, ecco i progetti e le tecniche

Nell’ultimo anno in tutta Europa, soprattutto dall’entrata in vigore del GDPR (ma non solo), un tema di discussione parecchio caldo è la cosiddetta AI explainabilty. Ma cos’è esattamente? Cerchiamo di fare chiarezza su questo argomento, sul quale esiste parecchia confusione

25 Nov 2019
Guglielmo Iozzia

Associate Director - Business Tech Analysis, IT and Analytics presso MSD


La comprensione dei processi che stanno alla base delle decisioni prese da un sistema di intelligenza artificiale è un tema sempre più centrale: questo perché il deep learning e le reti neurali assumono un ruolo sempre più di primo piano nel modellare la trasformazione tecnologica di diversi settori di business e di conseguenza sempre più processi di decisione automatica diventano basati su algoritmi di IA.

La questione della trasparenza degli algoritmi è al centro anche di alcuni articoli del GDPR: 12, 13, 21 e soprattutto 22. Quest’ultimo, in particolare, prevede che in quei casi in cui una decisione sia stata presa senza intervento umano ma esclusivamente tramite un processo automatico, il soggetto a cui i dati si riferiscono ha il diritto di ricevere una spiegazione su come tale decisione sia maturata.

Questo si applica in tutti i casi in cui un ente usi un processo automatico che utilizza dati personali per la valutazione di un individuo residente nella Comunità Europea.

È facile intuire quindi che il diritto ad una spiegazione introdotto con il GDPR ha particolare impatto sugli enti responsabili di tali servizi.

Deep learning e mancanza di trasparenza

Per comprendere meglio la posta in gioco, partiamo da una breve descrizione del Deep Learning, che è una specializzazione del Machine Learning basata su reti neurali a strati multipli. L’idea iniziale è basata sul funzionamento del cervello umano (anche se il modo in cui realmente operano è diverso): le reti neurali creano le proprie regole comportamentali in base ad esempi che vengono loro dati in pasto in fase di training. Man mano che una rete riceve dati di apprendimento, questi vengono processati ciclicamente attraverso i vari strati interni composti da neuroni artificiali, i quali regolano i loro parametri in modo da rendere la rete in futuro in grado di classificare nuovi dati aventi proprietà simili. Per esempio, eseguendo il training a riconoscere diversi modelli di automobile a partire da immagini, una rete dovrebbe poi essere in grado di capire se il modello in una nuova foto passata in input è una Fiat Punto, una Peugeot 208, una Ford Fiesta o altra vettura. Da questo si evince che sistemi software basati su reti neurali differiscono da quelli basati su tradizionali algoritmi di programmazione, dove è lo sviluppatore a implementare le regole decisionali.

Il Deep Learning negli ultimi anni ha permesso l’implementazione di algoritmi che risolvono problemi che il Machine Learning e altre tradizionali tecniche di IA non permettevano o per i quali il margine di errore nelle predizioni era ancora piuttosto alto. Ma a questo enorme guadagno in termini di accuratezza si contrappone una perdita in termini di trasparenza e controllo. Le reti neurali sono in grado di portare a compimento molto bene i loro compiti, ma è difficile dare un senso a tutti i milioni di neuroni e parametri responsabili delle decisioni prese da una rete.

La scatola nera dell’Intelligenza Artificiale

Così nasce il problema chiamato “AI Black Box” (letteralmente “Scatola Nera dell’Intelligenza Artificiale”). Questa mancanza di visibilità ha sollevato diverse preoccupazioni in particolare in alcuni settori, quali ad esempio l’healthcare e in generale tutti quelli che ricadono dentro la definizione di Life Sciences (tanto per citare ambiti in cui sono stato e sono personalmente coinvolto), in cui una decisione errata da parte di un algoritmo può causare danni gravi ed irreparabili, ma anche in altri ambiti dove regolamentazioni legislative consentono agli utenti finali di richiedere agli enti responsabili spiegazioni riguardo una particolare decisione presa nei loro confronti, anche in quei casi in cui tale decisione sia stata generata da un sistema automatizzato.

Quando si tratta di IA, il termine “interpretabilità’” può assumere due diversi significati:

  • capire come un algoritmo opera internamente, oppure
  • capire quali fattori o dati siano stati decisivi nella produzione di un determinato risultato che ha avuto impatto su un individuo.

In ambiti accademici e giuridici diversi dibattiti sono attualmente in corso per stabilire quale, fra le due sopra, sia il reale significato di explainability per un sistema IA/Deep Learning relativamente all’articolo 22 del GDPR. Lungi da me addentrarmi in considerazioni prettamente giuridiche (non potrebbe essere altrimenti visto il mio background ed esperienza in altri campi), quindi nel resto di questo articolo cercherò di esaminare la questione da un punto di vista più pragmatico, da persona coinvolta in progetti IA (Deep Learning in particolare) mirati a risolvere problemi reali.

WHITEPAPER
Trend AIOPs: come automatizzare l’intera catena del valore digitale? Scarica il white paper!
Intelligenza Artificiale

Sicuramente la realizzazione di una Explainable AI è importante per diversi motivi. Primo fra tutti: le reti neurali fanno bene il loro lavoro, meglio degli esseri umani, ma, così come questi ultimi, possono commettere degli sbagli. Ma, poiché il loro processo decisionale è diverso da quello del cervello umano, per capire in che maniera sbagliano, bisogna interpretarle. Altro motivo: algoritmi di IA, in particolare reti neurali, possono sviluppare pregiudizi occulti che alimentano il rischio per una rete di produrre, per esempio, risultati razzisti o sessisti con conseguenti danni emotivi, legali o finanziari per i soggetti coinvolti.

Personalmente ritengo che la definizione di interpretabilità per algoritmi di IA più utile fra le due citate sopra sia la seconda. Decisamente una garanzia di qualità dei set di dati utilizzati per il training di una rete neurale riduce enormemente il margine di errore e consente di capire se determinati preconcetti siano dovuti ai dati e non all’implementazione del modello della rete. L’individuazione del/i neurone/i o strati responsabili di un particolare risultato permette inoltre di capire su quali punti intervenire per modificare il design iniziale del modello di una rete neurale.

IA, automatizzare l’indescrivibile

Non ritengo invece abbia senso applicare la prima fra le due definizioni sopra, in quanto essa non porta alcun vantaggio utile, anzi il contrario. Il compito dell’IA è quello di automatizzare l’indescrivibile. Il livello di complessità è talmente alto che, anche fossimo in grado di dissezionare tutto ciò che viene automatizzato tramite un sistema AI, non sarebbe possibile per la mente umana ritenere/comprendere tutta quella mole di informazioni. E così torneremmo al punto di partenza, in quanto non saremmo in grado di avere fiducia in qualcosa che non possiamo comprendere.

Qualcuno potrebbe a questo punto obbiettare:” Perché dovremmo quindi avere fiducia nell’IA?”.

Consideriamo il seguente esempio: immaginiamo di dover scegliere tra due modelli di automobili. Il primo fra questi due modelli ha un manuale completo di tutte le equazioni che ne spiegano dettagliatamente il complesso funzionamento, ma non è mai stato provato su pista o strada. Del secondo modello invece si sa poco di come funzioni effettivamente, ma è un modello che viene regolarmente utilizzato su strada da qualche anno senza problemi e che ha superato brillantemente tutti i test di validazione prima di essere messo in commercio. Quale fra i due scegliere? Decisamente una domanda a cui non è facile dare risposta, ma quando si tratta di IA, ritengo che la cosa più importante sia testare accuratamente un algoritmo/rete neurale, in modo da far sì che esso operi come ci si aspetta. Seguire questa strategia per poter aver fiducia nell’operato di un sistema IA non è in contraddizione con quanto facciamo regolarmente con i nostri colleghi di lavoro: ogni volta che mostriamo fiducia in una decisione che è stata presa da qualcun altro, di certo non andiamo a capire prima come funzioni il suo cervello (cosa peraltro impossibile, essendo un cervello umano medio composto da circa 100 miliardi di neuroni o giù di lì), altrimenti non dovremmo avere fiducia di alcuno.

Le iniziative peer interpretare i risultati di una rete neurale

Mentre il dibattito giuridico infuria, esistono in parallelo anche diverse iniziative atte alla implementazione di tecniche e strumenti per poter interpretare i risultati di una rete neurale e rendere le scatole nere dell’IA, se non bianche, quantomeno grigie. Purtroppo, a mio avviso, in Europa, queste iniziative non producono lo stesso “rumore” dei tanti dibattiti etico-giuridici (alcuni sensati, altri completamente opinabili), ma hanno un enorme impatto positivo su chi lavora quotidianamente in progetti IA. Ecco di seguito tre esempi.

Due progetti lodevoli e maturi in questa direzione fanno parte dell’iniziativa PAIR (People + AI Research) di Google. Il primo prende il nome di What If? Tra le tante sue features, questo tool consente di automatizzare l’analisi visuale dei set di dati di training e di test per capire in maniera rapida se potenziali bias siano da ricercare proprio nei dati e non nel modello (fig. 1). Inoltre, esso consente di manipolare i training sets in modo da osservare come il comportamento di un determinato modello evolverebbe nella nuova situazione (da qui il nome What if?, che tradotto in italiano suona come Cosa succederebbe se?).

Figura 1 – Visualizzazione della distribuzione dei dati per la feature Race in due dataset utilizzati rispettivamente per training (blue) e test (marrone) di una rete neurale. Da questa si evince immediatamente la sproporzione di record relativi a persone di razza bianca rispetto a quelli relativi ad altre etnie.

L’altro tool, o meglio tecnica, proposta da PAIR è la cosiddetta SmoothGrad, utilizzata in casi di riconoscimento di oggetti per calcolare la sensitivity mask per una immagine conseguentemente ad una predizione fatta su di essa da un modello IA. Quando un modello fa una predizione, risulta utile capire quali features (pixel) dell’immagine che è stata passata in input sono state decisive. Tramite questa tecnica è possibile visualizzare l’importanza dei pixel dell’immagine in diverse tonalità di grigio o altri colori, corrispondenti a diversi livelli di importanza. In figura 2 un esempio di questa tecnica. La figura 2-a rappresenta una immagine su cui una rete neurale convoluzionale deve eseguire una classificazione. Tale immagine è un caso borderline: in essa sono rappresentati due diversi tipi di contenitori (bicchiere e bottiglia) per uno stesso tipo di bevanda (birra). Nessuno dei due oggetti è predominante nella scena ed entrambi sono collocati in maniera simmetrica rispetto al centro. La predizione del modello in esame ha prodotto “bottiglia di birra” come risultato della classificazione. Le figure 2-b e 2-c mostrano le sensitivity mask generate tramite SmoothGrad (in grigi e a colori rispettivamente), da cui è facile intuire quali pixel abbiano indotto la rete a classificare l’immagine come descritto.

A glass of orange juice Description generated with high confidence
A star in the dark Description generated with high confidence
A picture containing LEGO, toy Description generated with very high confidence

Fig. 2-a Fig. 2-b Fig. 2-c

Un altro tool interessante, parte di un progetto di ricerca presso l’Università di Stoccolma, consente la visualizzazione automatica (layers, heatmap, 3D charts) del livello di importanza di ogni neurone di una rete neurale ricorrente in casi di predizione di un testo (fig. 3-a e 3-b). In questo modo è possibile individuare i/il neurone/i maggiormente responsabile/e di una predizione.

A screenshot of a social media post Description generated with very high confidence
A close up of a map Description generated with high confidence

Fig. 3-a Fig. 3-b

Mi auguro che nel breve e medio termine sempre più sforzi si concentrino sullo sviluppo di strumenti per poter avere una Explainable AI nell’accezione descritta precedentemente come parte integrante di qualsiasi sistema IA (cosa non impossibile, considerando i migliaia di progetti di ricerca attualmente esistenti in ambito accademico e l’enorme impegno delle comunità Open Source per l’implementazione di tool ad essi relativi) e che gli enti che si occupano della regolamentazione tengano conto di questo scenario e non rallentino (o addirittura blocchino) il progresso della IA e che abbiano in mente non solo i lati negativi di questa trasformazione, ma anche tutti i suoi innegabili benefici.

@RIPRODUZIONE RISERVATA

Articolo 1 di 3