Glossario

Autoencoder

Scoprite come gli autoencoder comprimono i dati, riducono il rumore e consentono il rilevamento di anomalie, l'estrazione di caratteristiche e altro ancora con tecniche avanzate di intelligenza artificiale.

Un autoencoder è un tipo di rete neurale artificiale utilizzata per l'apprendimento non supervisionato. Il suo obiettivo principale è quello di apprendere una rappresentazione compressa ed efficiente (codifica) di un insieme di dati, in genere allo scopo di ridurre la dimensionalità o di estrarre caratteristiche. La rete ottiene questo risultato imparando a ricostruire il proprio input. Si compone di due parti principali: un codificatore, che comprime i dati di ingresso in uno spazio latente a bassa dimensione, e un decodificatore, che ricostruisce i dati originali da questa rappresentazione compressa. Forzando i dati attraverso questo "collo di bottiglia", la rete deve imparare a identificare e preservare le caratteristiche più salienti, scartando al contempo il rumore e la ridondanza.

Come funzionano gli autocodificatori

L'architettura di un autoencoder è composta da una funzione di codifica e da una funzione di decodifica, che possono essere semplici reti feed-forward o strutture più complesse come le reti neurali convoluzionali (CNN).

  1. Codificatore: Questa parte della rete prende i dati di ingresso ad alta dimensione e li mappa in una rappresentazione latente a bassa dimensione. Questo vettore compresso cattura l'essenza centrale dei dati di ingresso.
  2. Collo di bottiglia: È il livello che contiene la rappresentazione compressa, in spazio latente, dell'input. È il cuore dell'autoencoder e il motivo per cui è efficace per la riduzione della dimensionalità.
  3. Decodificatore: Questa parte prende la rappresentazione compressa dal collo di bottiglia e cerca di ricostruire i dati di ingresso originali ad alta dimensionalità.

Il processo di formazione del modello prevede la minimizzazione di una funzione di perdita, spesso chiamata errore di ricostruzione, che misura la differenza tra l'input originale e l'output ricostruito. Questo processo è una forma di apprendimento auto-supervisionato, in quanto il modello impara dai dati stessi senza bisogno di etichette esplicite.

Applicazioni AI/ML nel mondo reale

Gli autoencoder sono versatili e hanno diverse applicazioni pratiche nell'apprendimento automatico e nel deep learning.

  1. Rilevamento di anomalie: Gli autoencoder sono molto efficaci per il rilevamento delle anomalie. Un modello viene addestrato su un set di dati contenente solo punti di dati "normali". Quando un nuovo punto di dati anomalo (ad esempio, un difetto di produzione o una transazione finanziaria fraudolenta) viene fornito al codificatore, il decodificatore non riesce a ricostruirlo con precisione. Ne risulta un errore di ricostruzione elevato, che può essere utilizzato come segnale per segnalare l'anomalia. Si tratta di una tecnica critica nell'IA per i sistemi di produzione e di sicurezza finanziaria, un tema esplorato da istituzioni come l'Alan Turing Institute.
  2. Denoising delle immagini: Un autoencoder di denoising può essere addestrato per rimuovere il rumore dalle immagini. Il modello viene alimentato con immagini rumorose come input e addestrato a produrre le versioni originali e pulite. Questa capacità è preziosa nell'analisi delle immagini mediche per migliorare la qualità delle scansioni MRI o CT, o nel restauro di vecchie fotografie sgranate. Questo approccio appreso al denoising è più sofisticato dei tradizionali filtri di elaborazione delle immagini.

Esistono molti tipi di autoencoder, tra cui gli autoencoder sparsi, gli autoencoder di denoising e gli autoencoder convoluzionali. Una delle varianti più significative è il Variational Autoencoder (VAE), che è un modello generativo in grado di produrre nuovi campioni di dati simili a quelli su cui è stato addestrato. Una panoramica completa dei VAE è disponibile su arXiv.

Autoencoder e concetti correlati

  • PCA: sebbene entrambi riducano la dimensionalità, l'analisi delle componenti principali (PCA) è limitata alle trasformazioni lineari. Gli autoencoder, essendo reti neurali, possono apprendere complesse mappature non lineari, che spesso portano a rappresentazioni migliori per insiemi di dati complessi.
  • GAN: Le reti avversarie generative (GAN) sono progettate principalmente per generare nuovi dati altamente realistici. Anche se le VAE possono generare dati, spesso si concentrano sull'apprendimento di uno spazio latente ben strutturato, mentre le GAN eccellono nella fedeltà dell'output, a volte a scapito dell'interpretabilità dello spazio latente.
  • CNN e trasformatori: Gli autoencoder definiscono uno schema architettonico (encoder-decoder). Spesso utilizzano come elementi costitutivi altri tipi di rete, come le CNN per i dati di immagine o i Transformer per i dati sequenziali. Questo differisce da modelli come Ultralytics YOLO, che sono modelli supervisionati architettati per compiti come il rilevamento di oggetti o la segmentazione di immagini.

Strumenti e implementazione

Gli autoencoder possono essere implementati utilizzando i più diffusi framework di deep learning (DL):

Piattaforme come Ultralytics HUB facilitano il flusso di lavoro complessivo del ML, compresa la gestione dei dati e l'addestramento dei modelli, anche se sono principalmente incentrate su attività supervisionate come il rilevamento e la segmentazione piuttosto che sull'addestramento di autoencoder non supervisionati.

Unitevi alla comunità di Ultralytics

Entrate a far parte del futuro dell'IA. Connettetevi, collaborate e crescete con gli innovatori globali.

Iscriviti ora
Link copiato negli appunti