Método del Gradiente.
La
mayoría de los algoritmos de aprendizaje profundo implican la
optimización de algún tipo. La optimización se refiere a la tarea
de minimizar o maximizar alguna función f (x) alterando x.
Usualmente formulamos la mayoría de los problemas de optimización
en términos de minimizar f (x). La maximización se puede lograr
mediante un algoritmo de minimización minimizando -f (x).
La derivada es útil para minimizar
una función porque nos dice cómo cambiar x para hacer una pequeña
mejora en y. Por ejemplo, nosotros sabemos que f (x - ε sign(f ‘
(x))) es menor que f (x) para un ε suficientemente pequeño. Podemos
por lo tanto reducir f (x) moviendo x en pequeños pasos con el signo
opuesto de la derivada. Esta es la técnica llamada gradiente
descendente. (Cauchy, 1847).
Cuando
f '(x) = 0, la derivada no proporciona información sobre en qué
dirección moverse. Los puntos donde f '(x) = 0 se conocen como
puntos críticos o puntos estacionarios. Un mínimo local es un punto
donde f (x) es más bajo que en todos los puntos vecinos, por lo que
ya no es posible disminuir f (x) realizando pasos infinitesimales. Un
máximo local es un punto donde f (x) es más alto que en todos los
puntos vecinos, por lo que no es posible aumentar f (x) haciendo
pasos infinitesimales. Algunos puntos críticos no son ni máximos ni
mínimos. Estos se conocen como puntos de silla de montar.
En
el contexto del deep learning, optimizamos funciones que pueden tener
muchos mínimos locales que no son óptimos, y muchos puntos de silla
rodeados por regiones muy planas. Todo esto hace que la optimización
sea muy difícil, especialmente cuando la entrada a la función es
multidimensional. Por lo tanto, generalmente nos conformamos con
encontrar un valor de f que sea muy bajo, pero no necesariamente
mínimo en ningún sentido formal.
Para
funciones con entradas múltiples, debemos hacer uso del concepto de
derivadas parciales. La derivada parcial ∂i f(x) mide cómo cambia f cuando solo la variable xi
aumenta en el punto x. El gradiente generaliza la noción de derivada
al caso donde la derivada es con respecto a un vector: el gradiente
de f es el vector que contiene todas las derivadas parciales,
denotado ∇x f (x). El elemento i del
gradiente es la derivada parcial de f con respecto a xi.
En dimensiones múltiples, los puntos críticos son puntos donde cada elemento del gradiente es igual a cero.
La derivada direccional en la dirección u (un vector unitario) es la pendiente de la función f en la dirección u. En otras palabras, la derivada direccional es la
derivada de la función f (x + αu) con respecto a α, evaluada en α = 0. Usando la regla de la cadena podes ver que:
Para minimizar f, nos gustaría encontrar la dirección en la que f disminuye más rápido. Podemos hacer esto usando la derivada direccional:
donde θ es el ángulo entre u y el gradiente. Sustituyendo en || u || 2 = 1 e ignorando factores que no dependen de u, simplificamos a “min cos θ”. Esto se minimiza cuando θ = 180°, osea cuando u apunta en la dirección opuesta al gradiente, así que podemos disminuir f moviéndonos en la dirección del gradiente negativo. Esto se conoce como el método de descenso más inclinado o gradiente.
Con cada paso, tenemos un nuevo punto:
Con cada paso, tenemos un nuevo punto:
donde ε es la tasa de aprendizaje, un escalar positivo que determina el tamaño del paso. Podemos elegir ε de diferentes maneras. Un enfoque popular es establecer ε en una pequeña constante. A veces, podemos resolver el tamaño del paso que hace desaparecer la derivada direccional. Otro enfoque es evaluar f (x - ε ∇ x f (x)) para varios valores de ε y elegir el que dé como resultado el valor más pequeño de la función objetivo. Esta última estrategia se llama búsqueda de línea.
Cuando se realiza una implementación computacional de este método, es necesario establecer un criterio de parada para cada iteración del algoritmo. Para esto, se puede definir un umbral η > 0 y detener el algoritmo cuando los errores relativos en los valores de f(x) cumplan:
Bibliografía
- Cauchy, A. (1847). Méthode générale pour la résolution de systèmes d’équations simul- tanées. In Compte rendu des séances de l’académie des sciences, pages 536–538. 83 , 224


Comentarios
Publicar un comentario