Continual Learning
Модель направляет сообщения клиентов в отделы «заказы» и «возвраты». Она умеет распознать «Где моя посылка?». Теперь компания открывает отдел рекламаций. Ты дообучаешь модель на сообщениях о повреждённых товарах. Рекламации попадают по адресу всё точнее, но часть вопросов о доставке тоже начинает оказываться в новом отделе. Проверка одних только рекламаций дала бы ложное ощущение прогресса.
Тебе нужно учить модель новому, сохраняя прежние умения. Это цель Continual Learning: обучения на данных или задачах, которые поступают последовательно, с учётом того, чему модель научилась раньше. Название обозначает проблему и семейство подходов; оно не гарантирует, что забывания не будет. Такую потребность описывают Kirkpatrick et al., Overcoming catastrophic forgetting in neural networks, §1.

Что мы меняем в обучении и проверке
Допустим, полный архив примеров, на которых модель училась раньше, уже недоступен. Перед его удалением мы сохранили небольшую выборку: 20 сообщений с известными правильными отделами. Один из возможных методов состоит в том, чтобы подмешать эту выборку к новым примерам рекламаций. Благодаря этому дальнейшее обучение получает ещё и сигнал по-прежнему правильно обрабатывать «Где моя посылка?». Повторное использование старых примеров — одна из стратегий, которые описывают van de Ven и Tolias, Three scenarios for continual learning, §3.3.
См. также: Experience Replay — хранение небольшой выборки старых примеров и подмешивание её к новому обучению.
Команда, которая оценивает модель, держит отдельный тест из старых сообщений, который мы не используем для обучения. После каждого обновления мы проверяем и старые, и новые категории. Числа ниже — выдуманный пример, а не результат исследования; в каждом тесте 100 сообщений.
| Вариант модели | Правильные старые сообщения | Правильные рекламации |
|---|---|---|
| До нового обучения | 90/100 | 0/100 — такой категории нет |
| После обучения только на рекламациях | 40/100 | 92/100 |
| После обучения с выборкой старых сообщений | 89/100 | 87/100 |
Последний вариант лучше сохраняет прежнее умение, хотя распознаёт рекламации слабее, чем второй. Таблица показывает, что сравнивать; она не обещает такого результата после добавления 20 примеров.
Условия меняют сложность
В нашем примере модель сама выбирает среди всех известных ей отделов. Подсказка «это сообщение из новой категории» облегчила бы тест. Доступность таких подсказок и границ между задачами важна при сравнении методов (van de Ven и Tolias, §2–2.3). Небольшая выборка может упустить редкие вопросы; хорошее среднее не доказывает, что сохранилось каждое умение.
- Catastrophic Forgetting [Polski] описывает значительное ухудшение старых умений; его демонстрация показывает, как новое обучение меняет общие настройки.
- Fine-tuning [Polski] — это дальнейшее обучение модели на отобранных примерах. После очередных тренировок мы проверяем и прежние способности.
- Knowledge Distillation [Polski] может передавать подсказки от старой модели к обновляемой; это другая стратегия, чем хранение исходных сообщений (§3.3 работы van de Ven и Tolias).
Текст и иллюстрация подготовлены с помощью ИИ; сообщения, размер выборки и результаты в таблице — собственный учебный пример. Иллюстрация показывает цель — сохранение прежних умений, а не устройство модели.