¿Qué causa las caídas repentinas en los errores de entrenamiento / prueba al entrenar una red neuronal?

18

He visto tramas de error de prueba / entrenamiento que caen repentinamente en ciertas épocas varias veces durante el entrenamiento de la red neuronal, y me pregunto qué causa estos saltos de rendimiento:

Error de prueba de ResNet

Esta imagen está tomada de Kaiming He Github, pero en muchos periódicos aparecen tramas similares.

libphy
fuente
Un artículo relacionado: Smith et al. 2018 No disminuya la tasa de aprendizaje, aumente el
ameba

Respuestas:

7

Cambiaron la tasa de aprendizaje. Tenga en cuenta que la caída es exactamente en 30 y 60 épocas, obviamente establecida por alguien.

cwhy
fuente
En la sección 3.4, explica que la tasa de aprendizaje se divide por 10 cuando el error se
estabiliza
2

Piense en el "panorama de optimización". Por ejemplo, si tuviera una red con solo dos pesos, podría trazar todas las combinaciones de estos dos pesos en una superficie, donde la altura en cada punto representa la cantidad de error que devuelve su función de costo si usa eso (x, y ) coordine como sus dos pesas. Está intentando moverse al punto más bajo de esta superficie para obtener el nivel más bajo de error.
El problema a veces es que la superficie puede volverse bastante loca, especialmente en redes con millones de parámetros en lugar de solo dos. Puede atascarse en puntos de silla de montar donde el progreso se ralentiza, y luego de repente se tira de la honda de regreso a una colina hacia abajo.
Aquí hay una animación para ayudar a visualizar esto. Como puede ver, los algoritmos de descenso de gradiente más básicos se atascan en estas posiciones mucho más fácilmente.
ingrese la descripción de la imagen aquí

Puede haber otras causas para esto también, pero esta es la que escucha con más frecuencia. Es posible que una red pueda tener un montón de unidades que obtienen activaciones saturadas (o en el caso de relu, una unidad que solo se activa mediante un número muy pequeño de entradas de entrenamiento), y cuando una unidad se sale de la saturación ¿desencadena una reacción en cadena que mueve el resto fuera de la saturación y los pesos de repente reciben un impulso del flujo de gradiente? No he investigado algo así, pero me interesaría si alguien tiene otras razones para agregar.

Frobot
fuente
1
-1. Esto no responde a la pregunta, o al menos no está claro cómo lo hace, y por qué lo que escribió es relevante. ¿Por qué la disminución de la tasa de aprendizaje sacaría a uno de un punto de silla de montar?
ameba
Ni siquiera está claro que la animación sea correcta de todos modos, ya que SGD, por definición, ve una superficie de optimización diferente con cada iteración. En este gráfico, la superficie de optimización es fija, por lo que no me queda claro cómo es posible ilustrar SGD aquí de todos modos. El "punto" SGD se comporta más como un descenso de gradiente de lote completo, en el que la superficie de optimización se fija durante todo el proceso de entrenamiento.
Josh