20 votos

Diferencia en el uso del gradiente normalizado y el gradiente

En la configuración general del algoritmo de descenso de gradiente, tenemos $x_{n+1} = x_{n} - \eta * gradient_{x_n}$ donde $x_n$ es el punto actual, $\eta$ es el tamaño del paso y $gradient_{x_n}$ es el gradiente evaluado en $x_n$ .

He visto en algún algoritmo, la gente utiliza gradiente normalizado en lugar de gradiente . Quería saber cuál es la diferencia en el uso de gradiente normalizado y simplemente gradiente .

18voto

Sean B. Durkin Puntos 7723

En un algoritmo de descenso de gradiente, el algoritmo procede encontrando una dirección a lo largo de la cual puede encontrar la solución óptima. La dirección óptima resulta ser el gradiente. Sin embargo, como sólo nos interesa la dirección y no necesariamente lo lejos que nos movemos a lo largo de esa dirección, normalmente no nos interesa la magnitud del gradiente. Por lo tanto, el gradiente normalizado es suficiente para nuestros propósitos y dejamos que $\eta$ dictan hasta dónde queremos movernos en la dirección calculada. Sin embargo, si se utiliza el descenso de gradiente no normalizado, en cualquier punto, la distancia a la que nos movemos en la dirección óptima viene dictada por la magnitud del gradiente (en esencia, dictada por la superficie de la función objetivo, es decir, un punto en una superficie empinada tendrá una magnitud alta, mientras que un punto en una superficie bastante plana tendrá una magnitud baja).

A partir de lo anterior, es posible que se haya dado cuenta de que la normalización del gradiente es un poder de control añadido que se obtiene (si es útil o no es algo que depende de su aplicación específica). Lo que quiero decir con lo anterior es:
1] Si desea asegurarse de que su algoritmo se mueve en tamaños de paso fijos en cada iteración, entonces es posible que desee utilizar el descenso de gradiente normalizado con fijo $\eta$ .
2] Si desea asegurarse de que su algoritmo se mueve en tamaños de paso que es dictada precisamente por usted, entonces de nuevo es posible que desee utilizar el descenso de gradiente normalizado con su función específica para el tamaño de paso codificado en $\eta$ .
3] Si desea dejar que la magnitud del gradiente dicte el tamaño del paso, entonces utilizará el descenso de gradiente no normalizado. Hay otras variantes, como dejar que la magnitud del gradiente decida el tamaño del paso, pero poniéndole un tope, etcétera.

Ahora bien, el tamaño del paso influye claramente en la velocidad de convergencia y la estabilidad. Cuál de los tamaños de paso anteriores funciona mejor depende exclusivamente de su aplicación (es decir, de la función objetivo). En algunos casos, puede analizarse la relación entre la velocidad de convergencia, la estabilidad y el tamaño del paso. Esta relación puede dar una pista sobre si es mejor utilizar el descenso de gradiente normalizado o no normalizado.

En resumen, no hay diferencia entre el descenso de gradiente normalizado y el no normalizado (en lo que respecta a la teoría del algoritmo). Sin embargo, tiene repercusiones prácticas en la velocidad de convergencia y la estabilidad. La elección de uno sobre el otro se basa puramente en la aplicación/objetivo en cuestión.

3voto

Jimmy Chandra Puntos 3562

Qué método tiene una convergencia más rápida dependerá de su objetivo específico, y por lo general utilizo el gradiente normalizado. Un buen ejemplo de por qué es posible que desee hacer esto es un simple cuadrática: $f(x) = x^Tx$ . En este caso, la EDO que describe una trayectoria de descenso gradiente dada (a medida que el tamaño de los pasos se aproxima a cero) puede determinarse analíticamente: $y(t) = x_0/||x_0|| * e^{-t}$ . Así pues, la norma del gradiente disminuye exponencialmente a medida que nos acercamos al punto crítico. En estos casos, suele ser mejor ir y venir por el punto crítico varias veces que acercarse a él muy lentamente. En general, se sabe que los métodos de primer orden tienen una convergencia muy lenta alrededor de los puntos críticos, por lo que no deberías utilizarlos si realmente te preocupa la precisión. Si no puedes calcular el hessiano de tu objetivo analíticamente, puedes aproximarlo (BFGS).

2voto

Brian Borchers Puntos 2546

Lo que realmente importa es cómo $\eta$ está seleccionada. No importa si se utiliza el gradiente normalizado o el gradiente no normalizado si el tamaño del paso se selecciona de una manera que hace que la longitud de $\eta$ veces el gradiente igual.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X