Glossario

Autoencoder

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

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

L'autoencoder è un tipo di rete neurale artificiale (NN) utilizzata principalmente per compiti di apprendimento non supervisionato. Il suo obiettivo principale è quello di apprendere rappresentazioni efficienti (codifiche) dei dati di input, in genere per la riduzione della dimensionalità o l'estrazione di caratteristiche, addestrando la rete a ricostruire i propri input. Questo obiettivo viene raggiunto comprimendo l'input in uno spazio latente a bassa dimensione e ricostruendo poi l'output da questa rappresentazione compressa.

Come funzionano gli autocodificatori

Un autoencoder è composto da due parti principali: un encoder e un decoder.

  1. Codificatore: Questa parte prende i dati in ingresso e li mappa in una rappresentazione a bassa dimensione chiamata spazio latente o collo di bottiglia. Il codificatore impara a catturare le caratteristiche più significative dei dati scartando il rumore o le informazioni ridondanti. Questo processo è simile alla compressione dei dati.
  2. Decodificatore: Questa parte prende la rappresentazione codificata dallo spazio latente e cerca di ricostruire i dati originali in ingresso nel modo più accurato possibile.

La rete viene addestrata minimizzando la differenza tra l'input originale e l'output ricostruito, spesso misurata da una funzione di perdita come l'errore quadratico medio (MSE). Lo strato a collo di bottiglia costringe la rete ad apprendere una rappresentazione compatta e significativa, in quanto deve conservare abbastanza informazioni per ricostruire efficacemente l'input.

Tipi di autocodificatori

Esistono diverse varianti di Autoencoder, ognuna progettata per scopi specifici:

  • Autoencoder di denoising: Addestrati a ricostruire l'input originale e pulito da una versione corrotta o rumorosa. Questo li rende utili per le attività di riduzione del rumore.
  • Autoencoder sparsi: Introducono vincoli di sparsità durante l'addestramento, incoraggiando la rete ad apprendere rappresentazioni in cui solo un piccolo numero di nodi è attivo in qualsiasi momento.
  • Autoencoder variazionali (VAE): Un tipo di modello generativo che apprende una distribuzione di probabilità sullo spazio latente, consentendo di generare nuovi campioni di dati simili a quelli di addestramento. I VAE differiscono in modo significativo dalle reti avversarie generative (GAN), un'altra tecnica generativa molto diffusa.
  • Autoencoder contraenti: Mirano ad apprendere rappresentazioni robuste a piccoli cambiamenti nei dati di ingresso.

Applicazioni del mondo reale

Gli autoencoder hanno trovato applicazione in diversi ambiti:

  • Rilevamento delle anomalie: Apprendendo gli schemi normali dei dati, gli autoencoder possono identificare le anomalie o gli outlier come input che comportano elevati errori di ricostruzione. Questa funzione è utilizzata nel rilevamento delle frodi e nel controllo di qualità industriale. Ad esempio, per individuare modelli di traffico di rete insoliti che potrebbero indicare un attacco informatico.
  • Denoising e compressione delle immagini: Gli autoencoder di denoising possono pulire le immagini rumorose, mentre gli autoencoder standard possono comprimere le immagini memorizzando solo la rappresentazione latente. Un esempio è il ripristino della nitidezza di vecchie fotografie o di immagini satellitari colpite da interferenze atmosferiche. Scopri come la computer vision può essere utilizzata per analizzare le immagini satellitari.
  • Riduzione della dimensionalità: Le rappresentazioni latenti apprese possono servire come caratteristiche compatte da inserire in altri modelli di apprendimento automatico (ML), migliorando potenzialmente le prestazioni e riducendo i costi computazionali. Questo è spesso paragonato a tecniche come l'analisi dei componenti principali (PCA), anche se gli autoencoder possono catturare relazioni più complesse e non lineari.
  • Generazione di dati (VAE): Gli autoencoder variazionali possono generare nuovi campioni di dati sintetici, utili in aree come la generazione di opere d'arte o l'aumento dei dati di formazione. Esplora ulteriormente i dati sintetici.

Strumenti e implementazione

Gli autoencoder sono tipicamente implementati utilizzando framework di deep learning come PyTorch o TensorFlow. Le architetture spesso includono reti neurali convoluzionali (CNN) per i dati di immagine o reti neurali ricorrenti (RNN) per i dati sequenziali. L'addestramento di questi modelli può essere gestito e monitorato utilizzando piattaforme come Ultralytics HUB o strumenti di monitoraggio degli esperimenti come Weights & Biases o MLflow. Per ulteriori dettagli sulla formazione dei modelli, esplora la documentazione diUltralytics .

Leggi tutto