Hay mucho material que explica cómo calcular la jacobiana para el paso atrás de softmax, pero me parece confuso cómo llegar a los errores reales de la jacobiana. La respuesta obvia sería sumar las filas o las columnas - no importa ya que la matriz es simétrica, pero analíticamente parece que el gradiente sale a $0$ .
\begin{align} \frac{\partial h_i}{ \partial z_j} &= h_i (1 - h_j) &\text{when } i = j \\[10pt] \frac{\partial h_i}{ \partial z_j} &= - h_i h_j &\text{when } i \ne j \end{align}
Simplificando el caso cuando $i=j$ me sale: $h_j(1 - h_j)$
Simplificando el caso cuando $i\ne j$ me sale: $- h_j(\sum h - h_j) = - h_j(1 - h_j)$
Así que sumando estos dos casos, el gradiente con respecto a la entrada debe ser siempre $0$ . Eso tiene cero sentido para mí. ¿En qué me equivoco?