Relu tiene 0 gradiente por definición, entonces ¿por qué desaparecer el gradiente no es un problema para x <0?

10

Por definición, Relu es max(0,f(x)). Luego de su gradiente se define como: 1 if x > 0 and 0 if x < 0.

¿No significa esto que el gradiente siempre es 0 (desaparece) cuando x <0? Entonces, ¿por qué decimos que Relu no sufre el problema de la desaparición del gradiente?

edamame
fuente

Respuestas:

5

¡En su mayoría tienes razón! ReLU tiene un problema con la desaparición del gradiente, pero solo en un lado, por lo que lo llamamos de otra manera: el 'problema de muerte de ReLU'. Consulte esta respuesta de desbordamiento de pila para obtener más información: ¿Cuál es el problema de "muerte de ReLU" en las redes neuronales?

Es una pequeña diferencia semántica. Muchas funciones (tanh y logistic / sigmoid) tienen derivados muy cercanos a cero cuando estás fuera del rango operativo estándar. Este es el problema del 'gradiente de fuga'. Cuanto peor se vuelve, más difícil es volver a la zona buena. ReLU no empeora cuanto más lejos está en la dirección positiva, por lo que no hay problema de gradiente de fuga (en ese lado). Esta asimetría podría ser suficiente para justificar llamarlo algo diferente, pero las ideas son bastante similares.

Joseph Catrambone
fuente
2
Vale la pena agregar: el problema del gradiente de fuga tiende a ser sobre cambios progresivos en la profundidad de una red, y no directamente sobre las propiedades de las funciones de transferencia de neuronas.
Neil Slater
1

Desaparecer significa que va hacia 0 pero nunca será realmente 0. Tener gradientes de 0 hace cálculos muy fáciles, tener gradientes cercanos a 0 significa que hay cambios, solo muy pequeños, lo que significa aprendizaje lento y problemas numéricos. 1 y 0 son dos de los números más fáciles de calcular en este tipo de problemas de optimización.

Jan van der Vegt
fuente