Nell’ambito delle intelligenze artificiali (AI), l’espressione Out of Distribution (OoD) è utilizzato per definire i casi in cui i dati di output sono significativamente diversi da quelli su cui è stato addestrato un modello di intelligenza artificiale.
La traduzione italiana più efficace di questa espressione è “fuori dal campo di esperienza” o “estraneo al training“.
Questa condizione si verifica quando la risposta dei modelli di intelligenza artificiale non si basa su dati corretti.
Il problema dell’Out of distribution rappresenta una criticità rilevante per l’intelligenza artificiale, con implicazioni dirette sulla sicurezza, l’affidabilità e la fiducia nei sistemi intelligenti.
Ecco come trovare una soluzione che ci permetta di riconoscere questa ipotesi e tendere a Intelligenze Artificiali robuste e generalizzabili.
Out of Distribution nell’IA: cos’è e quando si manifesta
Il problema dell’Out of distribution nell’IA si verifica quando i modelli di machine learning incontrano difficoltà a funzionare correttamente nei casi in cui vengono esposti a dati che differiscono significativamente dalla distribuzione dei dati su cui sono stati addestrati.
In altre parole, un modello è “bravo” a gestire i dati che ha già visto (o dati molto simili a quelli visti durante l’addestramento, la cosiddetta “in-distribution”), ma, quando si trova di fronte a qualcosa di completamente nuovo o inaspettato, le sue performance possono crollare drasticamente senza che l’utente se ne accorga.
Immaginiamo di addestrare un modello per riconoscere solo immagini di cani e gatti.
Se gli presentassimo una nuova immagine di un cane o un gatto, questa rientrerebbe nella sua “distribution in-sample” o “in-distribution” (ID). Se, invece, gli mostrassimo un’immagine di un uccello, rientrerebbe nella categoria Out o distribution.
Il problema non è solo classificare erroneamente l’uccello come cane o gatto, ma capire che il modello potrebbe non essere in grado di riconoscere la differenza e comunque fornire una previsione di risposta con alta confidenza, nonostante non abbia mai visto un uccello prima d’ora.
I motivi dell’Out of distribution
Le situazioni Ood possono verificarsi per diversi motivi:
- mutamenti naturali nel tempo: i dati del mondo reale cambiano costantemente. Un modello addestrato sui dati attuali potrebbe non essere altrettanto efficace sui dati raccolti tra un anno, a causa di cambiamenti nel comportamento degli utenti, di nuove tendenz, eccetera (questo fenomeno è spesso chiamato “concept drift”);
- dati nuovi o non previsti: il modello potrebbe ricevere input che non rientrano in nessuna delle classi o categorie su cui è stato addestrato. Per esempio, un sistema di riconoscimento vocale addestrato su un set limitato di lingue potrebbe avere difficoltà con una lingua completamente nuova;
- attacchi avversari: in scenari malevoli, gli avversari potrebbero creare deliberatamente input progettati per ingannare il modello, spingendolo a operare al di fuori della sua distribuzione di addestramento;
- errori o anomalie nei dati: la presenza di dati corrotti, sensori malfunzionanti o input errati potrebbe generare dati OoD.
Scenari ad alta criticità: i casi di Out of Distribution nell’AI
Ipotizziamo situazioni ad alta criticità in cui un sistema di sorveglianza, addestrato a riconoscere i volti in ambiente interno.
Un giorno, lo stesso sistema viene impiegato in un ambiente esterno con sfondo innevato e inizia a identificare i volti in maniera errata.
Oppure si consideri un sistema di diagnosi per immagini basato sull’uso di intelligenza artificiale (IA) che si imbatte in un nuovo tipo di immagini su cui non è mai stato addestrato, ma che suggerisce con assoluta certezza una prognosi standard.
Questi scenari evidenziano una grande minaccia per l’intelligenza artificiale. Poter riconoscere se un sistema di IA sta operando al di fuori delle conoscenze previste è l’aspetto critico del rilevamento delle situazioni al di fuori della distribuzione (OoD).
Occorre riuscire a identificare i casi in cui un sistema di IA si trova ad affrontare situazioni per cui non è stato addestrato.
Le ipotesi descritte sottolineano l’importanza di garantire che i sistemi di IA siano sicuri, robusti, affidabili e degni di fiducia prima di poterli impiegare in situazioni critiche.
In questo articolo ci concentriamo sul rilevamento dell’OoD, una caratteristica importante dell’IA che consente di riconoscere quando un sistema sta operando al di fuori dei propri confini di conoscenza.
Perché è importante il rilevamento dell’OoD nell’AI
Nelle applicazioni critiche, dove le decisioni possono avere conseguenze vitali per le persone o per le organizzazioni, è importante sapere quando un sistema di intelligenza artificiale, pur funzionando correttamente, diventa inaffidabile.
Pensiamo a questi scenari:
- sistemi autonomi che hanno bisogno di riconoscere quando le condizioni ambientali sono cambiate in modo significativo rispetto ai dati di addestramento,
- strumenti di analisi dell’intelligence in grado di segnalare modelli insoliti senza necessariamente inserirli in categorie note;
- sistemi di cyber defense in grado di identificare nuovi attacchi, non solo quelli già noti;
- algoritmi di ottimizzazione logistica ottimizzati per rilevare quando le condizioni della supply chain cambiano in modo radicale.
In ogni caso, il mancato rilevamento degli input Ood potrebbe causare guasti silenti con conseguenze importanti. Poiché le organizzazioni continuano a incorporare l’intelligenza artificiale (IA) nei loro sistemi mission critical, il rilevamento degli input Out of distribution diventa fondamentale per costruire un’AI affidabile.
Proposte per affrontare il problema dell’Out of distribution
La ricerca scientifica rivolta alla risoluzione del problema dell’Out of Distribution è molto attiva e si stanno sviluppando diverse strategie per affrontarlo, vediamo le principali:
- OoD detection;
- OoD robustness;
- Out of Distribution generalization.
OoD detection
Questo metodo si pone l’obiettivo di identificare se un determinato input sia OoD prima che il modello cerchi di classificarlo o elaborarlo.
I metodi più utilizzati includono:
- misurazione dell’incertezza del modello: spesso, i modelli mostrano una maggiore incertezza (per esempio, basse probabilità di output o distribuzioni di probabilità piatte) per gli input OoD;
- approcci basati sulla distanza nello spazio delle feature: serve cercare di capire se l’input si trova lontano dai “cluster” di dati osservati durante l’addestramento nello spazio delle feature appreso dal modello,
- modelli generativi: è possibile utilizzare modelli generativi, come i Variational autoencoders (VAEs) o i Generative adversarial networks (GANs), per modellare la distribuzione dei dati in-distribution e rilevare gli input che si discostano significativamente;
- outlier exposure: è necessario addestrare il modello anche con alcuni esempi OoD per insegnargli a distinguerli dai dati in-distribution;
- ensembling di modelli: occorre utilizzare più modelli e osservare la loro concordanza o discordanza nelle previsioni.
OoD robustness
L’obiettivo di questo metodo è rendere il modello più resistente alle variazioni OoD, in modo che la sua performance non subisca un deterioramento eccessivo in presenza di dati leggermente diversi.
Questo metodo spesso si sovrappone ai metodi di OoD detection, ma si concentra anche su:
- apprendimento di feature invarianti: l’obiettivo è far sì che il modello apprenda caratteristiche rilevanti per il compito e meno sensibili alle variazioni irrilevanti nella distribuzione;
- domain generalization: queste tecniche cercano di addestrare un modello su più domini di dati in modo che possa generalizzare meglio con un dominio non visto.
Out of Distribution generalization
Questo è il metodo più ambizioso. Non solo è in grado di rilevare gli OoD, ma può anche fare delle previsioni accurate su di essi.
Questo richiede una comprensione più profonda dei principi causali sottostanti i dati, piuttosto che delle semplici correlazioni.
Si tratta di un’area di ricerca complessa che spesso si avvicina al concetto di Intelligenza Artificiale Generale (AGI).
Cosa significa realmente Out of Distribution
Prima di passare all’analisi delle opzioni di rilevamento, chiariamo il significato di Out of Distribution.
Con “distribution” s’intende la distribuzione dei dati su cui è stato addestrato il modello. Tuttavia, non è sempre chiaro cosa renda qualcosa al di fuori della distribuzione.
Il caso più semplice si verifica quando un nuovo dato in ingresso è OoD e ha una probabilità pari a zero di essere presente nei dati di addestramento.
Questa definizione, però, è raramente applicabile nella pratica, poiché la maggior parte delle distribuzioni statistiche comunemente utilizzate, come le distribuzioni normali, ammettono tecnicamente qualsiasi valore, per quanto improbabile. In altre parole, hanno un supporto infinito.
Out of distribution nell’AI significa in genere una delle due cose:
- il nuovo input proviene da una distribuzione fondamentalmente diversa da quella dei dati di addestramento. In questo caso, “diversa” significa che è possibile misurare la non corrispondenza tra le due distribuzioni. In altre parole, quando un modello viene addestrato su una distribuzione e si comporta in modo inaspettato sull’altra distribuzione;
- la probabilità di osservare questo input nella distribuzione di addestramento è estremamente bassa.
Per esempio, un sistema di riconoscimento facciale addestrato su immagini di adulti potrebbe considerare il volto di un bambino come appartenente a una distribuzione completamente diversa.
I principali approcci al rilevamento dell’Out of Distribution
Le tecniche per il rilevamento di OoD possono essere classificate in tre modi:
- tecniche basate sui dati: rilevamento delle anomalie e stima della densità;
- costruire la consapevolezza dell’OoD nei modelli;
- aggiunta del rilevamento OoD ai modelli esistenti.
Tecniche basate sui dati
Questo approccio cerca di modellare l’aspetto dei dati normali senza necessariamente associarli a un compito di predizione specifico. In genere, questo compito viene svolto utilizzando i metodi di uno dei due sottodomini:
- il rilevamento delle anomalie (anomaly detection);
- la stima della densità (density estimation).
L’anomaly detection ha l’obiettivo di identificare i punti dei dati che si discostano in modo significativo da quanto considerato normale. Tali tecniche possono essere classificate in base ai requisiti dei dati: si parla di approcci supervisionati, che utilizzano esempi etichettati di dati normali e anomali, di metodi semi-supervisionati, che apprendono principalmente da dati normali con alcune anomalie, e di tecniche non supervisionate, che devono distinguere le anomalie senza etichette esplicite.
Per anomalia s’intende un dato che si discosta significativamente dalla maggioranza dei dati osservati in precedenza. Nel rilevamento delle anomalie, il concetto di deviazione significativa è spesso lasciato all’interpretazione della tecnica utilizzata.
La density estimation prevede l’apprendimento di una funzione di densità di probabilità dei dati di addestramento, che può essere utilizzata per assegnare una probabilità a qualsiasi nuova istanza di dati.
Quando un nuovo input riceve una probabilità molto bassa, viene segnalato come Out of Distribution. La stima della densità è un classico problema della statistica.
Sebbene questi approcci siano concettualmente semplici e offrano diverse tecniche per l’utilizzo con dati tabellari a bassa dimensione, presentano problemi con i dati ad alta dimensione che possono essere comuni nelle applicazioni critiche, come le immagini o le matrici dei sensori.
Richiedono, inoltre, decisioni piuttosto arbitrarie riguardo alle soglie. Per esempio, bisogna capire quanto deve essere “unusual” (insolito) qualcosa prima di poterlo definire OoD.
Costruire la consapevolezza dell’OoD nei modelli
Un approccio alternativo a quello basato esclusivamente sui dati consiste nell’addestrare un nuovo modello supervisionato specifico per rilevare le istanze Out of Distribution nell’AI.
Esistono due tecniche molto note:
- l’apprendimento con rifiuto (learning with rejection);
- i modelli consapevoli dell’incertezza (Uncertainty-aware models).
L’apprendimento con rifiuto è una tecnica che addestra i modelli a rispondere in modo specifico, come “I don’t know” (non so) or “reject” (rifiuto), in caso di incertezza. Questo metodo è simile al modo in cui un analista umano potrebbe segnalare un caso per un’ulteriore revisione, piuttosto che esprimere un giudizio affrettato.
La tecnica dei modelli consapevoli dell’incertezza, come le reti neurali bayesiane e gli ensemble, modella esplicitamente l’incertezza. Se il modello mostra un’elevata incertezza sui suoi parametri per un determinato input, è robabile che quell’input appartenga a un dominio diverso da quello di appartenenza.
Sebbene questi approcci siano teoricamente interessanti, spesso richiedono procedure di addestramento e risorse computazionali più complesse che possono risultare difficili da implementare nei sistemi dispiegati con vincoli di dimensioni, peso e potenza. Tali vincoli sono comuni negli ambienti periferici, come le implementazioni front-line.
Aggiunta del rilevamento OoD ai modelli esistenti
Il terzo approccio, invece di prevedere di dover addestrare un nuovo modello da zero, sfrutta i modelli già addestrati per un compito specifico e li arricchisce con capacità di rilevamento degli OoD.
La versione più semplice prevede l’impostazione dei punteggi di confidenzialità prodotti dai modelli.
Se la fiducia di un modello scendesse al di sotto di una certa soglia, l’input verrebbe segnalato come potenzialmente non conforme agli obiettivi (OoD). Altre tecniche più sofisticate potrebbero analizzare gli schemi presenti nelle rappresentazioni interne del modello.
Questi approcci sono pratici perché funzionano con i modelli esistenti, ma in qualche modo sono euristici e possono fare ipotesi implicite che non risultano valide per tutte le applicazioni.
Applicazioni e considerazioni sull’Out of Distribution
Il rilevamento di OoD è particolarmente apprezzato in contesti altamente critici:
- mission-critical autonomy (autonomia mission-critical): i sistemi autonomi che operano in ambienti critici devono essere in grado di riconoscere le condizioni che potrebbero indurli a comportarsi in modo più controllato, condizioni per le quali non sono stati addestrati;
- intelligence processing (elaborazione dell’intelligence): i sistemi che analizzano i dati di intelligence devono segnalare modelli unusual (insoliti) che gli analisti umani dovrebbero esaminare manualmente, piuttosto che inserirli forzatamente in categorie note;
- operazioni cyber: i sistemi di difesa della rete devono identificare i nuovi attacchi che non corrispondono agli schemi delle minacce precedentemente rilevate;
- supply chain resilience (resilienza della catena di approvvigionamento): i sistemi logistici devono essere in grado di rilevare quando gli schemi della domanda o dell’offerta subiscono cambiamenti sostanziali che potrebbero innescare una pianificazione di emergenza.
Inoltre, entrano in gioco altre considerazioni aggiuntive:
- risorse vincolate: i metodi di rilevamento degli OoD devono essere sufficientemente efficienti da poter essere eseguiti su dispositivi edge con potenza di calcolo limitata;
- dati di formazione limitati: molte applicazioni critiche hanno dati di addestramento etichettati in modo limitato, il che rende difficile definire con precisione i confini della distribuzione di addestramento;
- minacce avverse: gli avversari potrebbero creare deliberatamente input progettati per ingannare sia il sistema principale che i suoi meccanismi di rilevamento delle anomalie;
- criticità: le previsioni errate effettuate da modelli di apprendimento automatico (ML), che vengono presentati come sicuri e corretti, possono avere gravi conseguenze in missioni ad elevata criticità.
Verifica della rilevazione del OoD
Sebbene i metodi di rilevamento di OoD forniscano un potente strumento per valutare l’affidabilità delle previsioni dei modelli ML, richiedono un’attenzione particolare.
Qualsiasi tecnica di rilevamento OoD, esplicita o implicita, fa delle ipotesi su quali dati siano “normali” e quali “fuori distribuzione”.
Tuttavia, queste ipotesi sono spesso difficili da verificare nella pratica a causa dei continui cambiamenti degli ambienti di distribuzione.
È probabile che nessun metodo di rilevamento dell’OoD sia in grado di rilevare sempre una previsione inaffidabile.
Pertanto, il rilevamento di OoD dovrebbe essere considerato come l’ultima linea di difesa in un approccio a più livelli per valutare l’affidabilità dei modelli di ML durante l’implementazione.
Gli sviluppatori di sistemi abilitati all’intelligenza artificiale dovrebbero eseguire test e valutazioni rigorosi, inserire nei loro sistemi dei monitoraggi per le modalità di guasto note ed eseguire un’analisi completa delle condizioni in cui un modello è progettato per funzionare rispetto a quelle in cui la sua affidabilità è sconosciuta.
Le direzioni di ricerca dell’Out of distribution (Ood)
Poiché l’adozione dei sistemi di intelligenza artificiale per missioni critiche è in continua crescita, il rilevamento dell’OoD sarà una componente essenziale per garantire l’affidabilità e la robustezza di tali sistemi.
Il campo di studio continua a evolversi, con promettenti direzioni di ricerca che includono:
- metodi in grado di adattarsi a distribuzioni mutevoli nel tempo;
- tecniche che richiedono risorse computazionali aggiuntive;
- approcci che combinano diverse strategie di rilevamento per garantire
- maggiore affidabilità;
- integrazione con il team umani per garantire una gestione appropriata dei casi di OoD;
- algoritmi basati su ipotesi verificabili nel mondo reale.
In sintesi, se fossimo in grado di comprendere quando i sistemi di IA operano al di fuori dei loro confini di conoscenza, potremmo costruire IA più affidabili ed efficaci per le applicazioni critiche, ampliando le nostre conoscenze non solo su ciò che i nostri sistemi sanno, ma anche su ciò che non sanno, nell’ottica della trasparenza e spiegabilità.
***** l’articolo pubblicato è ritenuto affidabile e di qualità*****
Visita il sito e gli articoli pubblicati cliccando sul seguente link