Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Autoencoder

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

Un autoencoder è un tipo di rete neurale artificiale utilizzato 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 riduzione della dimensionalità o estrazione di caratteristiche. La rete raggiunge questo obiettivo imparando a ricostruire il proprio input. È costituito da due parti principali: un encoder, che comprime i dati di input in uno spazio latente a bassa dimensionalità, e un decoder, 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 Autoencoder

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

  1. Encoder: Questa parte della rete prende i dati di input ad alta dimensione e li mappa in una rappresentazione latente a dimensione inferiore. Questo vettore compresso cattura l'essenza principale dei dati di input.
  2. Collo di bottiglia: Questo è il livello che contiene la rappresentazione compressa dello spazio latente dell'input. È il nucleo dell'autoencoder e il motivo per cui è efficace per la riduzione della dimensionalità.
  3. Decoder: Questa parte prende la rappresentazione compressa dal bottleneck e tenta di ricostruire i dati di input originali ad alta dimensionalità.

Il processo di addestramento 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, poiché il modello apprende dai dati stessi senza bisogno di etichette esplicite.

Applicazioni AI/ML nel Mondo Reale

Gli autoencoder sono versatili e hanno diverse applicazioni pratiche nel machine learning e nel deep learning.

  1. Rilevamento di anomalie: Gli autoencoder sono molto efficaci per il rilevamento di anomalie. Un modello viene addestrato su un dataset contenente solo punti dati "normali". Quando un nuovo punto dati anomalo (ad esempio, un difetto di fabbricazione o una transazione finanziaria fraudolenta) viene fornito all'encoder, il decoder non riesce a ricostruirlo accuratamente. Ciò si traduce in un elevato errore di ricostruzione, che può essere utilizzato come segnale per segnalare l'anomalia. Questa è una tecnica fondamentale nell'IA per la produzione e nei sistemi di sicurezza finanziaria, un argomento esplorato da istituzioni come l'Alan Turing Institute.
  2. Rimozione del rumore dalle immagini: Un Autoencoder di rimozione del rumore può essere addestrato per rimuovere il rumore dalle immagini. Il modello viene alimentato con immagini rumorose come input e addestrato per restituire le versioni originali e pulite. Questa capacità è preziosa nell'analisi delle immagini mediche per migliorare la qualità delle scansioni MRI o CT, o nel ripristino di vecchie fotografie sgranate. Questo approccio appreso alla rimozione del rumore è più sofisticato dei tradizionali filtri di elaborazione delle immagini.

Esistono molti tipi di autoencoder, tra cui gli Autoencoder Sparsi, gli Autoencoder di Denosing e gli Autoencoder Convoluzionali. Una delle variazioni 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 vs. 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 mappature non lineari complesse, portando spesso a rappresentazioni migliori per dataset complessi.
  • GAN: Le Reti generative avversarie (GAN) sono progettate principalmente per generare nuovi dati altamente realistici. Mentre le VAE possono anche generare dati, il loro obiettivo è spesso quello di apprendere uno spazio latente ben strutturato, mentre le GAN eccellono nella fedeltà dell'output, a volte a costo dell'interpretabilità dello spazio latente.
  • CNN e Transformer: Gli autoencoder definiscono un modello architetturale (encoder-decoder). Spesso utilizzano altri tipi di rete come le CNN per i dati immagine o i Transformer per i dati sequenziali come elementi costitutivi. Questo è diverso dai modelli come Ultralytics YOLO, che sono modelli supervisionati progettati per attività come il rilevamento di oggetti o la segmentazione di immagini.

Strumenti e implementazione

Gli autoencoder possono essere implementati utilizzando framework di deep learning (DL) popolari:

Piattaforme come Ultralytics HUB facilitano il flusso di lavoro complessivo di ML, inclusa la gestione dei dati e il training del modello, sebbene siano principalmente focalizzate su attività supervisionate come il rilevamento e la segmentazione piuttosto che sul training non supervisionato di autoencoder.

Unisciti alla community di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora
Link copiato negli appunti