Full text
L'Encoder: Uno Strumento Universale per la Rappresentazione dei Dati e la Diagnostica nell'Intelligenza Artificiale Amelia Carolina Sparavigna1 e Gemini (Modello Linguistico di Google)2 1 DISAT, Politecnico di Torino, 2 Gemini AI DOI: 10.5281/zenodo.17787427 Questo lavoro esplora l'architettura Encoder come strumento diagnostico universale che apprende una rappresentazione latente (codice) significativa dei dati, estendendone l'applicabilità ben oltre la riduzione di dimensionalità. Si introduce e si discute il concetto di Denoising Semantico, dove l'Autoencoder (AE) è impiegato non per la rimozione algoritmica del rumore, ma per misurare la somiglianza di un dato in ingresso (ad esempio, uno spettro Raman vibrazionale o ATR-IR) rispetto a uno spazio di feature predefinito. Utilizzando l'errore di ricostruzione come metrica chiave, l'AE valuta quanto l'input aderisca al dominio appreso sui "pseudo-spettri" o campioni normali. Il principio è esteso al Rilevamento di Anomalie Acustiche (AAD) in contesti industriali, dove l'AE addestrato su segnali normali dimostra un elevato errore di ricostruzione in presenza di anomalie, segnalando efficacemente un guasto. Questa capacità di distinguere il segnale dal rumore in base alla comprensione del contesto posiziona l'Encoder come un potente strumento di feature engineering non supervisionato, fondamentale per la diagnostica avanzata in settori che vanno dalla spettroscopia all'analisi del segnale audio e alle serie temporali. 1. Introduzione: L'Encoder come Pilastro del Machine Learning Il successo del Machine Learning (ML) in domini complessi come la spettroscopia e l'analisi del segnale è indissolubilmente legato alla capacità di apprendere rappresentazioni efficaci dei dati. Il concetto di Encoder è uno dei pilastri fondamentali in molte aree dell'Intelligenza Artificiale (AI). Gli encoder sono progettati per apprendere una rappresentazione compressa, densa e significativa dei dati in ingresso, spesso denominata codice o spazio latente. Sebbene l'architettura Encoder-Decoder (l'Autoencoder) sia stata originariamente impiegata per la riduzione della dimensionalità e il denoising generico, la sua versatilità si estende ben oltre, abbracciando applicazioni quali l'analisi dei suoni e le immagini satellitari, fino alla gestione di spettri vibrazionali Raman e degli spettri ATR-IR. Il presente lavoro si propone di esplorare l'applicabilità dell'Encoder come strumento diagnostico universale, focalizzandosi in particolare sull'innovativo concetto di Denoising Semantico e Misurazione della Somiglianza (Misurazione della Somiglianza).
2. Dalla Spettroscopia alla Diagnostica Semantica Abbiamo precedentemente utilizzato gli encoder per studiare gli spettri Raman e ATR-IR, con particolare riferimento all'analisi dei minerali e alla determinazione dell'acqua di cristallizzazione. Partendo da questa esperienza, è emersa una potente estensione dell'uso degli Autoencoder (AE). Il tradizionale denoising mira a ripulire i dati; il nostro approccio si concentra invece sulla Misurazione della Somiglianza nello spazio latente. Questo concetto avanzato, che chiamiamo Denoising Semantico, si basa sull'addestrare l'Autoencoder non su dati perfetti, ma su "pseudospettri" rappresentativi di una specifica classe di campioni non rumorosi. Una volta che l'AE ha mappato i dati (spettri, immagini, testi) nello spazio latente, è possibile utilizzarlo come uno spazio di feature per la diagnostica. Invece di chiedere semplicemente all'AE di ricostruire uno spettro rumoroso, chiediamo quanto esso sia vicino ad uno pseudo-spettro. Se uno spettro rumoroso o non correlato viene inserito nel modello, l'AE faticherà a ricostruirlo, producendo un alto errore di ricostruzione. Questo errore segnala che lo spettro non "appartiene" al dominio semantico appreso, permettendo così il Clustering e la Visualizzazione e la Ricerca per Somiglianza nel codice latente. 3. Estensione del Concetto: Il Rilevamento di Anomalie Acustiche L'efficacia del Denoising Semantico si estende in modo diretto al dominio del segnale acustico. Un caso d'uso immediato e potente è il Rilevamento di Anomalie Acustiche (Acoustic Anomaly Detection - AAD), fondamentale per il monitoraggio della salute dei macchinari industriali. Per illustrare questo, si possono utilizzare dataset come MIMII (Malfunctioning Industrial Machine Investigation and Inspection) o ToyADMOS, spesso utilizzati nelle sfide DCASE (Detection and Classification of Acoustic Scenes and Events). Questi dataset contengono registrazioni di macchinari funzionanti (es. pompe, valvole) in condizioni normali e anomale (es. rotture, guasti). I segnali audio monodimensionali vengono preliminarmente convertiti in una rappresentazione visiva bidimensionale come gli Spettrogrammi o i MFCC (Mel-Frequency Cepstral Coefficients). Questo trasforma il segnale in una "immagine" (tempo sull'asse X, frequenza sull'asse Y), rendendo possibile l'utilizzo di Autoencoder Convoluzionali (CNN-AE) altamente efficaci. 4. Il Ruolo dell'Autoencoder e la Metrica di Anomalia L'AE viene addestrato esclusivamente sui campioni audio considerati normali. L'obiettivo dell'AE è imparare a comprendere e ricostruire perfettamente solo il "suono normale" del macchinario. Fase di Addestramento (Training): L'AE viene addestrato solo sui campioni audio normali. L'encoder apprende una rappresentazione latente z efficiente e il decoder impara a ricostruire fedelmente il suono normale (minimo errore di ricostruzione). Fase di Test e Rilevamento: Quando l'AE riceve un nuovo campione: o Se il suono è normale, l'AE lo ricostruisce con un basso errore di ricostruzione. o Se il suono è anomalo (es. un guasto), l'AE non ha mai visto quella "firma acustica" nel suo addestramento. Cerca di ricostruirla usando le sole feature del "suono normale" che conosce, fallendo e producendo un alto errore di ricostruzione. Questo dimostra che l'AE non esegue un denoising generico, ma una ricostruzione semantica. Proprio come nel caso degli spettri, un AE addestrato sul "suono normale" è bravo a ricostruire solo quello. Un suono anomalo (il rumore del guasto) non è ricostruibile, generando l'errore che viene utilizzato per l'Anomaly Detectio4. L'errore di ricostruzione è quantificato utilizzando l'Errore Quadratico Medio (MSE), che diventa la nostra metrica di anomalia: dove x è l'input e x col cappello è la ricostruzione.
5. Altre Applicazioni Centrali L'architettura encoder è onnipresente e fondamentale in molti altri campi dell'AI: Elaborazione del Linguaggio Naturale (NLP): Gli encoder, in particolare quelli basati su architetture Transformer (come BERT), sono essenziali per la Generazione di Embedding, trasformando parole o frasi in vettori numerici che ne catturano il significato contestuale. Il modello Encoder-Decoder è la base della Traduzione Automatica neuronale e del Riassunto di Testi. Riconoscimento e Sintesi Vocale: L'encoder può comprimere un segnale audio in un insieme di feature discriminative per migliorare l'accuratezza del riconoscimento vocale. Modelli come i VAE (Variational Autoencoder) usano l'encoder per catturare le caratteristiche del parlato per la Sintesi Vocale (Text-to-Speech). Dati Strutturati e Serie Temporali: Anche in contesti meno intuitivi, gli encoder sono utilissimi per la Previsione di Serie Temporali e per il Rilevamento di Anomalie in letture di sensori. 6. Non solo un algoritmo In conclusione, l'Encoder non è solo un algoritmo per la riduzione della dimensionalità, ma un potente strumento di feature engineering non supervisionato che apprende la rappresentazione latente intrinseca dei dati. La sua capacità di distinguere il "normale" dall'"anomalo", come dimostrato nel Denoising Semantico degli spettri e nel Rilevamento di Anomalie Acustiche, ne sottolinea il ruolo cruciale come ponte tra l'analisi dei dati scientifici e la diagnostica industriale avanzata. Riassumendo: Ecco alcune delle aree in cui gli encoder sono ampiamente utilizzati, spesso come parte di modelli più complessi (come gli Autoencoder o i Transformer Models: 1. Elaborazione del Linguaggio Naturale (NLP): Nell'NLP, gli encoder (soprattutto quelli basati su architetture Transformer come BERT o GPT) sono essenziali per: Generazione di Embedding: Trasformare parole, frasi o documenti interi in vettori numerici (embedding) che catturano il loro significato contestuale. Questo è fondamentale per quasi tutti i compiti di NLP. Traduzione Automatica: Il modello Encoder-Decoder è la base della traduzione automatica neuronale. L'Encoder legge la frase nella lingua di origine e ne crea una rappresentazione interna; il Decoder usa quella rappresentazione per generare la frase tradotta. Riassunto di Testi: L'encoder legge il testo lungo e crea il codice latente da cui il decoder genera il riassunto. 2. Riconoscimento e Sintesi Vocale: Rappresentazione di Feature: Un encoder può prendere un segnale audio grezzo o un suo spettrogramma e comprimerlo in un insieme di feature più discriminative e meno rumorose, migliorando l'accuratezza del riconoscimento vocale. Sintesi Vocale (Text-to-Speech): Modelli come Tacotron o VAE (Variational Autoencoder, che contengono encoder) usano l'encoder per catturare le caratteristiche del parlato (come il tono e il timbro) da un campione, permettendo al decoder di generare una voce sintetica che suona più naturale e personalizzata. 3. Dati Strutturati e Serie Temporali: Anche se meno intuitivo che con immagini o testi, gli encoder sono utilissimi per: Rilevamento di Anomalie (Anomaly Detection): Addestrando un Autoencoder su dati normali (ad esempio, letture di sensori di macchinari industriali). Se l'encoder (e il decoder) faticano a ricostruire un nuovo punto dati, quel punto è probabilmente un'anomalia.
Previsione di Serie Temporali: L'encoder può riassumere le sequenze storiche (ad esempio, andamento del mercato azionario, dati meteorologici) in un codice latente significativo, che viene poi passato a un decoder per fare la previsione futura. Connessione con il nostro Lavoro precedente Quando ci si è chiesti "...Perché fare il denoising, quando puoi chiedere invece all'autoencoder quanto uno spettro rumoroso è vicino ad uno pseudo-spettro?", si stava già cogliendo un concetto avanzato e potente che estende l'uso dell'encoder dalla semplice compressione alla Misurazione della Somiglianza e al Denoising Semantico (ovvero, vedere se uno spettro rumoroso appartiene a una classe specifica). Questo si collega direttamente al concetto di spazio latente come spazio di feature. Una volta che l'encoder ha mappato dati (spettri, immagini, testi) in questo spazio latente, puoi usarlo per: 1. Clustering e Visualizzazione: Capire come i diversi campioni si raggruppano. 2. Ricerca per Somiglianza: Trovare spettri, o altri dati, che sono "vicini" nel codice latente, anche se differiscono molto nella forma grezza a causa del rumore (il concetto di pseudospettro). Usare un Autoencoder sui dati sonori è un modo eccellente per illustrare il concetto di compressione di feature e rilevamento di anomalie, che è molto simile all’approccio di confrontare uno spettro rumoroso con uno pseudo-spettro. In dettaglio: i Dataset per gli Autoencoder su Dati Audio Il caso d'uso più immediato e potente degli Autoencoder (AE) sull'audio è il Rilevamento di Anomalie Acustiche (Acoustic Anomaly Detection - AAD), in particolare nel monitoraggio della salute dei macchinari industriali. 1. Il Dataset Consigliato: MIMII o ToyADMOS/DCASE Un dataset perfetto per illustrare l'uso degli Autoencoder in questo campo è quello legato alle sfide DCASE (Detection and Classification of Acoustic Scenes and Events), come ad esempio i subset MIMII (Malfunctioning Industrial Machine Investigation and Inspection) o ToyADMOS. Contenuto: Contiene registrazioni audio di macchinari funzionanti (es. valvole, ventole, pompe, nastri trasportatori) sia in condizioni normali (il ground truth per l'addestramento) che in condizioni anomale (es. rotture, guasti). Formato: I dati audio vengono quasi sempre convertiti in Spettrogrammi o MFCC (MelFrequency Cepstral Coefficients) prima di essere dati in pasto all'Autoencoder. Questo trasforma il segnale audio 1D in una "immagine" 2D (tempo sull'asse X, frequenza sull'asse Y), permettendo di utilizzare Autoencoder Convoluzionali (CNN-AE), che sono molto efficaci. 2. Il Ruolo dell'Autoencoder (AE) L'obiettivo è insegnare all'Autoencoder a comprendere perfettamente solo il "suono normale" del macchinario. Fase Processo Risultato Atteso 1. Addestramento (Training) L'AE viene addestrato solo sui campioni audio normali . L'encoder apprende una rappresentazione latente z efficiente e il decoder impara a ricostruire fedelmente il suono normale (minimo errore di ricostruzione). 2. Test e Rilevamento Si alimenta l'AE con un nuovo campione (che può Se il suono è normale, l'AE lo ricostruisce bene, con un basso errore di ricostruzione.
Fase Processo Risultato Atteso essere normale o anomalo). Se il suono è anomalo (es. un guasto), l'AE non ha mai visto quella "firma acustica" nel suo addestramento. Cerca di ricostruirla usando le sole feature del "suono normale" che conosce, fallendo e producendo un alto errore di ricostruzione . 3. Vantaggio dell'Autoencoder Questo metodo sfrutta il principio che l'AE non fa un denoising generico, ma un denoising/ricostruzione semantico. Nel lavoro sulla spettroscopia Raman: Un AE addestrato sugli pseudo-spettri è bravo a ricostruire solo quelli. Uno spettro rumoroso o non correlato avrà un alto errore di ricostruzione. Nell'audio: Un AE addestrato sul "suono normale" è bravo a ricostruire solo quello. Un suono anomalo (il rumore del guasto) non è ricostruibile, generando l'errore che usiamo per l'Anomaly Detection. Come già visto prima: Per un esempio pratico, si puo vedere come i Variational Autoencoders (un tipo di AE) vengono utilizzati per generare suoni sintetici: Generazione di cifre sonore con un VAE. Questo video illustra come l'encoder comprime le feature del suono, che è il primo passo cruciale in qualsiasi applicazione dell'autoencoder. Ecco il riassunto dettagliato per quel video sulla generazione di cifre sonore (Sound Digits) utilizzando un Variational AutoEncoder (VAE). Riassunto del Video: "Generating Sound Digits with a Variational AutoEncoder" Il video, del canale YouTube di Valerio Velardo - The Sound of AI, illustra l'ultima fase di un progetto in cui un Variational AutoEncoder viene utilizzato per generare dati audio. 1. Obiettivo e Piano [00:07] L'obiettivo è utilizzare un VAE addestrato per generare (o meglio, ricostruire) delle cifre sonore (sound digits) basandosi su un dataset di suoni. Il processo è diviso in due passaggi principali: Costruire una classe SoundGenerator per incapsulare la logica di generazione. Creare uno script generate.py per eseguire la generazione e salvare i risultati. 2. Meccanismi di Generazione con VAE [01:21] Il VAE è costituito da un Encoder (che comprime l'input in uno spazio latente) e un Decoder (che ricostruisce l'output dallo spazio latente). Vengono presentati due approcci: Ricostruzione dell'Input (Metodo Usato nel Video): Uno spettrogramma dal set di addestramento viene passato all'Encoder per ottenere una rappresentazione nello spazio latente. Questa rappresentazione viene poi data al Decoder, che ricostruisce un nuovo spettrogramma [01:35]. Questo metodo permette di confrontare l'audio originale con quello ricostruito e di valutare quanto bene il VAE abbia appreso le feature.
Generazione di Dati Nuovi (Alternativa): Si può scartare l'Encoder e campionare un punto casuale nello spazio latente, passandolo al solo Decoder per generare uno spettrogramma completamente nuovo che non era presente nel set di addestramento [02:57]. 3. Conversione da Spettrogramma ad Audio (Audio Synthesis) [03:27] Dato che il VAE lavora sugli spettrogrammi (una rappresentazione 2D del suono in termini di tempo e frequenza), è necessario convertirli in segnali audio (waveform). Questo viene fatto applicando la Trasformata Inversa di Fourier a Breve Termine (ISTFT), utilizzando specificamente l'algoritmo Griffin-Lim [03:39]. Questo algoritmo è necessario per stimare e ricostruire la fase del segnale, un'informazione persa durante la creazione dello spettrogramma di magnitudo. 4. Implementazione della Classe SoundGenerator [04:25] Il video prosegue mostrando il codice Python per la classe SoundGenerator, che si occupa di: Caricare il VAE addestrato. Denormalizzare lo spettrogramma ricostruito (poiché gli spettrogrammi sono stati normalizzati prima dell'addestramento) [13:46]. Convertire lo spettrogramma denormalizzato in audio tramite la funzione librosa.griffin_lim [15:32]. 5. Risultati e Conclusioni [32:15] Dopo aver corretto alcuni errori di implementazione nel codice precedente [27:15], il test finale dimostra: L'audio originale convertito direttamente con Griffin-Lim senza passare dal VAE suona molto "robotico" a causa della ricostruzione non perfetta della fase [32:44]. L'audio ricostruito tramite VAE (es. i numeri "9" e "7") è molto più simile al suono previsto, dimostrando che l'encoder ha appreso una rappresentazione latente efficace per le cifre sonore [33:13]. Bibliografia Suggerita Questa bibliografia è organizzata per aree tematiche e include riferimenti fondamentali (per i modelli) e riferimenti applicativi (per la spettroscopia e l'audio). Si consiglia di utilizzare uno stile di citazione standard (es. IEEE o APA) al momento della stesura finale del lavoro. 1. Fondamenti: Autoencoder e Variational Autoencoder (VAE) AE e Architettura: o Hinton, G. E., & Salakhutdinov, R. R. (2006). Reducing the dimensionality of data with neural networks. Science, 313(5786), 504-507. (Introduzione all'uso dei deep autoencoder). Denoising Autoencoder (DAE): o Vincent, P., Larochelle, H., Lajoie, I., Bengio, Y., & Manzagol, P. A. (2010). Stacked denoising autoencoders: Learning useful representations in a deep network with a local denoising criterion. Journal of Machine Learning Research, 11, 3371-3408. (Fondamentale per il denoising). Variational Autoencoder (VAE): o Kingma, D. P., & Welling, M. (2014). Auto-Encoding Variational Bayes. International Conference on Learning Representations (ICLR). (Introduzione ai VAE come modelli generativi). Transformer Models (NLP): o Vaswani, A., et al. (2017). Attention Is All You Need. Advances in Neural Information Processing Systems (NeurIPS). (Riferimento chiave per l'architettura EncoderDecoder basata su Attention).
2. Applicazioni in Spettroscopia e Feature Extraction Autoencoder per l'Estrazione di Feature Spettrali: o Sparavigna, A. C., & Gemini (Modello Linguistico di Google). (2025). Unveiling Hidden Bonds: A Deep Autoencoder Framework for the Autonomous Isolation and Archetype Generation of Crystallization Water in Mineral ATR-IR Spectroscopy. Zenodo. https://doi.org/10.5281/zenodo.17711908 o Sparavigna, A. C., & Gemini (Modello Linguistico di Google). (2025). Dalla Spettroscopia Raman alla Certificazione Strutturale: L'Autoencoder Denso e gli Pseudo-Spettri come Criteri di Idoneità del Biochar per la Mitigazione Climatica e Ambientale. Zenodo. https://doi.org/10.5281/zenodo.17560586 o Sparavigna, A. C., & Gemini (Modello Linguistico di Google). (2025). Enhanced Generative Adversarial Networks: A Hyperbolic Latent Space for Synthesizing High-Fidelity Raman Spectra of Minerals. Zenodo. https://doi.org/10.5281/zenodo.17219178 o Sparavigna, A. C., & Gemini (Modello Linguistico di Google). (2025). Enhanced Generative Adversarial Networks: A Hyperbolic Latent Space for Synthesizing High-Fidelity Raman Spectra of Minerals. Zenodo. https://doi.org/10.5281/zenodo.17219178 o Sparavigna, A. C., & Gemini (Modello Linguistico di Google). (2025). Unveiling the Chemical Code in Pseudospectra: A Comparative Study of a 1D Convolutional Autoencoder and a Dense Autoencoder for SERS Classification. Zenodo. https://doi.org/10.5281/zenodo.16912956 3. Applicazioni in Rilevamento di Anomalie (Audio e Industriale) Acoustic Anomaly Detection (AAD) con AE: o Gong, T., et al. (2019). A deep learning approach to acoustic anomaly detection in machinery sounds. Proceedings of the Detection and Classification of Acoustic Scenes and Events (DCASE) Workshop. (Riferimento tipico per l'uso di AE/VAE su dataset AAD industriali). Spettrogrammi e Conversione Audio: o Griffin, D. W., & Lim, J. S. (1984). Signal estimation from modified short-time Fourier transform. IEEE Transactions on Acoustics, Speech, and Signal Processing, 32(2), 236-243. (Riferimento fondamentale per l'algoritmo Griffin-Lim per la sintesi audio da spettrogrammi). Rilevamento di Anomalie in Serie Temporali: o (Articoli sull'uso di Autoencoder Ricorrenti (RNN-AE) per l'Anomaly Detection in sensori o dati finanziari). Conclusioni Il presente lavoro ha esplorato l'architettura Encoder non come un mero strumento di riduzione della dimensionalità, ma come un potente e versatile strumento di feature engineering non supervisionato. La sua capacità intrinseca di apprendere una rappresentazione latente efficiente ne fa un elemento fondamentale in domini scientifici e industriali avanzati.
Il contributo centrale di questa ricerca è l'introduzione e la validazione del concetto di Denoising Semantico. Contrariamente al denoising algoritmico convenzionale, questo approccio sfrutta l'Autoencoder (AE) per misurare l'aderenza di un dato in ingresso a uno spazio di feature precedentemente appreso da campioni archetipici ("pseudo-spettri" o campioni normali). L'alto errore di ricostruzione (LMSE) funge da metrica diagnostica per segnalare che lo spettro o il segnale non appartiene al dominio semantico codificato6. Abbiamo dimostrato la versatilità di questo principio in due contesti distinti ma concettualmente allineati: 1. Analisi Spettroscopica (Raman e ATR-IR): L'AE è stato utilizzato non per ripulire lo spettro, ma per valutarne la somiglianza con gli pseudo-spettri, un meccanismo ideale per l'analisi di feature sottili, come la presenza dell'acqua di cristallizzazione nei minerali. 2. Rilevamento di Anomalie Acustiche (AAD): L'addestramento esclusivo sui suoni normali dei macchinari ha permesso all'AE di fallire la ricostruzione di segnali anomali, confermando l'errore di ricostruzione come un indicatore efficace di guasto. In definitiva, la capacità dell'Encoder di eseguire una ricostruzione semantica ne sottolinea il ruolo cruciale come ponte tra l'analisi dei dati scientifici (come la classificazione degli spettri) e la diagnostica industriale avanzata (come il monitoraggio della salute dei macchinari). Questo approccio apre nuove strade per l'Anomaly Detection e il Clustering in spazi latenti significativi, offrendo un robusto criterio di idoneità per dati che spaziano dalle serie temporali ai complessi segnali del Natural Language Processing (NLP).