Questo è con riferimento al documento Localizzazione efficiente degli oggetti utilizzando reti convoluzionali e da quello che ho capito il dropout è implementato in 2D.
Dopo aver letto il codice di Keras su come viene implementato il Dropout 2D spaziale, in pratica viene implementata una maschera binaria casuale di forma [batch_size, 1, 1, num_channels]. Tuttavia, cosa fa esattamente questo Dropout 2D spaziale al blocco di convoluzione di input di forma [batch_size, height, width, num_channels]?
La mia ipotesi attuale è che per ogni pixel, se uno qualsiasi dei livelli / canali del pixel ha un valore negativo, l'intero canale di quel pixel verrà automaticamente impostato su zero. È corretto?
Tuttavia, se la mia ipotesi è corretta, allora in che modo l'utilizzo di una maschera binaria di forma [batch_size, altezza, larghezza, num_channels] che sono esattamente nella dimensione del blocco di input originale dà il solito dropout dal punto di vista degli elementi (questo è secondo il l'implementazione dropout originale di tensorflow che imposta la forma della maschera binaria come forma dell'input)? Perché significherebbe quindi se qualsiasi pixel nel blocco conv è negativo, quindi l'intero blocco conv verrà impostato automaticamente su 0. Questa è la parte confusa che non capisco bene.