Глоссарий

Термин глоссария · · 4 мин чтения

Elastic Weight Consolidation

Модель направляет вопросы клиентов в отделы «доставка» и «возвраты». Теперь она должна научиться распознавать рекламации, но хранить старые сообщения больше нельзя. Значит, повторять их во время обучения не получится. Единственное, что осталось от старой задачи, — сама модель: миллионы чисел, настроенных в ходе прежнего обучения, которые называют весами.

Можно учить модель рекламациям без всяких ограничений. Тогда веса сдвигаются туда, где это помогает новой задаче, — в том числе те, от которых зависело распознавание доставки и возвратов. Можно также штрафовать любое изменение одинаково, но тогда модель держится за старые настройки так крепко, что плохо учится новому. Нужен ответ на вопрос: какие веса можно трогать, а какие лучше не надо?

Elastic Weight Consolidation (EWC) добавляет к обучению новой задаче штраф за отдаление весов от значений после старой задачи, причём штраф тем больше, чем важнее был данный вес для старой задачи. Авторы сравнивают это с пружиной, прикреплённой к каждому весу: жёсткой у важных весов, слабой у остальных (Kirkpatrick et al., Overcoming catastrophic forgetting in neural networks, §2).

Ряд дисков, прикреплённых пружинами к столбикам: диски на толстых жёстких пружинах остаются на месте, а те, что на тонких и слабых, сдвигаются в сторону красного круга.

Два веса, одна новая задача

Возьмём всего два веса. После обучения доставке и возвратам оба равны 1. Первый для старых отделов очень важен (важность 10), второй почти безразличен (важность 0,1). Новая задача требует лишь, чтобы сумма обоих весов равнялась 4. Этому удовлетворяет много настроек: (2, 2), но также и (1, 3).

  • Без защиты обучение сдвигает оба веса поровну, до (2, 2). Новая задача освоена, но важный вес уехал на 1, и потери на старой задаче растут с 0 до 5,05.
  • Одинаковый штраф для обоих весов останавливает их на полпути, на (1,67, 1,67). Старая задача страдает меньше, но сумма равна 3,33 вместо 4.
  • EWC переносит почти всё движение на маловажный вес: (1,02, 2,80). Сумма равна 3,82, а потери на старой задаче — всего 0,16.

Потери — это число, которое говорит, насколько сильно модель ошибается; чем оно меньше, тем лучше. В эксперименте ниже можно менять силу штрафа λ и способ защиты. Результат считается точно для этого примера с двумя весами; это не симуляция настоящей сети.

Как узнать, какой вес важен

В настоящей сети никто не задаёт важность заранее. Её оценивают после завершения старой задачи, пока её данные ещё доступны: проверяют, насколько сильно небольшое изменение данного веса меняет ответы модели на старых примерах. Работа использует для этого диагональ информационной матрицы Фишера, то есть одно число важности на каждый вес. Потом данные можно удалить; остаются старые значения весов и их важности.

Во время нового обучения минимизируется сумма двух слагаемых (уравнение 3 в работе):

L(θ)=LB(θ)+∑iλ2Fi (θi−θA,i∗)2L(\theta) = L_B(\theta) + \sum_i \frac{\lambda}{2} F_i \,(\theta_i - \theta^*_{A,i})^2

LBL_B — потери на новой задаче, θi\theta_i — текущее значение веса номер ii, θA,i∗\theta^*_{A,i} — его значение после старой задачи, FiF_i — его важность, а λ\lambda говорит, насколько старая задача значима по сравнению с новой. В нашем примере F=(10; 0,1)F = (10;\ 0{,}1) и λ=1\lambda = 1.

Границы метода

Важность — это приближение, которое считается в одной точке, отдельно для каждого веса. Сами авторы показывают, что их оценка бывает слишком уверенной в том, какие веса несущественны, и называют это главной слабостью метода (§2.2 и §3). В их экспериментах с играми Atari агент с EWC учился многим играм по очереди, но не сравнялся с отдельными сетями, обученными для каждой игры. Результаты относятся к распознаванию цифр и играм, а не к большим языковым моделям. Наши два веса и сообщения клиентов — собственное упрощение.

  • Catastrophic Forgetting [Polski] — это значительное ухудшение прежних умений после нового обучения; EWC пытается ограничить его без доступа к старым данным.
  • Experience Replay решает ту же проблему иначе: хранит часть старых примеров вместо важностей весов.
  • Continual Learning задаёт цель, то есть обучение новым задачам с сохранением прежних; EWC — один из методов.
  • Fine-tuning [Polski] — это дальнейшее обучение готовой модели; EWC меняет его цель, добавляя штраф за сдвиг важных весов.

Текст и иллюстрация подготовлены с помощью ИИ. Два веса, их важности и демонстрация — собственный упрощённый учебный пример; иллюстрация — метафора, а не схема устройства модели.