El olvido catastrófico y el aprendizaje continuo
Enseña algo nuevo a una red neuronal y tiende a olvidar lo que sabía. Este problema tenaz explica por qué los modelos aprenden en grandes lotes, no en flujo.
Los humanos aprenden de forma continua. Puedes adquirir una nueva habilidad el lunes sin borrar lo que aprendiste el domingo, y acumulas conocimiento a lo largo de la vida en un flujo constante. Las redes neuronales, frustrantemente, no funcionan así por defecto. Entrena una en una tarea nueva y tiene una fuerte tendencia a sobrescribir lo que sabía antes, a veces casi por completo. Este fenómeno tiene un nombre dramático y certero: olvido catastrófico. Es uno de los problemas más viejos y tenaces del aprendizaje automático, y explica mucho sobre por qué los modelos se construyen como se construyen.
El sueño que obstaculiza es el aprendizaje continuo: un modelo que sigue aprendiendo con el tiempo, absorbiendo nuevas tareas y conocimiento sin perder lo viejo. No hemos llegado ahí, y entender por qué es genuinamente esclarecedor sobre cómo funcionan estos sistemas.
Qué aspecto tiene el olvido
Imagina una red entrenada para hacer bien la tarea A. Ahora entrenas esa misma red en una nueva tarea B, mostrándole solo los datos de B. Aprende B, y su rendimiento en A se desploma, a menudo de forma abrupta. El conocimiento de A no se aparta con cuidado; se sobrescribe. La red no ha aprendido A y B. Se ha convertido, en efecto, en una red de B que solía ser una red de A.
La palabra "catastrófico" está justificada. La caída no es suave y elegante; puede ser un precipicio. Un modelo que era excelente en la primera tarea puede volverse casi inútil en ella tras aprender la segunda, aunque nada intentara activamente borrar la primera habilidad. El olvido es un efecto secundario del aprendizaje, no un evento aparte.
Por qué sucede
La causa está incorporada en cómo las redes neuronales almacenan el conocimiento, y verla hace que el comportamiento se sienta inevitable en lugar de misterioso.
Una red no archiva cada habilidad en su propio cajón. El conocimiento se almacena en los pesos de la red —sus fuerzas de conexión— y está distribuido y compartido: los mismos pesos participan en muchas tareas a la vez. No hay un compartimento limpio que contenga "la tarea A" que aprender la tarea B pudiera dejar intacto.
El entrenamiento ajusta los pesos para reducir el error en los datos que esté viendo en ese momento. Cuando esos datos son todos de la tarea B, la optimización mueve alegremente los pesos adondequiera que el error de B los quiera, sin conciencia de que algunos de esos pesos estaban cuidadosamente posicionados para la tarea A. Los mismísimos pesos que codificaban A son reaprovechados para B porque, desde el punto de vista estrecho de B, eran solo números a ajustar. Nada en el entrenamiento ordinario tiene memoria de, ni lealtad a, lo que vino antes. El olvido es lo que obtienes cuando optimizas para el presente y el pasado no está en la sala.
Por qué normalmente lo esquivamos
Si este problema es tan fundamental, ¿por qué los modelos entrenados funcionan en absoluto? Porque la receta estándar lo esquiva en silencio. Los modelos suelen entrenarse con todo a la vez, en lotes barajados que mezclan todas las tareas y todos los datos a lo largo del entrenamiento. Cuando cada lote contiene una mezcla representativa de todo lo que el modelo debería saber, la optimización recibe recordatorios constantes de todas las tareas simultáneamente y se asienta en pesos que sirven a todas.
En otras palabras, la respuesta habitual al olvido catastrófico es no aprender nunca las cosas una tras otra en primer lugar. Mézclalo todo y entrena en una gran pasada. Esto funciona de maravilla y es por lo que es el valor por defecto, pero también es un apaño, no una solución. Requiere tener todos los datos disponibles juntos, por adelantado. En el momento en que quieras añadir algo nuevo después del entrenamiento, sin reentrenar sobre todo desde cero, el problema regresa con fuerza.
Dónde muerde en la práctica
El olvido catastrófico no es una pieza de museo; moldea decisiones reales.
- Deriva por ajuste fino. Toma un modelo ampliamente capaz y ajústalo a fondo en una tarea estrecha, y puede perder parte de su capacidad general, mejorando en lo nuevo mientras empeora en silencio en cosas que antes hacía. Esto es olvido en miniatura, y es por lo que la especialización intensa conlleva un coste.
- Actualizar un modelo desplegado. Te encantaría enseñar a un modelo en producción nueva información entrenándolo un poco con el material nuevo. Pero el entrenamiento incremental ingenuo arriesga degradar todo lo demás, y por eso los equipos son cautos al actualizar pesos in situ.
- El coste de reaprender. Como el camino seguro suele ser reentrenar con la mezcla completa, añadir conocimiento puede significar rehacer un entrenamiento caro en lugar de añadir baratamente la parte nueva.
La conclusión práctica es que "solo entrénalo un poco más con lo nuevo" rara vez es tan seguro como suena.
Enfoques para el aprendizaje continuo
Hay toda un área de investigación dedicada a lograr que los modelos aprendan de forma secuencial sin olvidar. Las estrategias caen en unas pocas familias intuitivas.
- Repaso (rehearsal). Conserva algo de datos viejos y mézclalos en el nuevo entrenamiento, para que al modelo se le recuerde el pasado mientras aprende el presente. Es la idea más fiable y ataca directamente la causa del "pasado no está en la sala", pero requiere almacenar y revisitar datos viejos.
- Proteger los pesos importantes. Identifica qué pesos importan más para las tareas viejas y desalienta que el entrenamiento los cambie mucho, dejando que el resto se mueva libremente para la tarea nueva. El objetivo es actualizar la red donde es seguro y pisar con cuidado donde reside el conocimiento viejo.
- Añadir nueva capacidad. En lugar de sobrescribir pesos compartidos, dale a la tarea nueva sus propios parámetros frescos dejando los viejos intactos. Esto esquiva la interferencia pero hace crecer el modelo y puede fragmentar lo que debería ser conocimiento compartido.
Ninguno de estos resuelve por completo el problema. Cada uno intercambia algo —almacenamiento, flexibilidad, tamaño o simplicidad— para recuperar algo de memoria. El hecho de que no haya surgido un ganador limpio es en sí mismo señal de cuán profundo es el asunto.
Por qué esto es fundamentalmente difícil
Bajo las técnicas yace una tensión genuina, a veces planteada como estabilidad frente a plasticidad. Un sistema de aprendizaje necesita ser lo bastante plástico para absorber cosas nuevas y lo bastante estable para retener las viejas. Empuja hacia la plasticidad y olvidas. Empuja hacia la estabilidad y no puedes aprender nada nuevo. Cada método de aprendizaje continuo es en realidad solo un compromiso particular en este espectro, y no hay almuerzo gratis que te dé ambas a la vez. Los cerebros biológicos parecen alcanzar un equilibrio que aún no sabemos reproducir en redes artificiales, lo cual es parte de por qué el problema sigue abierto.
En resumen
El olvido catastrófico es la tendencia de una red neuronal a sobrescribir el conocimiento viejo cuando aprende algo nuevo, y sucede porque el conocimiento vive en pesos compartidos y distribuidos que el entrenamiento ordinario reaprovecha alegremente sin memoria de lo que solían codificar. El campo lo evita en su mayoría entrenando con todo a la vez en lugar de en secuencia, un apaño que se rompe en el momento en que quieres añadir conocimiento después. El aprendizaje continuo es la búsqueda abierta de superar esto, y cada enfoque es un compromiso sobre la tensión profunda entre permanecer lo bastante estable para recordar y lo bastante plástico para aprender. Hasta que esa tensión se resuelva, "solo enséñale lo nuevo" sigue siendo una de las peticiones más espinosas del aprendizaje automático.
