Esta es una pequeña pregunta conceptual que me ha estado molestando por un tiempo: ¿Cómo podemos propagarnos a través de una capa de agrupación máxima en una red neuronal?
Me encontré con capas de agrupación máxima mientras revisaba este tutorial para la biblioteca nn de Torch 7. La biblioteca abstrae el cálculo de gradiente y pasa hacia adelante para cada capa de una red profunda. No entiendo cómo se realiza el cálculo de gradiente para una capa de agrupación máxima.
Sé que si tienes una entrada entrando en la neurona i de la capa l , entonces δ i l (definida como δ i l = ∂ E ) viene dado por: δil=θ
Entonces, una capa de agrupación máxima recibiría los 's de la siguiente capa como de costumbre; pero dado que la función de activación para las neuronas de agrupación máxima toma un vector de valores (sobre el cual maximiza) como entrada, δ i l ya no es un número único, sino un vector ( θtendría que ser reemplazado por∇θ( { z j l } )). Además,θ, siendo la función máxima, no es diferenciable con respecto a sus entradas.
Entonces ... ¿cómo debería funcionar exactamente?