Momentum se usa para disminuir las fluctuaciones en los cambios de peso en iteraciones consecutivas:
dondeE(w)es la función de error,w- el vector de pesos,η- tasa de aprendizaje.
La disminución de peso penaliza los cambios de peso:
La pregunta es si tiene sentido combinar ambos trucos durante la propagación hacia atrás y qué efecto tendría.
neural-networks
optimization
regularization
gradient-descent
Oleg Shirokikh
fuente
fuente
Respuestas:
Sí, es muy común usar ambos trucos. Resuelven diferentes problemas y pueden funcionar bien juntos.
Una forma de pensarlo es que la pérdida de peso cambia la función que se está optimizando , mientras que el impulso cambia el camino que toma al óptimo .
La disminución de peso, al reducir sus coeficientes hacia cero, asegura que encuentre un óptimo local con parámetros de pequeña magnitud. Esto suele ser crucial para evitar el sobreajuste (aunque también pueden funcionar otros tipos de restricciones en los pesos). Como beneficio adicional, también puede hacer que el modelo sea más fácil de optimizar, al hacer que la función objetivo sea más convexa.
Una vez que tiene una función objetivo, debe decidir cómo moverse sobre ella. El descenso más pronunciado en el gradiente es el enfoque más simple, pero tienes razón en que las fluctuaciones pueden ser un gran problema. Agregar impulso ayuda a resolver ese problema. Si está trabajando con actualizaciones por lotes (que generalmente es una mala idea con las redes neuronales), los pasos tipo Newton son otra opción. Los nuevos enfoques "candentes" se basan en el gradiente acelerado de Nesterov y la denominada optimización "libre de arpillera".
Pero independientemente de cuál de estas reglas de actualización use (impulso, Newton, etc.), todavía está trabajando con la misma función objetivo, que está determinada por su función de error (por ejemplo, error al cuadrado) y otras restricciones (por ejemplo, disminución de peso) . La pregunta principal al decidir cuál de estos usar es qué tan rápido llegará a un buen conjunto de pesas.
fuente