Catastrophic Forgetting
El olvido catastrófico es la pérdida repentina de habilidades anteriores cuando una red neuronal se entrena con datos nuevos. Explica por qué ocurre, ofrece ejemplos y aborda cómo mitigarlo.
El olvido catastrófico, también llamado interferencia catastrófica, es la pérdida repentina de habilidades aprendidas previamente cuando una red neuronal se entrena con datos nuevos que ya no contienen ejemplos de la tarea anterior. El entrenamiento actualiza los mismos pesos del modelo que almacenaban los conocimientos previos, y la nueva función de pérdida no ofrece ningún incentivo para conservarlos. Por eso, la precisión en la tarea original puede desplomarse en unos pocos cientos de actualizaciones. McCloskey y Cohen describieron este efecto en 1989 en redes que aprendían secuencialmente operaciones aritméticas, y sigue siendo el principal obstáculo para el aprendizaje continuo y un riesgo habitual en el ajuste fino.
Por qué se produce el olvido catastrófico#
El conocimiento de una red neuronal está distribuido: cada peso contribuye a muchas salidas, y cada salida depende de muchos pesos. Al entrenar una tarea nueva, los pesos se desplazan en la dirección en la que su pérdida disminuye más rápido, sin que haya ningún término que mida la tarea anterior, por lo que el modelo se aleja de la región en la que funcionaba. La clasificación intensifica este efecto en la capa de salida. Cuando en los datos de entrenamiento solo aparecen clases nuevas, cada paso reduce las puntuaciones de las clases ausentes hasta que el modelo deja de predecirlas. Una red pequeña entrenada primero con dígitos manuscritos del 0 al 4 y después con dígitos del 5 al 9 muestra este fenómeno y cómo reproducir una pequeña muestra de los datos antiguos lo limita:
import torch
from sklearn.datasets import load_digits
torch.manual_seed(0)
X, y = load_digits(return_X_y=True)
X, y = torch.tensor(X / 16, dtype=torch.float32), torch.tensor(y)
train = torch.arange(len(y)) < 1400 # hold out the last 397 images for testing
task_a, task_b, test_a = train & (y < 5), train & (y >= 5), ~train & (y < 5)
replay = task_a & (torch.rand(len(y)) < 0.1) # keep 10% of task A for replay
for name, second_task in [("task B only", task_b), ("task B + 10% replay", task_b | replay)]:
model = torch.nn.Sequential(torch.nn.Linear(64, 64), torch.nn.ReLU(), torch.nn.Linear(64, 10))
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
# Train on digits 0-4 (task A), then on digits 5-9 (task B)
for mask in (task_a, second_task):
for _ in range(200):
loss = torch.nn.functional.cross_entropy(model(X[mask]), y[mask])
optimizer.zero_grad()
loss.backward()
optimizer.step()
accuracy = (model(X[test_a]).argmax(1) == y[test_a]).float().mean()
print(f"{name}: held-out digits 0-4 accuracy {accuracy:.1%}")Tras la tarea A, la red clasifica correctamente el 92,4 % de los 198 dígitos del 0 al 4 reservados para la prueba. Entrenarla solo con dígitos del 5 al 9 reduce esa cifra al 0,0 %, porque el modelo ahora predice únicamente las clases nuevas. Mezclar 66 imágenes de la tarea A reproducidas en la segunda fase mantiene una precisión del 74,7 %.
El olvido catastrófico en la práctica#
- Detección de objetos: Un detector entrenado con peatones y señales de tráfico, y ajustado después solo con imágenes de nuevas señales de obras, deja de detectar peatones. Si algún peatón aparece sin etiquetar en las nuevas imágenes, el modelo aprende activamente a clasificarlo como fondo, lo que acelera el olvido.
- Modelos de lenguaje grandes: Durante el ajuste continuo de instrucciones de LLM de entre 1.000 y 7.000 millones de parámetros, el conocimiento del dominio, el razonamiento y la comprensión lectora se deterioraron, y el olvido se agravó al aumentar el tamaño del modelo en ese intervalo. El ajuste fino de modelos alineados, incluso con datos inocuos, puede debilitar su comportamiento de seguridad.
Olvido catastrófico y términos relacionados#
- Aprendizaje continuo: Campo de investigación que estudia cómo aprender una secuencia de tareas sin olvidar las anteriores. El olvido catastrófico es el problema que aborda.
- Colapso del modelo: Pérdida gradual de calidad y diversidad cuando los modelos se entrenan con datos generados por modelos anteriores, incluso si la tarea es la misma.
- Sobreajuste: Ajuste tan preciso al ruido de los datos de entrenamiento actuales que empeora el rendimiento con datos nuevos de la misma tarea. El olvido supone perder una tarea anterior.
- Desaprendizaje automático: Eliminación deliberada de datos o conocimientos concretos de un modelo entrenado; es el equivalente intencionado del olvido.
- Dilema estabilidad-plasticidad: La compensación entre mantener estable el conocimiento anterior y conservar suficiente plasticidad para aprender tareas nuevas, que cada método de mitigación equilibra de forma distinta.
Cómo reducir el olvido catastrófico#
Las medidas de mitigación se agrupan en tres familias: reproducción, regularización y aislamiento de parámetros. Las restricciones del proyecto suelen determinar cuál conviene aplicar:
- Reproducción: Mezclar ejemplos almacenados de tareas anteriores con el entrenamiento nuevo es la solución más fiable, como muestra el ejemplo de los dígitos. En los detectores YOLO26, los archivos YAML de datos de Ultralytics aceptan una lista de carpetas de imágenes de entrenamiento. Por tanto, reproducir datos consiste en incluir una muestra de las imágenes originales junto a las nuevas, bajo una única lista combinada de clases.
- Regularización: La consolidación elástica de pesos (EWC) penaliza los cambios en cada peso en proporción a su importancia para las tareas anteriores, estimada a partir de la información de Fisher. Learning without Forgetting utiliza en cambio la destilación de conocimiento y entrena el modelo para que siga reproduciendo sus salidas anteriores con los datos nuevos.
- Aislamiento de parámetros: Congelar capas compartidas, añadir cabezales específicos para cada tarea o entrenar adaptadores como LoRA mantiene intactos los pesos originales. En tareas de programación y matemáticas, LoRA aprendió menos que el ajuste fino completo, pero olvidó menos; además, el ajuste fino completo aprendió cambios en los pesos con un rango entre 10 y 100 veces superior al de las configuraciones habituales de LoRA.










