Sé que el descenso de gradiente estocástico tiene un comportamiento aleatorio, pero no sé por qué.
¿Hay alguna explicación sobre esto?
Sé que el descenso de gradiente estocástico tiene un comportamiento aleatorio, pero no sé por qué.
¿Hay alguna explicación sobre esto?
Respuestas:
El algoritmo de gradiente estocástico (SG) se comporta como un algoritmo de recocido simulado (SA), donde la tasa de aprendizaje de la SG está relacionada con la temperatura de SA. La aleatoriedad o el ruido introducido por SG permite escapar de los mínimos locales para alcanzar un mínimo mejor. Por supuesto, depende de qué tan rápido disminuya la tasa de aprendizaje. Lea la sección 4.2 del aprendizaje estocástico de gradiente en redes neuronales (pdf) , donde se explica con más detalle.
En el descenso de gradiente estocástico, los parámetros se estiman para cada observación, a diferencia de la muestra completa en descenso de gradiente regular (descenso de gradiente discontinuo). Esto es lo que le da mucha aleatoriedad. El camino del descenso de gradiente estocástico vaga por más lugares y, por lo tanto, es más probable que "salte" de un mínimo local y encuentre un mínimo global (Nota *). Sin embargo, el descenso de gradiente estocástico aún puede atascarse en el mínimo local.
Nota: Es común mantener constante la tasa de aprendizaje, en este caso el descenso de gradiente estocástico no converge; simplemente vaga por el mismo punto. Sin embargo, si la tasa de aprendizaje disminuye con el tiempo, por ejemplo, está inversamente relacionada con el número de iteraciones, entonces el descenso del gradiente estocástico convergería.
Como ya se mencionó en las respuestas anteriores, el descenso de gradiente estocástico tiene una superficie de error mucho más ruidosa ya que está evaluando cada muestra de forma iterativa. Mientras está dando un paso hacia el mínimo global en el descenso del gradiente por lotes en cada época (pase sobre el conjunto de entrenamiento), los pasos individuales de su gradiente de descenso del gradiente estocástico no siempre deben apuntar hacia el mínimo global dependiendo de la muestra evaluada.
Para visualizar esto usando un ejemplo bidimensional, aquí hay algunas figuras y dibujos de la clase de aprendizaje automático de Andrew Ng.
Primer descenso en gradiente:
Segundo, descenso de gradiente estocástico:
El círculo rojo en la figura inferior ilustrará que el descenso de gradiente estocástico "continuará actualizándose" en algún lugar del área alrededor del mínimo global si está utilizando una tasa de aprendizaje constante.
Entonces, aquí hay algunos consejos prácticos si está utilizando el descenso de gradiente estocástico:
1) baraja el conjunto de entrenamiento antes de cada época (o iteración en la variante "estándar")
2) use una tasa de aprendizaje adaptativo para "recocer" más cerca del mínimo global
for
recorro el conjunto barajado