Introduzione introduttiva
Allinterno di una rete neurale convoluzionale, di solito abbiamo una struttura / flusso generale simile al seguente:
- immagine di input (ovvero un vettore 2D
x
)
(il primo livello convoluzionale (Conv1) inizia qui …)
- convolgere una serie di filtri (
w1
) lungo limmagine 2D (ad es.z1 = w1*x + b1
moltiplicazioni di prodotti a punti), dovez1
è 3D eb1
è pregiudizi. - applica una funzione di attivazione (ad es. ReLu) per rendere
z1
non lineare (ad es.a1 = ReLu(z1)
), dovea1
è 3D.
(Il secondo livello convoluzionale (Conv2) inizia qui …)
- convolgere una serie di filtri lungo le attivazioni appena calcolate (ad esempio, eseguire le
z2 = w2*a1 + b2
moltiplicazioni di prodotti a punti), dovez2
è 3D e eb2
è pregiudizi. - applica una funzione di attivazione (ad es. ReLu) per rendere
z2
non lineare (ad es.a2 = ReLu(z2)
), dovea2
è 3D .
La domanda
La definizione del termine " mappa delle caratteristiche " sembra variare da letteratura a letteratura. In concreto:
- per il primo livello convoluzionale, la " mappa delle caratteristiche " corrisponde al vettore di input
x
o il prodotto a punti di outputz1
o le attivazioni di outputa1
o il " elabora " conversionex
ina1
o qualcosaltro? - Allo stesso modo, per il secondo livello convoluzionale, la " mappa delle caratteristiche " corrisponde a le attivazioni di input
a1
o il prodotto dot di outputz2
o lattivazione di outputa2
o il " processo " di conversionea1
ina2
o qualcosaltro?
Inoltre, è vero che il termine " feat La mappa " è esattamente uguale a " mappa di attivazione "? (o in realtà significano due cose diverse?)
Riferimenti aggiuntivi:
Snippet da Reti neurali e apprendimento profondo – Capitolo 6 :
* La nomenclatura viene utilizzata in modo approssimativo qui. In particolare, sto usando " feature map " per indicare non la funzione calcolata dal livello convoluzionale, ma piuttosto lattivazione del neuroni nascosti emessi dal livello. Questo tipo di lieve abuso di nomenclatura è piuttosto comune nella letteratura di ricerca.
Snippet da Visualizzazione e comprensione delle reti convoluzionali di Matt Zeiler :
In questo documento introduciamo una tecnica di visualizzazione che rivela gli stimoli di input che stimolano le mappe delle singole caratteristiche a qualsiasi livello del modello. […] Il nostro approccio, al contrario, fornisce una vista non parametrica dellinvarianza, mostrando quali modelli dal set di addestramento attivano la mappa delle caratteristiche. [. ..] unoperazione di contrasto locale che normalizza le risposte tra le mappe delle caratteristiche. […] Per esaminare una data attivazione di convnet, impostiamo a zero tutte le altre attivazioni nel livello e passiamo la mappa delle caratteristiche s come input per il livello 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 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 mappa di caratteristiche data nel modello […] quando le parti dellimmagine di input originale corrispondenti al pattern sono occluse, vediamo un netto calo dellattività allinterno della mappa delle caratteristiche. […]
Note: introduce anche il termine " mappa delle caratteristiche " e " mappa delle caratteristiche rettificata " nella Figura 1.
Snippet da Stanford CS231n Chapter sulla CNN :
[…] Una trappola pericolosa che può essere facilmente rilevata con questa visualizzazione è che alcune mappe di attivazione possono essere tutte zero per molti input diversi, il che può indicare filtri morti e può essere un sintomo di alti tassi di apprendimento […] Attivazioni dallaspetto tipico sul primo livello CONV (a sinistra) e il 5 ° livello CONV (a destra) di un AlexNet addestrato che guarda limmagine di un gatto. Ogni box mostra una mappa di attivazione corrispondente a qualche filtro. Si noti che le attivazioni sono scarse (la maggior parte dei valori sono zero, in questa visualizzazione mostrata in nero) e per lo più locali.
Snippet 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 è un array di numeri 28 x 28 x 1, che chiamiamo una mappa di attivazione o una mappa delle caratteristiche.
Risposta
Una mappa delle caratteristiche, o mappa di attivazione, è loutput delle attivazioni per un dato 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. È chiamata mappa di attivazione perché è una mappatura che corrisponde allattivazione di diverse parti dellimmagine, e anche una mappa delle caratteristiche perché è anche una mappatura di dove si trova un certo tipo di caratteristica nellimmagine. Unattivazione alta indica che è stata trovata una determinata funzione.
Una “mappa di caratteristiche rettificate” è solo una mappa di caratteristiche che è stata creata usando Relu. Potresti vedere il termine “mappa delle caratteristiche” usato per il risultato dei prodotti punto (z1) perché questa è anche in realtà una mappa di dove si trovano alcune caratteristiche nellimmagine, ma non è comune vedere.
Commenti
Risposta
Nella terminologia CNN, la matrice 3 × 3 è chiamata “filtro” o “kernel” o “rilevatore di caratteristiche” e la matrice formata facendo scorrere il filtro sullimmagine e calcolando il prodotto scalare è chiamata la “Caratteristica convoluta” o la “Mappa di attivazione” o la “Mappa delle caratteristiche”. È importante notare che i filtri agiscono come rilevatori di funzionalità dallimmagine di input originale.
fonte: https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/
Rispondi
prima di parlare di cosa significa mappa di caratteristiche, definiamo semplicemente il termine di vettore di caratteristiche.
feature vector è una rappresentazione vettoriale di oggetti. Ad esempio, unauto può essere rappresentata da [numero di ruote, porta. windows, age ..etc].
feature map è una funzione che prende i vettori degli elementi in uno spazio e li trasforma in vettori degli elementi in un altro. Ad esempio, dato un vettore di caratteristiche [volume, peso, altezza, larghezza] può restituire [1, volume / peso, altezza * larghezza] o [altezza * larghezza] o anche solo [volume]
a1
,a2
ecc.). In Conv2, immagino che chiamereia1
mappa di attivazione dellinput ea2
mappa di attivazione delloutput. In Conv1,x
limmagine di input ea1
la mappa di attivazione delloutput.