Qual è la definizione di una "mappa caratteristica" (nota anche come "mappa di attivazione") in una rete neurale convoluzionale?


32

 Sfondo introduttivo

All'interno di una rete neurale convoluzionale, di solito abbiamo una struttura / flusso generale che assomiglia a questo:

  1. immagine di input (cioè un vettore 2D x)

(Il 1 ° livello convoluzionale (Conv1) inizia qui ...)

  1. contorta una serie di filtri ( w1) lungo l'immagine 2D (ovvero z1 = w1*x + b1esegui le moltiplicazioni del prodotto punto), dove z1è 3D ed b1è bias.
  2. applicare una funzione di attivazione (ad es. ReLu) per rendere z1non lineare (ad es. a1 = ReLu(z1)), dove a1è 3D.

(Il 2 ° livello convoluzionale (Conv2) inizia qui ...)

  1. contorta un insieme di filtri lungo le attivazioni appena calcolate (ovvero z2 = w2*a1 + b2esegui le moltiplicazioni del prodotto punto), dove z2è 3D ed b2è bias.
  2. applicare una funzione di attivazione (ad es. ReLu) per rendere z2non lineare (ad es. a2 = ReLu(z2)), dove a2è 3D.

 La domanda

La definizione del termine "mappa caratteristica" sembra variare da letteratura a letteratura. In concreto:

  • Per lo strato convoluzionale prima, fa corrisponde "funzione mappa" per il vettore di ingresso x, o il prodotto scalare di uscita z1, o le attivazioni di uscita a1, o il "processo" conversione xa a1, o qualcos'altro?
  • Allo stesso modo, per il 2 ° livello convoluzionale, la "mappa caratteristica" corrisponde alle attivazioni di input a1, o al prodotto di punti di output z2, o all'attivazione di output a2, o al "processo" convertito a1in a2, o qualcos'altro?

Inoltre, è vero che il termine "mappa caratteristica" è esattamente uguale a "mappa attivazione"? (o in realtà significano due cose diverse?)

 Riferimenti aggiuntivi:

Frammenti da reti neurali e apprendimento profondo - Capitolo 6 :

* Qui la nomenclatura viene utilizzata liberamente. In particolare, sto usando "feature map" per indicare non la funzione calcolata dallo strato convoluzionale, ma piuttosto l'attivazione dei neuroni nascosti emessi dallo strato. Questo tipo di abuso lieve della nomenclatura è abbastanza comune nella letteratura di ricerca.


Frammenti di visualizzazione e comprensione delle reti convoluzionali di Matt Zeiler :

In questo articolo introduciamo una tecnica di visualizzazione che rivela gli stimoli di input che eccitano le singole feature map su qualsiasi livello del modello. [...] Il nostro approccio, al contrario, fornisce una visione non parametrica dell'invarianza, mostrando quali schemi del set di addestramento attivano la mappa delle caratteristiche. [...] un'operazione di contrasto locale che normalizza le risposte tra le mappe delle caratteristiche. [...] Per esaminare una determinata attivazione di convnet, impostiamo tutte le altre attivazioni nel layer su zero e passiamo le mappe delle caratteristiche come input al layer deconvnet allegato. [...] Convnet utilizza non linearità relu, che rettificano le mappe delle caratteristiche garantendo così che le mappe delle caratteristiche siano sempre positive. [...] Convnet utilizza i filtri appresi per convolgere le mappe delle caratteristiche dal livello precedente. [...] Fig. 6, queste visualizzazioni sono rappresentazioni accurate del pattern di input che stimola la data map del modello [...] nel momento in cui le parti dell'immagine di input originale corrispondenti al pattern sono occluse, vediamo un netto calo di attività all'interno della map feature. [...]

Note: introduce anche il termine "mappa caratteristica" e "mappa caratteristica rettificata" in Fig 1.


Frammenti dal capitolo Stanford CS231n sulla CNN :

[...] Una pericolosa trappola che può essere facilmente notata con questa visualizzazione è che alcune mappe di attivazione possono essere tutte zero per molti input diversi, che possono indicare filtri morti e possono essere un sintomo di alti tassi di apprendimento [...] Attivazioni dall'aspetto tipico sul primo strato CONV (a sinistra) e sul quinto strato CONV (a destra) di un AlexNet addestrato che guarda l'immagine di un gatto. Ogni casella mostra una mappa di attivazione corrispondente ad alcuni filtri. Si noti che le attivazioni sono sparse (la maggior parte dei valori sono zero, in questa visualizzazione mostrata in nero) e principalmente locali.


Frammenti da A-Beginner's-Guide-to-Understanding-Convolutional-Neural-Networks

[...] Ogni posizione univoca sul volume di input produce un numero. Dopo aver fatto scorrere il filtro su tutte le posizioni, scoprirai che ciò che ti rimane è una matrice di numeri 28 x 28 x 1, che chiamiamo mappa di attivazione o mappa di funzionalità.

Risposte:


27

Una mappa caratteristica, o mappa di attivazione, sono le attivazioni di output per un determinato filtro (a1 nel tuo caso) e la definizione è la stessa indipendentemente dal livello in cui ti trovi.

Mappa delle caratteristiche e mappa di attivazione significano esattamente la stessa cosa. Si chiama una mappa di attivazione perché è una mappatura che corrisponde all'attivazione di diverse parti dell'immagine e anche una mappa di funzionalità perché è anche una mappa di dove si trova un certo tipo di funzione nell'immagine. Un'attivazione elevata indica che è stata trovata una determinata funzione.

Una "mappa caratteristica rettificata" è solo una mappa caratteristica creata usando Relu. Potresti eventualmente vedere il termine "mappa delle caratteristiche" utilizzato per il risultato dei prodotti punto (z1) perché questa è anche una mappa della posizione di alcune caratteristiche nell'immagine, ma non è comune vederla.


1
Grazie per l'input. La tua risposta è in linea con la mia comprensione (ovvero le mappe di attivazione sono a1, a2ecc.). In Conv2, suppongo che chiamerei a1la mappa di attivazione dell'input e a2la mappa di attivazione dell'output. In Conv1, I xl'immagine di input e a1la mappa di attivazione dell'output.
Atlas7,

4

prima di parlare del significato della mappa delle caratteristiche, definiamo semplicemente il termine vettore delle caratteristiche.

feature vector è la rappresentazione vettoriale di oggetti. Ad esempio, un'auto può essere rappresentata da [numero di ruote, porta. windows, age ..etc].

feature map è una funzione che accetta i vettori di funzionalità in uno spazio e li trasforma in vettori di funzionalità in un altro. Ad esempio, dato un vettore di funzione [volume, peso, altezza, larghezza] può restituire [1, volume / peso, altezza * larghezza] o [altezza * larghezza] o anche solo [volume]

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.