AI Academy

Bias nell’intelligenza artificiale: quali sono le cause e le possibili soluzioni

I differenti tipi di bias presenti in un campione di dati derivano da scelte errate in fase di design dell’esperimento oppure dal bias cognitivo presente nell’agente umano che genera o raccoglie i dati. Ecco un elenco

Pubblicato il 01 Lug 2022

Gianmarco Genalti

AI Scientist AIRIC (AI Research and Innovation Center) - Politecnico di Milano

Un algoritmo di intelligenza artificiale basato su un approccio data-driven non predice il futuro, ma codifica il passato. Questo non evidenzia soltanto il forte legame tra il comportamento di un algoritmo e la base di dati su cui viene addestrato, ma ci pone davanti alcune domande: come possiamo realmente definire la performance di un algoritmo? Cosa sono i bias e come si possono neutralizzare?

Cos’è un dato distorto

Un campione di dati è considerato distorto (dall’inglese, biased) se la probabilità che un individuo appartenga a una data popolazione dipende dalle caratteristiche di quella stessa popolazione che saranno poi l’oggetto dell’inferenza, in altre parole, se il nostro campione statistico non è rappresentativo del reale fenomeno che si vuole studiare attraverso i dati. Per esempio, se volessimo stimare la distribuzione delle temperature in una città, ma raccogliessimo dei dati soltanto quando c’è bel tempo (invece che tutti i giorni alla stessa ora), ci ritroveremmo con un dataset che non rappresenta fedelmente la realtà

Bias: tipologie e possibili cause

Esistono differenti tipi di bias che possono essere presenti in un campione di dati: essi derivano solitamente da scelte errate in fase di design dell’esperimento oppure dal bias cognitivo presente nell’agente umano che genera o raccoglie i dati.

Uno degli esempi più frequenti è quello del response bias: questo tipo di bias è molto comune nei dati provenienti dal web, ed è introdotto dal fenomeno per cui una fetta molto ristretta della popolazione genera la maggior parte dei dati. Studi recenti mostrano ad esempio che il 50% dei post su Facebook e il 50% delle recensioni su Amazon vengono prodotti da meno del 10% degli utenti. Questo campione di dati non sarà sufficientemente rappresentativo delle opinioni dell’intera popolazione presente su queste piattaforme.

Source: Reimagining AI building togheterness with bias monitoring

Design degli esperimenti

Il modo in cui viene effettuato un esperimento gioca un ruolo fondamentale nella qualità dei dati raccolti, e sono numerosi i tipi di bias che possono derivare da scelte errate in questo processo. Immaginiamo lo scenario in cui un nuovo prodotto viene lanciato e si raccolgono recensioni per un certo periodo di tempo: quali tipi di bias rischiano di crearsi in un campione statistico? Poniamo caso che scegliessimo di utilizzare le prime 100 recensioni in ordine cronologico: quello che potrebbe verificarsi è che otterremmo delle recensioni solamente dalla popolazione dei clienti fidelizzati, che hanno acquistato il prodotto al lancio, mentre trascureremmo l’opinione di molte altre fasce di utenti; questo fenomeno di mancata randomizzazione nella scelta dei dati ricade tra i selection bias.

Sempre in questa famiglia di bias, ricade anche lo scenario per cui la presenza di recensioni positive o negative è sproporzionata rispetto alla popolazione reale. Questo accade perché un cliente insoddisfatto potrebbe essere più prono a lasciare una recensione rispetto ad uno soddisfatto: in questo caso parliamo di participation bias, che in casi limite potrebbe portarci a dover gestire campioni di dati unbalanced rispetto a una variabile target su cui è nostro interesse fare inferenza. Inoltre, in contesti in cui vi è facoltà di scegliere da chi raccogliere una opinione sul prodotto, si rischia di incappare nel convergence bias, scegliendo per esempio di chiedere un parere soltanto alle persone che hanno acquistato il prodotto e non a quelle che non l’hanno fatto.

Bias e utilizzo di intelligenza artificiale

L’intelligenza artificiale è, spesso e volentieri, essa stessa una forte fonte di bias nei dati. Un esempio è quello dei cosiddetti feedback loops, frequenti (e spesso inevitabili) per algoritmi che interagiscono in tempo reale con l’utenza. Poniamoci nel contesto, ad esempio, di un algoritmo di raccomandazione di contenuti: una volta che avrà formulato, a partire dal dato storico, una proposta di contenuti per un utente, lo condizionerà nella sua scelta dalle proposte effettuate, spesso non portandolo a valutare effettivamente tutte le alternative a disposizione. Il dato che poi raccoglierà l’algoritmo sarà condizionato da ciò, portandolo a quello che è a tutti gli effetti un loop dove i nuovi dati che osserverà saranno frutto del suo stesso comportamento. In questo contesto, ulteriori tipi di bias possono presentarsi nei dati a causa dell’influenza che l’algoritmo esercita sull’utente: il position bias è introdotto quando una lista di contenuti viene presentata enfatizzandone l’ordine, oppure il presentation bias, derivante dal fatto che i contenuti potrebbero essere presentati da tipologie di media differenti (e.g. video vs testo).

Il trasferimento da bias umano

Tuttavia, anche la raccolta di dati da parte di agenti umani può portare a diversi tipi di bias. Questo accade quando vengono fatte ipotesi sui dati basandosi sulla propria esperienza che non si applicano in contesti più generali. Gli umani potrebbero agire sulla base di pregiudizi o stereotipi anche involontariamente. Ad esempio, una persona che si trovi nella posizione di dover assumere un dipendente per adempire ai suoi stessi compiti potrebbe tendere a preferire coloro che abbiano un background simile al proprio.

Problematiche indotte da dati distorti

Un bias nei dati si trasformerà domani in un bias nell’output dell’algoritmo: ad oggi, in molti Big Data generati da sistemi basati su AI o Machine learning potrebbero essere presenti bias indotti dagli algoritmi sottostanti.

Impatto su performance dei sistemi di AI

Uno dei lati negativi di questa condizione è quello relativo alle performance di inferenza dell’algoritmo. Infatti, assumendo di introdurre un bias nella selezione dei dati di training (dati su cui l’algoritmo viene addestrato) potrei non rappresentare adeguatamente la popolazione reale, quella che poi genererà i dati di test (i dati reali, su cui poi l’algoritmo sarà effettivamente chiamato a fare inferenza una volta in produzione). Questo disallineamento tra i dati mostrati all’algoritmo per addestrarsi e i dati su cui poi sarà chiamato a fare inferenza non permetterà a quest’ultimo di generalizzare adeguatamente il fenomeno, intaccandone le performance.

Problematiche etiche

Il secondo lato negativo, nonché quello di maggiore attualità e uno dei principali banchi di prova dell’AI, è quello del comportamento discriminatorio verso specifiche comunità. Il grande successo delle applicazioni di Machine learning ha portato, negli ultimi anni, a una vera e propria proliferazione di questi algoritmi nei più disparati ambiti. Tecniche di AI sono state introdotte nei processi di selezione del personale, nella sicurezza e nella gestione di risorse finanziarie. Queste operazioni vedono come principale fonte di dati storici proprio quegli eventi registrati in passato da operatori umani, i quali potrebbero aver tradotto in modo involontario i propri bias cognitivi in veri e propri bias nel dato.

Ad oggi, con una tendenza che pare in forte crescita, un algoritmo potrebbe trovarsi a decidere se siamo un candidato idoneo o no per un certo tipo di posizione lavorativa, oppure se sia possibile ottenere un prestito o un mutuo. Tutte queste decisioni, spesso di forte impatto sulla vita di una persona, devono necessariamente essere prese in modo fair e totalmente non discriminatorio nei confronti di etnia, sesso, età o qualsiasi altro fattore umano.

Sono proprio questi motivi che ci portano a mettere in discussione quale sia la vera performance di un algoritmo: oggi, per costruire e valutare un algoritmo di AI non è più sufficiente limitarsi a calcolare una metrica di accuratezza, ma si dovrà valutare il comportamento di quest’ultimo in termini di generalizzazione su dati e ambienti mai visti e il rispetto dei vincoli introdotti dal paradigma della fairness in AI.

bias

Potenziali soluzioni al problema del bias nell’AI

Nel momento in cui una azienda si porrà la sfida di introdurre tecniche di intelligenza artificiale all’interno del proprio business, dovrà prima di tutto domandarsi se la propria cultura del dato sia sufficiente per garantire performance affidabili dei propri algoritmi.

Il primo step da percorrere nella progettazione di un sistema di AI data-driven è sicuramente quello della exploratory data analysis (EDA). Questo processo, se fatto con la dovuta profondità e senso critico, può portare all’identificazione di svariati tipi di bias nel nostro dato e a una maggiore comprensione del fenomeno generatore, un requisito indispensabile per poter fare prevenzione e correzione di bias sia nei dati che nei modelli.

Suggerimenti pratici per la costruzione di un database “fair”

Quali sono delle politiche corrette da seguire nella costruzione e nel monitoraggio di un database? La prevenzione del bias è un processo continuativo che inizia nel pre-processing dei dati e si conclude al post-processing degli output. Una azienda che intraprende un progetto di AI dovrebbe attenersi a buone pratiche di utilizzo dei dati, come ad esempio:

  • Fare ricerca a priori sul fenomeno che genera i dati cercando di comprendere lo scenario “più generale”.
  • Separare il team di analisi dati dal team di raccolta dati, al fine di minimizzare i bias cognitivi durante le analisi.
  • Combinare dati provenienti da configurazioni differenti di uno stesso fenomeno per ottenere una maggiore generalità. Tornando all’esempio del meteo, questo significa misurare le temperature sotto ogni possibile condizione climatica.
  • Creare un prototipo di “dato ideale”, ovvero un piccolo campione di dati che sia il più rappresentativo possibile del fenomeno e agisca da guida durante la raccolta e il data labelling.
  • Nel caso di annotazione manuale dei dati (e.g. classificare se una recensione è positiva o negativa) fare più passaggi di verifica su utenti umani differenti.
  • Chiedere aiuto esterno da parte di un esperto di dominio per revisionare i dati. Un occhio esterno potrebbe accorgersi di bias che il team potrebbe non aver visto, influenzandosi a vicenda.
  • Utilizzare, quando possibile, randomizzazione nella generazione e nella selezione dei dati.

Gestione dei bias prodotti da AI

Quando i dati sono generati da sistemi di AI, una buona strategia per mitigare il bias indotto da feedback loops è quello di randomizzare degli output: ad esempio, in una piccola porzione dei casi (e.g. 1%) possiamo imporre che l’algoritmo generi casualmente un output, così da poter “esplorare” nuovi dati. Questo è comune nei sistemi di raccomandazione, dove si potrebbe scoprire un nuovo interesse dell’utente che non era osservabile dal dato storico presente.

Gestione dei bias prodotti da umani

Per quanto riguarda i bias nel contenuto generato da umani, tradotto poi in un comportamento biased dell’algoritmo addestrato su di essi, molta ricerca è stata fatta negli ultimi anni per quantificare il livello di fairness di un sistema di AI. Recentemente, sono stati introdotti dalla comunità scientifica molti benchmark e persino molti database pubblici specificamente progettati per permettere la valutazione della fairness di un algoritmo. La sfida, in questi casi, è quella di migliorare la fairness senza tuttavia sacrificare performance statistica. Una delle tecniche più popolari è, ad oggi, l’utilizzo di una metrica che tenga conto sia della accuratezza dell’algoritmo, sia del grado di indipendenza dell’output da variabili “critiche” (e.g. sesso, età, etnia…). In questo paradigma, si mostrano all’algoritmo delle variabili per cui, idealmente, esso non debba discriminare: invece che apprendere, come accade solitamente, come l’output dipenda da queste variabili, si dovrà premiare in termini di metrica di performance l’indipendenza di queste variabili dall’output dell’algoritmo.

Gestione dell’unbalancing

Qualora ci si trovi davanti un campione di dati dove vi sia unbalancing oppure un participation bias, una delle strade più battute è quella che si affida alla generazione di dati sintetici di una certa tipologia per compensare le proporzioni. Tuttavia, è bene segnalare che, mentre questa tecnica da un lato migliora il processo di apprendimento dell’algoritmo, dall’altro rischia di amplificare altri tipi di bias che potrebbero essere presenti nei pochi dati utilizzati per generarne di nuovi. La gestione di questo trade-off è tuttora un problema aperto per la letteratura scientifica.

Conclusioni

Il problema dei campioni statistici distorti è molto più comune di quanto si possa pensare, e ha delle origini spesso difficili da identificare proprio a causa della loro eterogeneità. Se trascurati, questi bias possono impattare notevolmente sia sulle metriche di performance dei propri algoritmi che sul livello di fairness di questi ultimi. Per questo motivo, buone politiche di gestione dei propri dati, nonché dei propri algoritmi di Machine learning e intelligenza artificiale, sono necessarie per qualsiasi azienda decida di investire in queste tecnologie.

Gianmarco Genalti, AI Scientist AIRIC (AI Research and Innovation Center) – Politecnico di Milano

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 3