Che cos'è uno strato convoluzionale 1D nell'apprendimento profondo?


13

Ho una buona comprensione generale del ruolo e del meccanismo dei livelli convoluzionali in Deep Learning per l'elaborazione delle immagini in caso di implementazioni 2D o 3D: "semplicemente" cercano di catturare modelli 2D nelle immagini (in 3 canali in caso di 3D).

Ma recentemente mi sono imbattuto in strati convoluzionali 1D nel contesto dell'elaborazione del linguaggio naturale, il che è una sorta di sorpresa per me, perché nella mia comprensione la convoluzione 2D viene utilizzata soprattutto per catturare modelli 2D che sono impossibili da rivelare in forma 1D (vettoriale) di pixel dell'immagine. Qual è la logica dietro la convoluzione 1D?

Risposte:


16

In breve, non c'è nulla di speciale nel numero di dimensioni per la convoluzione. Qualsiasi dimensionalità della convoluzione potrebbe essere presa in considerazione, se si adatta a un problema.

Il numero di dimensioni è una proprietà del problema da risolvere. Ad esempio, 1D per segnali audio, 2D per immagini, 3D per filmati. . .

Ignorando brevemente il numero di dimensioni, si possono considerare i punti di forza di una rete neurale convoluzionale (CNN), rispetto ai modelli completamente connessi, quando si tratta di determinati tipi di dati:

  1. L'uso di pesi condivisi per ciascuna posizione che i processi di convoluzione elabora riduce significativamente il numero di parametri che devono essere appresi, rispetto agli stessi dati elaborati attraverso una rete completamente connessa.

  2. I pesi condivisi sono una forma di regolarizzazione.

  3. La struttura di un modello convoluzionale fa forti assunzioni sulle relazioni locali nei dati, che in realtà lo rendono adatto al problema.

    3.1 I modelli locali forniscono buoni dati predittivi (e / o possono essere utilmente combinati in modelli predittivi più complessi a livelli superiori)

    3.2 I tipi di pattern trovati nei dati possono essere trovati in più punti. Trovare lo stesso modello in un diverso set di punti dati è significativo.

Queste proprietà delle CNN sono indipendenti dal numero di dimensioni. Le CNN monodimensionali funzionano con schemi in una dimensione e tendono ad essere utili nell'analisi del segnale su segnali a lunghezza fissa. Funzionano bene per l'analisi dei segnali audio, ad esempio. Anche per alcune elaborazioni del linguaggio naturale, sebbene le reti neuronali ricorrenti, che consentono lunghezze di sequenza diverse, potrebbero adattarsi meglio lì, specialmente quelle con disposizioni di gate di memoria come LSTM o GRU. Tuttavia, una CNN può essere più facile da gestire e potresti semplicemente riempire l'ingresso per avere una lunghezza fissa.


il 2D è solo per immagini in scala di grigi? Cosa succede quando si introduce RGB?
Mohammad Athar,

1
@MohammadAthar: RGB è rappresentato come canali (o mappe caratteristiche ) di informazioni 2D separate, e di solito viene considerato 2D anche quando si descrivono i livelli CNN. Se stessi usando TensorFlow o Keras, utilizzeresti sicuramente una definizione di livello Conv2D per gestire le immagini a colori. Tuttavia, le implementazioni avranno spesso strutture 3D e 4D interne per memorizzare i pesi. . . e una convoluzione 2D su più canali è effettivamente un caso speciale di una convoluzione 3D matematicamente (in cui le dimensioni di input e kernel devono corrispondere per l'ultimo strato). Quindi questa è una convenzione di denominazione più che altro.
Neil Slater,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.