¿Cuál es la ventaja de tener en cuenta la curvatura al optimizar las redes neuronales profundas?

Si considera la curvatura, el algoritmo de descenso de gradiente está al tanto de más información de la función que está tratando de minimizar.

  • Aquí hay un ejemplo de un descenso de gradiente de baja dimensionalidad.

A la izquierda muestra lo que sucedería si te pararas a un lado del largo y estrecho valle y tomas la dirección del descenso más empinado: esto apuntaría al otro lado del valle y terminarías moviéndote hacia adelante y hacia atrás entre los dos lados, en lugar de bajar la suave pendiente como en la figura de la derecha.

Sin embargo, la dirección a través del valle tiene un gradiente alto pero también una curvatura alta (segunda derivada), lo que significa que el descenso será brusco pero de corta duración. Por otro lado, la dirección que sigue al fondo del valle tiene un gradiente más pequeño y una curvatura baja, el descenso será lento pero continuará por una distancia más larga.

  • Con múltiples dimensiones,

Puede examinar todas las segundas derivadas de la función. En un punto crítico, puede examinar los valores propios (todos los positivos, todos los negativos, negativos y positivos) del hessiano para determinar si un punto crítico es un máximo local, mínimo local o punto de silla.

Además, puede calcular el número de condición del Hessian para determinar qué tan bien o mal funciona el gradiente.

Número de condición grande => el descenso del gradiente funciona mal.

Con toda la información contenida en la función de matriz de Hesse, el algoritmo de descenso de gradiente puede rectificar alguna dirección y evitar atascarse, ya sea una red neuronal profunda o un simple MLP.

Las reglas son las mismas.