Una serie temporale è semplicemente una registrazione di una misurazione effettuata ripetutamente nel tempo. Può tracciare le tendenze a lungo termine e le fluttuazioni a breve termine di un sistema. Esempi includono la famigerata curva dei nuovi casi giornalieri di Covid-19 e la curva di Keeling, che monitora le concentrazioni di anidride carbonica nell'atmosfera dal 1958. Nell'era dei Big Data, "le serie temporali vengono raccolte ovunque, dai satelliti alle turbine", afferma Kalyan Veeramachaneni. "Tutti questi macchinari sono dotati di sensori che raccolgono queste serie temporali sulle loro prestazioni".
Analizzare queste serie temporali e individuare i punti dati anomali al loro interno può essere difficile. I dati possono contenere rumore. Se un operatore satellitare rileva una serie di letture di temperatura elevate, come fa a sapere se si tratta di una fluttuazione innocua o di un segnale che il satellite sta per surriscaldarsi?
Questo è un problema che Veeramachaneni, a capo del gruppo Data to Artificial Intelligence presso l'Information and Decision Systems Lab del MIT, spera di risolvere. Il gruppo ha sviluppato un nuovo metodo basato sul deep learning per rilevare anomalie nei dati di serie temporali. Il loro approccio, chiamato TadGAN, ha superato i metodi concorrenti e potrebbe aiutare gli operatori a rilevare e rispondere a cambiamenti significativi in una serie di sistemi di alto valore, da un satellite in orbita a una server farm in un seminterrato.
La ricerca verrà presentata alla conferenza IEEE BigData di questo mese. Tra gli autori dell'articolo figurano i membri del gruppo Data-to-AI Veeramachaneni, il ricercatore post-dottorato Dongyu Liu, lo studente di ricerca in visita Alexander Geiger e la studentessa di master Sarah Alnegheimish, nonché Alfredo Cuesta-Infante dell'Università Re Juan Carlos in Spagna.
Posta in gioco alta:
per un sistema complesso come un satellite, l'analisi delle serie temporali deve essere automatizzata. L'azienda satellitare SES, che collabora con Veeramachaneni, riceve una valanga di dati di serie temporali dai suoi satelliti per le comunicazioni: circa 30.000 parametri unici per ogni satellite. Gli operatori umani nella sala di controllo di SES possono monitorare solo una frazione di queste serie temporali mentre scorrono sullo schermo. Per il resto, si affidano a un sistema di allarme per segnalare i valori fuori range. "Quindi ci hanno chiesto: 'Potete fare di meglio?'", racconta Veeramachaneni. L'azienda voleva che il suo team utilizzasse il deep learning per analizzare tutte quelle serie temporali e segnalare qualsiasi comportamento anomalo.
La posta in gioco è alta in questa richiesta: se l'algoritmo di deep learning non riesce a rilevare un'anomalia, il team potrebbe perdere l'opportunità di risolvere il problema. Ma se lancia un allarme ogni volta che c'è un dato anomalo, i revisori umani sprecheranno il loro tempo a controllare continuamente l'algoritmo che ha gridato "al lupo!". "Quindi ci troviamo di fronte a queste due sfide", afferma Liu. "E dobbiamo trovare un equilibrio.".
Anziché raggiungere tale equilibrio solo per i sistemi satellitari, il team ha lavorato alla creazione di un quadro più generale per il rilevamento delle anomalie, applicabile a tutti i settori. Si sono rivolti a sistemi di apprendimento profondo chiamati reti generative opposte (GAN), spesso utilizzati per l'analisi delle immagini.
Una GAN (Generative Adversarial Network) è composta da una coppia di reti neurali. Una rete, il "generatore", crea immagini false, mentre la seconda rete, il "discriminatore", elabora le immagini e cerca di determinare se si tratta di immagini reali o false prodotte dal generatore. Attraverso numerosi cicli di questo processo, il generatore apprende dal feedback del discriminatore e diventa abile nel creare immagini false iperrealistiche. Questa tecnica è considerata un apprendimento "non supervisionato" perché non richiede un dataset pre-etichettato in cui le immagini siano già associate ai rispettivi soggetti. (Dataset di grandi dimensioni e già etichettati possono essere difficili da ottenere.).
Il team ha adattato questo approccio GAN ai dati di serie temporali. "Utilizzando questa strategia di addestramento, il nostro modello è in grado di distinguere quali punti dati sono normali e quali anomali", afferma Liu. Lo fa verificando le discrepanze, ovvero le potenziali anomalie, tra la serie temporale reale e la serie temporale spuria generata dal GAN. Tuttavia, il team ha scoperto che i GAN da soli non sono sufficienti per rilevare le anomalie nelle serie temporali, perché possono risultare inadeguati nel determinare il segmento della serie temporale reale con cui confrontare i dati spuri. Di conseguenza, "utilizzando solo i GAN, si generano molti falsi positivi", afferma Veeramachaneni.
Per proteggersi dai falsi positivi, il team ha integrato la propria GAN con un algoritmo chiamato autoencoder, un'altra tecnica di apprendimento profondo non supervisionato. A differenza della tendenza delle GAN a generare falsi allarmi, gli autoencoder hanno maggiori probabilità di non rilevare anomalie reali. Questo perché gli autoencoder tendono a catturare troppi pattern nelle serie temporali, a volte interpretando erroneamente un'anomalia reale come una fluttuazione innocua, un problema chiamato overfitting. Combinando una GAN con un autoencoder, i ricercatori hanno creato un sistema di rilevamento delle anomalie che ha raggiunto il perfetto equilibrio: TadGAN è vigile ma non genera troppi falsi allarmi.
Resistendo al test delle serie temporali
Inoltre, TadGAN ha superato la concorrenza. L'approccio tradizionale alla previsione delle serie temporali, chiamato ARIMA, è stato sviluppato negli anni '70. "Volevamo vedere a che punto eravamo arrivati e se i modelli di deep learning potevano effettivamente migliorare questo metodo classico", afferma Alnegheimish.
Il team ha condotto test di rilevamento delle anomalie su 11 set di dati, confrontando ARIMA con TadGAN e altri sette metodi, tra cui alcuni sviluppati da aziende come Amazon e Microsoft. TadGAN ha superato ARIMA nel rilevamento delle anomalie in otto degli 11 set di dati. Il secondo miglior algoritmo, sviluppato da Amazon, ha superato ARIMA solo in sei set di dati.
Alnegheimish ha sottolineato che il loro obiettivo non era solo quello di sviluppare un algoritmo di rilevamento delle anomalie di prim'ordine, ma anche di renderlo ampiamente utilizzabile. "Sappiamo tutti che l'IA soffre di problemi di riproducibilità", afferma. Il team ha reso pubblico il codice di TadGAN e fornisce aggiornamenti regolari. Hanno anche sviluppato un sistema di benchmarking in modo che gli utenti possano confrontare le prestazioni di diversi modelli di rilevamento delle anomalie.
"Questo benchmark è open source, quindi chiunque può provarlo. Possono anche aggiungere il proprio modello, se lo desiderano", afferma Alnegheimish. "Vogliamo sfatare il mito che l'IA non sia riproducibile. Vogliamo assicurarci che tutto sia robusto.".
Veeramachaneni spera che TadGAN possa un giorno servire una vasta gamma di settori, non solo le aziende satellitari. Ad esempio, potrebbe essere utilizzato per monitorare le prestazioni delle applicazioni informatiche che sono diventate fondamentali per l'economia moderna. "Per gestire un laboratorio, ho 30 applicazioni. Zoom, Slack, GitHub, qualsiasi cosa, ce l'ho", afferma. "E ho fiducia che funzioneranno tutte perfettamente e per sempre". Lo stesso vale per milioni di utenti in tutto il mondo.
TadGAN potrebbe aiutare aziende come Zoom a monitorare i segnali di serie temporali nei loro data center, come l'utilizzo della CPU o la temperatura, per prevenire interruzioni del servizio che potrebbero minacciare la quota di mercato dell'azienda. In futuro, il team prevede di integrare TadGAN in un'interfaccia utente per rendere l'analisi delle serie temporali di nuova generazione accessibile a chiunque ne abbia bisogno.
Questa ricerca è stata finanziata e realizzata in collaborazione con SES.
