QNA > C > Cos'è Il Global Average Pooling?

Cos'è il global average pooling?

Citando il primo articolo dalla ricerca su Google per "global average pooling". http://arxiv.org/pdf/1312.4400.pdf

Invece di adottare i tradizionali strati completamente connessi per la classificazione nella CNN, noi emettiamo direttamente la media spaziale delle mappe di caratteristiche dall'ultimo strato mlpconv come fiducia delle categorie attraverso uno strato di pooling medio globale, e poi il vettore risultante viene alimentato nello strato softmax. Nella CNN tradizionale, è difficile interpretare come l'informazione a livello di categoria dallo strato di costo oggettivo viene passata indietro al precedente strato di convoluzione a causa degli strati completamente connessi che agiscono come una scatola nera nel mezzo. Al contrario, il raggruppamento della media globale è più significativo e interpretabile in quanto rafforza la corrispondenza tra mappe di caratteristiche e categorie, il che è reso possibile da una modellazione locale più forte utilizzando la microrete. Inoltre, gli strati completamente connessi sono inclini all'overfitting e dipendono fortemente dalla regolarizzazione del dropout [4] [5], mentre il global average pooling è esso stesso un regolarizzatore strutturale, che previene nativamente l'overfitting per la struttura complessiva.

e

In questo articolo, proponiamo un'altra strategia chiamata global average pooling per sostituire i tradizionali strati completamente connessi nella CNN. L'idea è di generare una mappa di caratteristiche per ogni categoria corrispondente al compito di classificazione nell'ultimo strato mlpconv. Invece di aggiungere strati completamente connessi sopra le mappe di caratteristiche, prendiamo la media di ogni mappa di caratteristiche, e il vettore risultante viene alimentato direttamente nello strato softmax. Un vantaggio della media globale rispetto agli strati completamente connessi è che è più nativa della struttura di convoluzione, poiché rafforza le corrispondenze tra le mappe delle caratteristiche e le categorie. Così le mappe delle caratteristiche possono essere facilmente interpretate come mappe di fiducia delle categorie. Un altro vantaggio è che non c'è nessun parametro da ottimizzare nel global average pooling, quindi si evita l'overfitting a questo livello. Inoltre, il global average pooling riassume l'informazione spaziale, quindi è più robusto alle traslazioni spaziali dell'input.

Possiamo vedere il global average pooling come un regolarizzatore strutturale che impone esplicitamente alle feature maps di essere mappe di fiducia di concetti (categorie). Questo è reso possibile dai livelli mlpconv, che approssimano meglio le mappe di confidenza rispetto ai GLM.

Nel caso della classificazione con 10 categorie (CIFAR10, MNIST).

Significa che se avete un tensore 3D 8,8,128 alla fine della vostra ultima convoluzione, nel metodo tradizionale, lo appiattite in un vettore 1D di dimensioni 8x8x128. E poi si aggiungono uno o più strati completamente connessi e poi, alla fine, uno strato softmax che riduce la dimensione a 10 categorie di classificazione e applica l'operatore softmax.

Il global average pooling significa che si ha un tensore 3D 8,8,10 e si calcola la media sulle 8,8 fette, si finisce con un tensore 3D di forma 1,1,10 che si rimodella in un vettore 1D di forma 10. E poi si aggiunge un operatore softmax senza alcuna operazione in mezzo. Il tensore prima del pooling medio dovrebbe avere tanti canali quante sono le categorie di classificazione del tuo modello.

Il documento non è chiaro, ma quando dicono "strato softmax" intendono solo un operatore softmax, non uno strato completamente connesso con un'attivazione softmax.

Non y=softmax(W*flatten(GAP(x))+b) ma y=softmax(flatten(GAP(x)).

Di Amery

Ci saranno interferenze quando bluetooth e wifi funzionano contemporaneamente? :: Which is better, Motorola or Honor?
Link utili