¿Cuál es la tasa de aprendizaje en las redes neuronales?

Las matemáticas se han cubierto en otras respuestas, así que voy a hablar de intuición pura.

La tasa de aprendizaje es la rapidez con que una red abandona las viejas creencias por otras nuevas.

Si un niño ve 10 ejemplos de gatos y todos ellos tienen pelaje anaranjado, pensará que los gatos tienen pelaje anaranjado y buscará pelaje anaranjado cuando intente identificar a un gato. Ahora ve un gato negro y sus padres le dicen que es un gato (aprendizaje supervisado). Con una gran “tasa de aprendizaje”, se dará cuenta rápidamente de que el “pelaje naranja” no es la característica más importante de los gatos. Con una pequeña tasa de aprendizaje, pensará que este gato negro es un caso atípico y que los gatos aún son de color naranja.

Bien, el ejemplo es un poco exagerado. El punto es que una mayor tasa de aprendizaje significa que la red cambia de opinión más rápidamente. Eso puede ser bueno en el caso anterior, pero también puede ser malo. Si la tasa de aprendizaje es demasiado alta, podría comenzar a pensar que todos los gatos son negros a pesar de que ha visto más gatos naranjas que negros.

En general, desea encontrar una tasa de aprendizaje que sea lo suficientemente baja como para que la red converja en algo útil, pero lo suficientemente alta como para no tener que pasar años capacitándola.

Las redes neuronales a menudo se entrenan por el descenso de gradiente en los pesos. Esto significa que en cada iteración usamos la propagación hacia atrás para calcular la derivada de la función de pérdida con respecto a cada peso y restarlo de ese peso.
Sin embargo, si realmente intenta eso, los pesos cambiarán demasiado en cada iteración, lo que los hará “sobrecorregidos” y la pérdida aumentará / divergerá. Entonces, en la práctica, las personas generalmente multiplican cada derivada por un pequeño valor llamado “tasa de aprendizaje” antes de restarlo de su peso correspondiente.

También puede pensar en una función de pérdida de redes neuronales como una superficie, donde cada dirección en la que puede moverse representa el valor de un peso. El descenso de gradiente es como dar saltos en la dirección actual de la pendiente, y la velocidad de aprendizaje es como la longitud del salto que das.

Geoff hinton lo explica mucho mejor aquí: Lección 6.1 – Descripción general del descenso de gradiente de mini lotes

En palabras simples, la tasa de aprendizaje determina qué tan rápido cambian los pesos (en caso de una red neuronal) o los coeficientes (en caso de regresión lineal o regresión logística).

Si c es una función de costo con variables (o pesos) w1, w2 … .wn entonces,

Tomemos un descenso de gradiente estocástico donde cambiemos los pesos muestra por muestra .

Para cada muestra (

w1new = w1 + (tasa de aprendizaje) * (derivada de la función de costo wrt w1)

)

Si la tasa de aprendizaje es demasiado alta, la derivada puede perder el punto de pendiente 0 o la tasa de aprendizaje es demasiado baja, entonces puede llevar una eternidad alcanzar ese punto.

Por lo tanto, debemos determinar esa tasa de aprendizaje equilibrada.

Ahora, otra cosa es que la tasa de aprendizaje puede no ser una constante para todas las capas de una red neuronal, puede ser diferente para diferentes capas, lo que evita el problema de la desaparición del gradiente, es decir, los pesos pueden dejar de cambiar a medida que el cambio de peso se propaga a la primera capa (ya que son multiplicaciones de lotes de derivados y estos derivados alcanzan valores decimales <1 y sus productos son aún más pequeños si observamos un análisis matemático de la propagación hacia atrás de las redes neuronales y, como resultado, el aprendizaje no tendrá lugar y se saturará de forma inmadura. cada capa.

Digamos que nuestra red neuronal se llama Nutan.

El ritmo / velocidad con el que Nutan aprende se llama su tasa de aprendizaje.

Ahora Nutan quiere ser un actor de Bollywood con seis abdominales. Pero Nutan es un niño gordo y tiene que entrenarse desde el paquete familiar hasta el paquete de seis.

Ahora el objetivo aquí es tener un cuerpo perfecto como Hrithik en 3 meses, y la función objetivo es la distancia entre el cuerpo de Nutan y el de Hrithik.

Ahora para minimizar la distancia entre él y el cuerpo de Hrithik , Nutan entrena.

Pero hay una trampa:
Si Nutan entrena más rápido (¡¡¡alto en roids !!! – 3 meses), podría acercarse al cuerpo hrithik ( menos error ), pero después de los próximos 3–4 meses para una nueva asignación, nuevamente tendrá que entrenar como habría perdido su ganancia (alta variabilidad en el nuevo día )

mientras que si entrena más lento, es posible que no se acerque lo suficiente al cuerpo deseado dentro de tres meses ( más error), pero retendrá lo que sea que haya trabajado durante mucho tiempo.

así que la tasa de aprendizaje es una compensación para Nutan, ya que tiene que completar su tarea solo en 3 meses y al mismo tiempo quiere obtener un cuerpo de trozo real

La tasa de aprendizaje se define en el contexto de la optimización y minimiza la función de pérdida de una red neuronal.

Usted define una función de costo para una red neuronal, y el objetivo es minimizar esta función de costo. Para este problema de optimización, utilizamos el descenso de gradiente u otras variantes del mismo donde los parámetros del modelo (aquí los pesos y sesgos en la red) se actualizan de una manera para disminuir la función de costo.

Matemáticamente, si la función de costo (o pérdida) es [matemática] \ matemática {L} (X; W, b) [/ matemática], entonces nuestro objetivo es minimizar [matemática] \ matemática {L} [/ matemática]. Para un problema de optimización convexo como este, utilizamos derivados de la función de pérdida [math] \ nabla \ mathcal {L} [/ math].

Por lo tanto, las actualizaciones de los pesos mdod (similares para sesgos) son

[matemáticas] W: = W – \ eta \ nabla \ mathcal {L} [/ math]

Esta [matemática] \ eta [/ matemática] aquí se denomina tasa de aprendizaje. Determina qué tan rápido o qué tan lento desea actualizar los parámetros. Por lo general, uno puede comenzar con una gran tasa de aprendizaje y disminuir gradualmente la tasa de aprendizaje a medida que avanza la capacitación.