Data Drift
Scoprite i tipi, le cause e le soluzioni della deriva dei dati nell'apprendimento automatico. Imparate a detect e a mitigare la deriva dei dati per ottenere modelli di intelligenza artificiale robusti.
La deriva dei dati è un fenomeno
apprendimento automatico (ML) in cui le proprietà statistiche
proprietà statistiche dei dati di input osservati in un ambiente di produzione cambiano nel corso del tempo rispetto ai dati di
dati di addestramento originariamente utilizzati per costruire il modello.
Quando un modello viene implementato, si basa sul presupposto che i dati futuri assomiglieranno ai dati storici da cui è stato appreso.
storici da cui è stato appreso. Se questo presupposto viene violato a causa del cambiamento delle condizioni del mondo reale, l'accuratezza e l'affidabilità del modello possono
accuratezza e l'affidabilità del modello possono degradarsi in modo significativo, anche
anche se il modello stesso rimane invariato. Rilevare e gestire la deriva dei dati è un aspetto fondamentale delle
Machine Learning Operations (MLOps), che garantisce che i sistemi continuino a funzionare in modo ottimale dopo l'implementazione del modello.
l'implementazione del modello.
Data Drift vs. Concept Drift
Per mantenere efficacemente i sistemi di IA, è fondamentale distinguere la deriva dei dati da un termine strettamente correlato, la deriva dei concetti.
concetto. Sebbene entrambi portino a un decadimento delle prestazioni, hanno origini diverse.
-
Deriva dei dati (spostamento delle covariate): Si verifica quando la distribuzione delle caratteristiche di input cambia, ma la relazione fondamentale tra gli input e l'output
la relazione fondamentale tra gli input e l'output target rimane la stessa. Ad esempio, nella
visione computerizzata (CV), un modello potrebbe essere addestrato
su immagini scattate alla luce del giorno. Se la telecamera di produzione inizia a inviare immagini notturne, la distribuzione degli input si è spostata.
di notte, la distribuzione degli input si è spostata, anche se gli oggetti rilevati non hanno cambiato definizione.
-
Deriva del concetto: Si verifica quando cambia la definizione stessa della variabile target. La relazione
relazione tra ingressi e uscite viene alterata. Ad esempio, in un
sistema di rilevamento delle frodi finanziarie,
i metodi utilizzati dai truffatori si evolvono nel tempo. Quella che ieri era considerata una transazione sicura, oggi potrebbe essere una frode.
frode oggi. Si può leggere di più sulla
la deriva dei concetti nella ricerca accademica.
Applicazioni ed esempi nel mondo reale
La deriva dei dati interessa un'ampia gamma di settori in cui
Intelligenza Artificiale (IA) viene applicata
ad ambienti dinamici.
-
Produzione automatizzata: In un contesto di
IA nella produzione, un modello di
modello di rilevamento degli oggetti potrebbe essere utilizzato per identificare
difetti in una catena di montaggio. Se la fabbrica installa una nuova illuminazione a LED che modifica la temperatura del colore delle immagini acquisite, la distribuzione dei dati di input cambia.
immagini acquisite, la distribuzione dei dati di input cambia. Il modello, addestrato su immagini con un'illuminazione più vecchia, potrebbe
di dati e non riuscire a identificare correttamente i difetti, richiedendo la manutenzione del modello.
manutenzione del modello.
-
Guida autonoma:
I veicoli autonomi si basano molto su
modelli di percezione addestrati su vaste serie di dati. Se un'auto addestrata principalmente sulle strade soleggiate della California viene impiegata in una regione
in una regione innevata, i dati visivi (input) differiranno drasticamente dal set di addestramento. Questo rappresenta una significativa
dati, compromettendo potenzialmente le funzioni di sicurezza come il
il rilevamento della corsia. Aziende come Waymo monitorano continuamente questi spostamenti per garantire la sicurezza del veicolo.
sicurezza del veicolo.
Rilevamento e mitigazione della deriva
L'identificazione precoce della deriva dei dati previene il "fallimento silenzioso", in cui un modello fa previsioni sicure ma errate.
previsioni errate.
Strategie di rilevamento
-
Test statistici: I tecnici utilizzano spesso metodi statistici per confrontare la distribuzione dei nuovi dati con la
dati rispetto alla base di addestramento. Il
test di Kolmogorov-Smirnov
è un popolare test non parametrico utilizzato per determinare se due insiemi di dati differiscono in modo significativo.
-
Monitoraggio delle prestazioni: Monitoraggio di metriche quali
precisione,
richiamo e
F1 in tempo reale può segnalare una deriva. Se queste metriche
calano inaspettatamente, spesso indicano che i dati in arrivo non corrispondono più ai modelli appresi dal modello.
-
Strumenti di visualizzazione: Piattaforme come
TensorBoard permettono ai team di visualizzare i dati
distribuzione dei dati e le curve di perdita per individuare le anomalie. Per un monitoraggio più completo, strumenti di
strumenti di osservabilità come
Prometheus e Grafana sono ampiamente adottati nel settore.
settore.
Tecniche di mitigazione
-
Riqualificazione: La soluzione più diretta è quella di riqualificare il modello utilizzando un nuovo
nuovo set di dati che include i dati recenti e deviati. In questo modo si aggiornano
i confini interni del modello per riflettere la realtà attuale.
-
Aumento dei dati: Durante la fase di addestramento iniziale, l'applicazione di robuste
tecniche di aumento dei dati (come la rotazione,
jitter di colore e rumore) può rendere il modello più resistente a piccole derive, come i cambiamenti di illuminazione o i movimenti della telecamera.
movimenti della telecamera.
-
Adattamento al dominio: Si tratta di tecniche progettate per adattare un modello addestrato su un dominio di origine a
di un dominio di origine per ottenere buone prestazioni su un dominio di destinazione con una distribuzione diversa. Si tratta di un'area attiva della
ricerca sull'apprendimento per trasferimento.
Utilizzando il ultralytics è possibile monitorare facilmente i punteggi di confidenza durante l'inferenza. Un calo improvviso o
graduale della confidenza media per una classe nota può essere un forte indicatore di deriva dei dati.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on a new image from the production stream
results = model("path/to/production_image.jpg")
# Inspect confidence scores; consistently low scores may indicate drift
for result in results:
for box in result.boxes:
print(f"Class: {box.cls}, Confidence: {box.conf.item():.2f}")
Importanza nel ciclo di vita dell'IA
Affrontare la deriva dei dati non è una soluzione unica, ma un processo continuo. Assicura che i modelli costruiti con framework
come PyTorch o
TensorFlow rimangono beni preziosi piuttosto che
passività. I fornitori di cloud offrono servizi gestiti per automatizzare questo processo, come ad esempio
AWS SageMaker Model Monitor e
Google Cloud Vertex AI, che possono
avvisare gli ingegneri quando vengono superate le soglie di deriva. Gestendo in modo proattivo la deriva dei dati, le organizzazioni possono mantenere
elevati standard di sicurezza dell'IA e di efficienza operativa.