L’AI non è infallibile.
Mi dispiace deludere i lettori, purtroppo l’AI non è infallibile. Lo so, prendetevi il tempo che vi serve per elaborare il lutto.
Infatti, i modelli di machine learning e di deep learning, imparando solo dai dati senza senso critico, spesso replicano quello che hanno osservato in modo errato, o non sanno gestire alcune situazioni.
I modelli di AI sbagliano più spesso di quello che ci immaginiamo.
Nei prossimi paragrafi, vi racconterò quattro situazioni in cui l’AI non fa una bella figura. Sapere quando l’AI fa confusione è utile per evitare che i modelli impazziscono di punto in bianco mentre state cercando di intercettare inefficienze o ottimizzare il processo, o forniscano indicazioni errate in maniera non controllata.
Correlation in not causation
Scrivetelo sui muri, urlatelo per strada, ditelo a tutti: correlazione non implica causalità!
Peccato che l’AI non lo sappia.
Quello che cerchiamo di rappresentare nei nostri modelli industriali è la causa-effetto: quando questi parametri si comportano così, allora c’è un’alta probabilità di guasto o inefficienza. Quando giro questa manopola, l’energia consumata aumenta.
Tuttavia, i modelli di machine learning (e tutte le equazioni in generale) non intercettano la causa-effetto, ma la più ampia correlazione.
La correlazione è un indice di ‘similitudine‘ tra comportamenti. Se due parametri si inseguono nel tempo, sono correlati. Immaginiamoci due linee di processo, con due temperature T1 e T2 influenzate dalla temperatura ambiente. Se fuori fa caldo, T1 e T2 aumentano. Se fuori fa freddo, T1 e T2 diminuiscono. T1 e T2 sono correlate.
Correlazione e causalità in industria
Immaginiamoci adesso di fare un modello di manutenzione predittiva sulla linea 1 prevedendo la T1 e utilizzando tutti i dati del datalake (il termine tecnico di questo approccio largamente usao è ‘butta dentro e vedi cosa viene‘). Stiamo valutando la T1 anche in funzione della T2, e visto che le due sono altamente correlate – stessa linea, stesso ambiente – il modello sarà molto preciso.
Un bel giorno però la linea 2 si guasta e la T2 inizia ad aumentare. Il modello, che ha imparato la correlazione ma non la causalità, vede una T2 in aumento, una T1 che non la segue, e quindi genera una segnalazione di guasto sulla linea 1.
Il manutentore esce, non trova guasti, perde un sacco di tempo e nel frattempo si rompe la linea 2. Grazie, modello.
Cosa è successo? Chiaro, il modello ha simulato la correlazione senza senso critico rispetto alla causa effetto. Nei modelli di AI industriale, per evitare questi problemi e garantire i benefici è estremamente importante che i modelli vengano fatti da persone con forte competenza di dominio, in modo che i dati selezionati possano essere scelti con cura e senza seguire l’approccio ‘party con imbucati’.
Il bias, questo sconosciuto
In inglese, bias si traduce con pregiudizio. Nel concetto umano, significa farsi un’idea in base ad una situazione senza conoscerla, ma basandosi sul contesto e sulle osservazioni di situazioni simili in precedenza.
Il bias nei modelli di per sé non è un problema, in quanto significa che i modelli stanno facendo il loro lavoro: prevedono qualcosa replicando modalità già osservate in passato.
Quando il bias è un problema
Il problema vero si presenta quando un modello impara a replicare un pregiudizio umano. Ad esempio, se chiedessi ad un modello allenato nel periodo 2019-2022 qual è la probabilità che una ragazza in quanto femmina si laurei in ingegneria nel 2023, mi risponderebbe che avrebbe una probabilità di poco meno del 30%. Se utilizzassi queto modello per suggerire ai diplomandi quale percorso universitario affrontare, a parità di competenze statisticamente consiglierebbe ingegneria ad un ragazzo e qualcos’altro ad una ragazza.
Nel 2022 l’agenzia europea per i diritti umani (EU-FRA) ha pubblicato un report su come il bias umano nelle previsioni dell’AI influenzi le vite di molte persone, quando si decide di usare modelli allenati sullo storico senza che i dati siano stati controllati per evitare di rappresentare veri pregiudizi.
Ovviamente, non è colpa dei modelli, loro replicano solo quello che vedono. E’ lo stesso meccanismo di un bambino che risponde male e dice parolacce, probabilmente ha imparato da qualcuno più grande di lui e non si è inventato nulla.
La responsabilità è piuttosto del data scientist che ha costruito il modello senza pulire i dati, o integrando input non pertinenti (ad esempio il genere nella selezione di un percorso di studi) che però perpetrano pregiudizi e trend sociali che nella società moderna stiamo cercando di livellare.
Too strange to handle
I modelli imparano a gestire solo quello che hanno già visto. Tutto quello che non hanno visto in fase di training potrebbe metterli in difficoltà.
Nel video, i robot umanoidi che cercano di sterminare l’umanità sono dotati di un algoritmo per il riconoscimento di immagini che non ha mai imparato a riconoscere un carlino, per cui quando ne vede uno si confonde.
Per ovviare a questo problema, è necessario ampliare il set di dati utilizzato nel training e utilizzare modelli più potenti in gradi di intercettare sfumature più ampie. In particolare, quello che è mancato e che bisogna invece garantire è una rappresentatività del caso particolare che il sistema non riesce a comprendere: stanno mancando degli output (immagini di carlini etichettate) nel dataset di train da cui il modello può apprendere.
Come si distingue una palla da una testa calva?
Sapreste descrivere come distinguere su un’immagine in 2 dimensioni una palla da calcio dalla testa calva di un arbitro?
Nel video, si nota come il modello non è in grado di farlo, e quindi rovina la moviola continuando a tornare sull’inquadratura dell’arbitro, invece di seguire la palla.
A differenza del caso precedente, quello che manca qui è una caratterizzazione degli input più precisa. Il modello deve avere modo di trovare almeno una differenza tra la testa e la palla, e lo deve fare a partire dagli input.
Un esempio industriale
Se proviamo ad astrarci dal calcio e tornare nel nostro settore, possiamo immaginare una situazione in cui abbiamo un impianto che può lavorare su 3 assetti diversi: motore A acceso, motore B acceso, entrambi i motori accesi.
La performance di impianto in caso di uno o due motori accesi è differente, come fa il modello a prevedere correttamente la performance?
Se gli forniamo solamente il dato di potenza di motore, il modello farà confusione un po’ come vediamo fare sul campo da calcio. Infatti, vedrà valori diversi di performance a parità di singola potenza del motore, senza sapere che in alcuni casi c’è anche l’altro motore acceso, in altri non c’è. Per dare la possibilità al modello prevedere bene la performance di impianto in tutti gli assetti, non basta l’informazione della potenza del singolo motore, ma servirà una variabile aggiuntiva che rappresenti la somma della potenza dei due motori, e un modello più complesso per una migliore rappresentatività.
Grazie al nuovo input, il modello è in grado di riconoscere i diversi assetti, e fare quindi una previsione più precisa.
L’AI non è infallibile – decisamente
In sintesi, i modelli matematici dietro all’AI – seppur potenti – possono sbagliare, soprattutto quando i dati che ha visto per imparare sono incompleti, contengono errori o non sono sufficienti.
In data science c’è il famoso detto Garbage In, Garbage Out: se i dati fanno schifo, il modello sarà altrettanto brutto.