¿Las redes neuronales son propensas al olvido catastrófico?

38

Imagine que muestra una red neuronal una imagen de un león 100 veces y la etiqueta con "peligroso", para que aprenda que los leones son peligrosos.

Ahora imagine que anteriormente le mostró millones de imágenes de leones y, alternativamente, lo etiquetó como "peligroso" y "no peligroso", de modo que la probabilidad de que un león sea peligroso es del 50%.

Pero esas últimas 100 veces han llevado a la red neuronal a ser muy positiva al considerar al león como "peligroso", ignorando así el último millón de lecciones.

Por lo tanto, parece que hay una falla en las redes neuronales, en el sentido de que pueden cambiar de opinión demasiado rápido según la evidencia reciente. Especialmente si esa evidencia previa estaba en el medio.

¿Existe un modelo de red neuronal que haga un seguimiento de cuánta evidencia ha visto? (¿O sería esto equivalente a dejar que la tasa de aprendizaje disminuya en donde es el número de ensayos?)1/ /TT

Zooby
fuente
Estoy hablando de aprendizaje supervisado donde el usuario le dice a NN que el león es peligroso.
Zooby
Sin embargo, esto también les sucede a las personas. Es realmente aterrador cuán fácil puede uno "desaprender" que algo es peligroso después de hacerlo varias veces sin consecuencias, lo cual es casi igual al escenario que ha descrito con AI.
Tomáš Zato - Restablece a Mónica el
2
Marcado como demasiado ancho. Esto depende demasiado de las técnicas de reconocimiento que utiliza la red. Obviamente, claro, en algunos casos la red se "olvidará" pero en otros casos no lo hará. Debe quedar extremadamente claro que cualquier respuesta a esta pregunta debe comenzar y terminar con "Depende".
8protones
3
Para ser justos, esta es una de esas ofertas tipo "elige tu veneno". Un NN que favorezca las experiencias recientes sobre las históricas es propenso a ignorar el pasado, pero puede responder a los desarrollos recientes. Por ejemplo, supongamos que todos los leones se vuelven repentinamente asesinos de la noche a la mañana, luego su NN que favorece las experiencias recientes será mucho más rápido para detectar la nueva amenaza, a diferencia de la NN más lenta que básicamente dice "los leones no siempre fueron peligrosos en el pasado, yo concluya que no está sucediendo nada nuevo "hasta que los leones hayan sido 100% peligrosos durante más tiempo del que quisiera (y muchas muertes humanas después)
Flater
1
Además, AGI tendría una ponderación de error relevante: los dos errores no son igualmente malos en el resultado.
MSalters

Respuestas:

39

Sí, de hecho, las redes neuronales son muy propensas al olvido catastrófico (o interferencia) . Actualmente, este problema a menudo se ignora porque las redes neuronales se entrenan principalmente fuera de línea (a veces llamado entrenamiento por lotes ), donde este problema no suele surgir, y no en línea o de forma incremental , lo cual es fundamental para el desarrollo de la inteligencia artificial general .

Hay algunas personas que trabajan en el aprendizaje continuo a lo largo de la vida en redes neuronales, que intenta adaptar las redes neuronales al aprendizaje continuo a lo largo de toda la vida, que es la capacidad de un modelo para aprender continuamente de un flujo de datos, de modo que no olviden por completo lo adquirido previamente. conocimiento mientras aprende nueva información. Véase, por ejemplo, el documento Aprendizaje continuo a lo largo de toda la vida con redes neuronales: una revisión (2019), por German I. Parisi, Ronald Kemker, Jose L. Part, Christopher Kanan, Stefan Wermter, que resume los problemas y las soluciones existentes relacionadas con catástrofes olvido de las redes neuronales.

nbro
fuente
1
¡Gracias! Leeré el artículo que sugiera.
zooby
77
¿Fue la infame corrupción del chatbot "Tay" de Microsoft un ejemplo de olvido catastrófico?
No U
44
@TKK ¡Creo que esta sería una buena pregunta nueva en el sitio web!
nbro
2
@TKK ¿Lo vas a preguntar ? Si no, ¿podría alguien más hacerlo? Realmente quiero saber la respuesta.
wizzwizz4
3
Estoy bastante seguro de que la frase "Hay algunas personas que trabajan en el aprendizaje continuo a lo largo de la vida en redes neuronales, que intenta adaptar las redes neuronales al aprendizaje continuo a lo largo de toda la vida" fue escrita por una red neuronal.
Moyli
16

Sí, el problema de olvidar ejemplos de entrenamiento anteriores es una característica de las redes neuronales. Sin embargo, no lo llamaría un "defecto" porque les ayuda a ser más adaptables y permite aplicaciones interesantes como el aprendizaje por transferencia (si una red recordara demasiado bien el entrenamiento anterior, no tendría sentido ajustarlo a los nuevos datos).

En la práctica, lo que quiere hacer es mezclar los ejemplos de entrenamiento para peligroso y no peligroso para que no vea una categoría al principio y otra al final.

Un procedimiento de entrenamiento estándar funcionaría así:

for e in epochs:
    shuffle dataset
    for x_batch, y_batch in dataset:
        train neural_network on x_batxh, y_batch

Tenga en cuenta que la combinación aleatoria en cada época garantiza que la red no verá los mismos ejemplos de entrenamiento en el mismo orden en cada época y que las clases se mezclarán

Ahora, para responder a su pregunta, sí, disminuir la tasa de aprendizaje haría que la red sea menos propensa a olvidar su entrenamiento anterior, pero ¿cómo funcionaría esto en un entorno no en línea? Para que una red converja, necesita varias épocas de capacitación (es decir, ver cada muestra en el conjunto de datos muchas veces).

Djib2011
fuente
4

Lo que está describiendo parece que podría ser un caso deliberado de ajuste .

Hay una suposición fundamental que hace que el descenso del gradiente de minibatch funcione para problemas de aprendizaje: se supone que cualquier lote o ventana temporal de lotes consecutivos forma una aproximación decente del verdadero globalgradiente de la función de error con respecto a cualquier parametrización del modelo. Si la superficie de error en sí misma se está moviendo a lo grande, eso frustraría los propósitos del descenso de gradiente, ya que el descenso de gradiente es un algoritmo de refinamiento local, todas las apuestas se cancelan cuando cambia repentinamente la distribución subyacente. En el ejemplo que citó, el olvido catastrófico parece que sería un efecto secundario de haber "olvidado" los puntos de datos vistos anteriormente, y es un síntoma de que la distribución ha cambiado o de una representación insuficiente en los datos de algún fenómeno importante. , de modo que rara vez se ve en relación con su importancia

La repetición de la experiencia del aprendizaje por refuerzo es un concepto relevante que se transfiere bien a este dominio. Aquí hay un artículo que explora este concepto con respecto al olvido catastrófico. Mientras el muestreo represente los gradientes verdaderos suficientemente bien (mire el equilibrio de la muestra de entrenamiento para esto) y el modelo tenga suficientes parámetros, es poco probable que ocurra el catastrófico problema de olvido. En conjuntos de datos aleatoriamente aleatorios con reemplazo, es más probable que ocurra donde los puntos de datos de una clase en particular son tan raros que es poco probable que se incluyan durante mucho tiempo durante el entrenamiento, ajustando efectivamente el modelo a un problema diferente hasta que una muestra coincidente Es visto de nuevo.

pygosceles
fuente
1

Para responder a su pregunta, diría: tal vez en teoría, pero no en la práctica.


El problema es que solo considera un entrenamiento cronológico / secuencial.

Solo una vez he usado un método de capacitación secuencial que se llama capacitación en línea o aprendizaje automático en línea . Eso estaba usando la biblioteca Woppal Wabbit . Es una característica (no un problema como usted considera) de esta biblioteca para adaptarse cronológicamente a la entrada con la que se alimenta.

Yo insisto : en el caso de que la biblioteca Woppal Wabbit, es una característica de adaptarse cronológicamente. Se desea que cuando empiezas a decirle que los leones son peligrosos, que se adapte en consecuencia.


Pero en todos los demás casos, desde ejercicios de cursos hasta competencias de kaggle, he usado un subconjunto aleatorio de mis datos de entrada como conjunto de entrenamiento. Y esto es realmente crucial :

Es una parte importante del aprendizaje automático que se llama validación cruzada . Es la forma de estimar cuán buena es realmente la Red neuronal entrenada.

Para tener una buena estimación de la validez de su red neuronal, toma un subconjunto aleatorio de sus datos de entrenamiento, en resumen, toma algo como el 80% de sus datos para el entrenamiento, y con el 20% restante evalúa con qué frecuencia Red neuronal entrenada da buenas predicciones.

Y uno tampoco puede simplemente desaparecer sin la validación cruzada, debido a la necesidad de detectar el sobreajuste (que es otra preocupación).

Puede parecer un posible problema teórico, pero tiendo a decir que el uso actual de métodos de validación cruzada hace que su preocupación sea irrelevante.

Stephane Rolland
fuente