¿Cómo funciona el término de impulso para el algoritmo de retropropagación?

9

Al actualizar los pesos de una red neuronal utilizando el algoritmo de retropropagación con un término de impulso, ¿debería aplicarse también la tasa de aprendizaje al término de impulso?

La mayor parte de la información que pude encontrar sobre el uso del momento tiene las ecuaciones que se parecen a esto:

Wi=WiαΔWi+μΔWi1

donde es la tasa de aprendizaje y es el término de impulso.μαμ

si el término es mayor que el término , en la siguiente iteración el de la iteración anterior tendrá una mayor influencia en el peso que el actual.α Δ WμαΔW

¿Es este el propósito del término de impulso? ¿o debería la ecuación verse más así?

Wyo=Wyo-α(ΔWyo+μΔWyo-1)

es decir. escalando todo por la tasa de aprendizaje?

guskenny83
fuente

Respuestas:

10

Uso de retropropagación con impulso en una red con diferentes pesos W k la i de corrección-ésima para el peso W k está dada pornorteWkyoWk

dondeEΔWk(yo)=-αmiWk+μΔWk(yo-1) es la variación de la pérdida wrtWk.miWkWk

La introducción de la velocidad de impulso permite la atenuación de las oscilaciones en el descenso del gradiente. La idea geométrica detrás de esta idea probablemente se puede entender mejor en términos de un análisis de espacio propio en el caso lineal. Si la relación entre el valor propio más bajo y el más grande es grande, realizar un descenso de gradiente es lento incluso si la tasa de aprendizaje es grande debido al condicionamiento de la matriz. El impulso introduce cierto equilibrio en la actualización entre los vectores propios asociados a valores propios más bajos y más grandes.

Para más detalles me refiero a

http://page.mi.fu-berlin.de/rojas/neural/chapter/K8.pdf

nico
fuente
¿Qué significa el underbrace?
David Richerby
ΔWkμWk(yo-1)μΔWk(yo-1)
ΔWk(yo-1)
¿Qué quiere decir con "variación de la pérdida"? ¿Es algo así como "variación en el error"?
starbeamrainbowlabs
No significa nada más que la derivada del error con respecto a los pesos.
nico