32 votos

¿Por qué utilizar el descenso de gradiente con las redes neuronales?

  1. Cuando se entrena una red neuronal mediante el algoritmo de retropropagación, se utiliza el método de descenso de gradiente para determinar las actualizaciones de los pesos. Mi pregunta es: En lugar de utilizar el método de descenso de gradiente para localizar lentamente el punto mínimo con respecto a un determinado peso, ¿por qué no establecemos simplemente la derivada $\frac{d(\text{Error})}{dw}=0$ y encontrar el valor del peso $w$ que minimiza el error?

  2. Además, ¿por qué estamos seguros de que la función de error en la retropropagación será un mínimo? ¿No puede resultar que la función de error sea un máximo? ¿Existe alguna propiedad específica de las funciones de aplastamiento que garantice que una red con cualquier número de nodos ocultos con pesos y vectores de entrada arbitrarios siempre dará una función de error que tenga algún mínimo?

2 votos

Los títulos en mayúsculas no son estándar aquí (por favor, mire a su alrededor) y aquí y en otros lugares ampliamente desaprobados como Gritos inoportunos.

3 votos

@Nick Cox mis disculpas

0 votos

Es interesante ver que cuando se utilizan variables ocultas o latentes en los modelos de aprendizaje automático, la optimización (¿casi?) siempre se vuelve no lineal, no convexa y simplemente más difícil de optimizar.

39voto

Marc Claesen Puntos 9818
  1. Porque no podemos. La superficie de optimización $S(\mathbf{w})$ en función de los pesos $\mathbf{w}$ es no lineal y no existe una solución de forma cerrada para $\frac{d S(\mathbf{w})}{d\mathbf{w}}=0$ .

  2. El descenso gradual, por definición, desciende. Si se llega a un punto estacionario después de descender, tiene que ser un mínimo (local) o un punto de silla de montar, pero nunca un máximo local.

0 votos

Si la función fuera cóncava, el gradiente descendería eternamente, ya que el único camino es hacia abajo. ¿Estás diciendo que se garantiza que la superficie de error no es cóncava? Además, no me queda claro por qué la derivada de la función de error no tendría una solución de forma cerrada. ¿No es el error de la forma $K-\frac{1}{1+e^{\Sigma wx}}$ ¿donde K es una constante? Esa función parece bastante diferenciable y la expresión resultante se puede resolver analíticamente. Por favor, ayúdame a aclararlo porque hay algo que claramente no veo.

9 votos

Esto no puede ocurrir, porque todas las funciones de error utilizadas habitualmente tienen un mínimo teórico estricto de 0. Los errores nunca pueden ser negativos.

3 votos

Otra posible interpretación de 1. es "Eso es exactamente lo que hacemos, la ecuación se resuelve usando el descenso de gradiente".

15voto

Jared Becksfort Puntos 51

En cuanto a la respuesta de Marc Claesen, creo que el descenso por gradiente podría detenerse en un máximo local en situaciones en las que se inicializa a un máximo local o simplemente se termina allí debido a la mala suerte o a un parámetro de tasa mal afinado. El máximo local tendría un gradiente cero y el algoritmo pensaría que ha convergido. Por eso, a menudo ejecuto múltiples iteraciones desde diferentes puntos de partida y hago un seguimiento de los valores a lo largo del camino.

1 votos

¡He editado tu comentario del preámbulo, ya que parece que ya estás atrayendo algunos upvotes! ¡Bienvenido al sitio!

0 votos

Gracias. No estaba seguro de si debía ser un comentario o una respuesta y no quería que mi primera respuesta fuera votada a la baja hasta el olvido sólo por eso.

9voto

scravy Puntos 306

En los métodos de tipo Newton, en cada paso se resuelve $\frac{d(\text{error})}{dw}=0$ para un linealizado o versión aproximada del problema. A continuación, el problema se linealiza en torno al nuevo punto, y el proceso se repite hasta la convergencia. Algunas personas lo han hecho para redes neuronales, pero tiene los siguientes inconvenientes,

  • Hay que tratar las segundas derivadas (el hessiano, concretamente los productos hessianos-vectoriales).
  • El "paso de resolución" es muy costoso desde el punto de vista computacional: en el tiempo que se tarda en hacer una resolución se podrían haber hecho muchas iteraciones de descenso de gradiente.

Si se utiliza un método de Krylov para la resolución del hessiano, y no se utiliza un buen precondicionador para el hessiano, los costes se equilibran más o menos: las iteraciones de Newton tardan mucho más, pero progresan más, de manera que el tiempo total es aproximadamente igual o más lento que el descenso por gradiente. Por otro lado, si se tiene un buen precondicionador del hessiano, el método de Newton gana mucho.

Dicho esto, los métodos de Newton-Krylov de región fiduciaria son el estándar de oro en la optimización moderna a gran escala, y sólo espero que su uso aumente en las redes neuronales en los próximos años a medida que la gente quiera resolver problemas cada vez más grandes. (y también a medida que más personas en la optimización numérica se interesen por el aprendizaje automático)

1 votos

Creo que se equivoca. La gente lleva utilizando redes desde los años 90, y conocen bien los métodos de segundo orden. el problema es precisamente que las redes tienen éxito cuando hay muchos datos, que soportan entonces muchos parámetros en cuyo caso las limitaciones de tiempo y memoria de los métodos de segundo orden son ineficaces. véase por ejemplo leon.bottou.org/publicaciones/pdf/compstat-2010.pdf

0 votos

@seanv507 En realidad no. La discusión de los métodos de segundo orden en ese artículo tiene muchos fallos, ya que asumen que hay que construir e invertir todo el hessiano denso para poder utilizar los métodos de segundo orden. Esto simplemente no es como se hace en la optimización numérica moderna a gran escala. En los métodos modernos de segundo orden se calcula la acción del hessiano sobre los vectores mediante la resolución de problemas adjuntos, y se utiliza dentro de un solucionador iterativo (Krylov). Por lo general, la primera iteración interna devuelve la dirección del gradiente, y las iteraciones posteriores la mejoran.

0 votos

Aunque no soy especialmente fan de ese periódico, no creo que eso sea cierto. Anteriormente ha discutido/implementado aproximaciones diagonales y de rango reducido de la hessiana. ¿Y qué hay del artículo de Pearlmutter de 1994 sobre la multiplicación rápida exacta por hessian?

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