top of page

AutoEncoder cosa sono e come funzionano

In questo Articolo capiremo cosa sono e come funzionano gli AutoEncoder...

Mentre il mondo si sviluppa rapidamente con i progressi nell'apprendimento automatico e nell'intelligenza artificiale , presto ci troveremo ad affrontare una situazione di aumento incontrollabile dei dati.


Introduzione agli AutoEncoder

GPU, TPU e altri meccanismi di archiviazione ed elaborazione più veloci hanno finora elaborato con successo grandi quantità di dati nel più breve tempo possibile, ma possono elaborare i dati in meno spazio. Devi anche considerare come comprimerli e archiviarli. E questo ci porta all'argomento della discussione odierna: gli autoencoder, una tecnica che ci consente di comprimere le informazioni disponibili.


AutoEncoder cosa sono e come funzionano
AutoEncoder cosa sono e come funzionano

Cosa sono gli AutoEncoder ?

Gli autoencoder sono tecniche di apprendimento non supervisionate basate su framework di reti neurali, addestrate a copiare input in output. Le reti neurali sono progettate per creare colli di bottiglia nella rete. Internamente, il livello nascosto h descrive il codice utilizzato per rappresentare l'input. Una rete di autoencoder è composta da tre parti. Innanzitutto, l'encoder comprime l'immagine e genera il codice utilizzando la funzione dell'encoder

h = f(x). Quindi arriva un collo di bottiglia in cui abbiamo una rappresentazione della conoscenza compressa dell'input originale, seguita da un decodificatore che forma la ricostruzione r = g(h). Lo schema dell'autocodificatore è mostrato nella Figura 1. I dati vengono compressi e ristrutturati mentre si spostano attraverso l'architettura. Questo processo di compressione e ricostruzione è complicato quando le funzioni di input sono indipendenti. Tuttavia, se thSe esiste una correlazione tra i dati di input, le dipendenze esistenti possono essere apprese e utilizzate quando l'input viene forzato attraverso il collo di bottiglia della rete.


AutoEncoder cosa sono e come funzionano
AutoEncoder cosa sono e come funzionano

Figura 1 – Diagramma che mostra lo schema di un tipico Autoencoder


Nella seguente sottosezione, daremo uno sguardo dettagliato all'architettura di rete e ai corrispondenti iperparametri di un Autoencoder.


L'architettura di un autoencoder

Devi già avere un'idea sbiadita di come sarebbe un autoencoder. In questa sezione, aggiungeremo più profondità alla tua comprensione. Saremmo particolarmente interessati agli iperparametri di cui devi occuparti durante la progettazione di un autoencoder.

Come accennato in precedenza, un codificatore automatico è costituito da tre parti: codificatore, codice e decodificatore. Sia l'encoder che il decoder sono semplici reti neurali feedforward. Il codice è un singolo strato di ANN con dimensioni selezionate. Per i livelli di input e di output, il numero di nodi è determinato dai dati di input X. Pertanto, i livelli di input e di output hanno lo stesso numero di nodi ed entrambi corrispondono a rappresentazioni ad alta dimensione. Lo strato nascosto centrale con il minor numero di nodi corrisponde alla rappresentazione a bassa dimensione. L'obiettivo del processo di formazione è ridurre al minimo l'errore di ricostruzione al quadrato tra gli input e gli output della rete. Per gli algoritmi di apprendimento, la strategia più comunemente utilizzata è la backpropagation. I pesi iniziali della rete sono importanti per l'encoder per trovare una buona soluzione. La backpropagation funziona in modo più efficace quando i pesi iniziali sono più vicini alla soluzione ottimale. Sono stati sviluppati molti algoritmi per trovare buoni pesi iniziali.


Prima di addestrare l'autoencoder, dobbiamo impostare quattro iperparametri.

  1. Il numero di nodi nel livello intermedio, ovvero il livello di codice. Una dimensione più piccola del livello di codice comporterebbe una maggiore compressione.

  2. Poi viene il numero di livelli nelle architetture di codificatore e decodificatore. La profondità dell'architettura può essere regolata alla perfezione e l'architettura profonda presenta vantaggi rispetto alle reti esterne.

  3. Il numero di nodi per livello è il terzo iperparametro che dobbiamo regolare. Tipicamente il codificatore e il decodificatore sono simmetrici in termini di struttura del livello e il numero di nodi in ogni livello successivo del codificatore continua a diminuire fino a raggiungere il livello di codice e quindi continua ad aumentare in modo simile nell'architettura del decodificatore.

  4. La scelta della funzione di perdita è il quarto iperparametro. Le funzioni di perdita più utilizzate includono l'errore quadratico medio o l'entropia incrociata binaria.

Il compromesso più importante negli autoencoder è il compromesso bias-varianza. Allo stesso tempo, l'architettura dell'autoencoder dovrebbe ricostruire bene l'input (riducendo l'errore di ricostruzione) mentre generalizza la rappresentazione bassa a qualcosa di significativo. Pertanto, per ottenere questa proprietà, diamo un'occhiata alle varie architetture sviluppate per affrontare questo compromesso.


Tipi di AutoEncoder :

1. Codificatori automatici sparsi

Queste reti offrono un metodo alternativo per introdurre colli di bottiglia senza richiedere la riduzione del numero di nodi. Gestisce il compromesso forzando la scarsità su attivazioni nascoste. Possono essere aggiunti sopra o al posto dei colli di bottiglia. Esistono due modi per applicare la regolarizzazione sparsa. Il primo è utilizzare la regolarizzazione L1 e il secondo è implementare la divergenza KL. Non entrerò nei dettagli matematici della tecnica di regolarizzazione, ma per questo blog è sufficiente una breve panoramica.


AutoEncoder cosa sono e come funzionano
AutoEncoder cosa sono e come funzionano

Figura 2 – Rappresentazione schematica di un autoencoder sparso


2. Denoising degli autoencoder

Gli autoencoder sono stati considerati reti neurali con ingressi e uscite identici. L'obiettivo principale è riprodurre l'input nel modo più accurato possibile evitando colli di bottiglia delle informazioni. Tuttavia, un altro modo per progettare un codificatore automatico consiste nel perturbare leggermente i dati di input ma mantenere i dati puri come output di destinazione. Con questo approccio, il modello non può semplicemente creare una mappatura dai dati di input ai dati di output perché non sono più simili. Quindi l'uso di questa opzione di regolarizzazione introduce del rumore nell'input mentre l'autoencoder dovrebbe ricostruire una versione pulita dell'input.


AutoEncoder cosa sono e come funzionano
AutoEncoder cosa sono e come funzionano

Figura 3 – Rappresentazione schematica di un Denoising Autoencoder



3. Autocodificatori contrattuali

Mentre nel caso precedente l'enfasi era sul rendere l'encoder più resiliente ad alcune perturbazioni dell'input, in questi tipi di architetture l'enfasi è sul rendere l'estrazione delle caratteristiche meno sensibile a piccole perturbazioni. È scritto. Ciò si ottiene facendo in modo che l'encoder ignori le modifiche nell'input che non sono significative per la ricostruzione da parte del decoder. L'idea principale alla base di questa tecnica di regolarizzazione è che le potenziali rappresentazioni non importanti per la ricostruzione vengono ridotte dal fattore di regolarizzazione. Al contrario, permangono variazioni importanti perché hanno un grande impatto sull'errore di ricostruzione.


AutoEncoder cosa sono e come funzionano
AutoEncoder cosa sono e come funzionano

Figura 4 – Rappresentazione schematica di un autoencoder contrattuale


Applicazioni degli Autoencoder

Se hai letto fino a qui , dovresti avere le basi teoriche che devi conoscere sugli autoencoder. Ti starai chiedendo dove si trovi l'applicazione di queste strutture nell'apprendimento automatico. Questa sezione fa luce sulle applicazioni di queste strutture.

  • La riduzione della dimensionalità è stata una delle prime applicazioni dell'apprendimento della rappresentazione. La riduzione delle dimensioni può aiutare a migliorare le prestazioni del modello in diversi casi.

  • Un altro compito che avvantaggia ancor più della riduzione della dimensionalità è il recupero delle informazioni.

  • Altre applicazioni degli autoencoder includono il rilevamento di anomalie, l'elaborazione di immagini, il denoising dei dati, la scoperta di farmaci, la previsione della popolarità e la traduzione automatica.


Conclusione sugli autoencoder

Ecco perché ho parlato di autoencoder nel blog di oggi. Gli autoencoder sono architetture originariamente progettate per aiutare con la riduzione della dimensionalità. Tuttavia, le sue applicazioni si sono moltiplicate molte volte nel tempo. In primo luogo, abbiamo brevemente introdotto la struttura di un autoencoder e come si ottiene la compressione dei dati a livello di codice. Abbiamo quindi discusso i diversi tipi di codificatori automatici e il modo in cui ognuno aiuta a gestire i compromessi di varianza bias. Infine, abbiamo finito di discutere gli scenari in cui gli autoencoder vengono applicati nel mondo di oggi. Quindi i punti chiave di questo articolo sono:

  1. L'approccio architettonico generale verso gli autoencoder

  2. Il compromesso bias-varianza affrontato dagli autoencoder

  3. In che modo l'applicazione di diverse tecniche di regolarizzazione può consentirci di gestire il compromesso. Ciò ti consentirebbe di pensare a più algoritmi di questo tipo e di sviluppare architetture più recenti.

  4. Le aree in cui questo tipo di architettura trova applicabilità.

Credo di poterti lasciare con una profonda comprensione teorica dell'architettura e dei casi d'uso degli Autoencoder da questa discussione nel blog. Se questo articolo ti entusiasma, ti esorto ad andare avanti e sviluppare una tale architettura per te stesso. È un buon progetto da avere con te.

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
PCR (5).gif
PCR (4).gif
PCR.gif
PCR.gif
PCR.gif
PCR.gif
PCR (5).gif
3.gif
Vediamo se riesci a cliccarmi ! Nascondo una Sorpresa... (2).png

Ciao 

🤗 Articoli consigliati dalla nostra
Intelligenza Artificiale in base ai tuoi interessi

Correlazione Alta

Correlazione Media

Correlazione Bassa

Iscriviti

VUOI DIVENTARE UN MEMBRO DI INTELLIGENZA ARTIFICIALE ITALIA GRATUITAMENTE E TRARNE I SEGUENTI BENEFICI?

Corsi Gratis

più di 150 lezioni online

Dataset Gratis

più di 150o dataset

Ebook Gratis

più di 10 libri da leggere

Editor Gratis

un editor python online

Progetti Gratis

più di 25 progetti python

App Gratis

4 servizi web con I.A.

Unisciti Ora a oltre
1.000.000
di lettori e appassionanti d'I.A.

Tutto ciò che riguarda l'intelligenza Artificiale, in unico posto, in italiano e gratis.

MEGLIO DI COSI' NON SI PUO' FARE

Dopo l'iscrizione riceverai diversi Regali

VUOI SCRIVERE ARTICOLI INSIEME A NOI.

Grazie

bottom of page