Специалисты из компании DeepMind и Имперского колледжа Лондона создали алгоритм для обучения глубоких нейросетей, позволяющий им последовательно обучаться новым задачам, сохраняя «память» о предыдущих. Такой подход еще на шаг приблизил искусственные нейронные сети к биологическим, в которых последовательное обучение вместо «замены» старых знаний на новые является одной из ключевых особенностей. Новое исследование опубликовано в , коротко о нем можно прочитать в официальном блоге DeepMind.Глубокие нейросети на сегодняшний день являются одной из наиболее совершенных реализаций методов машинного обучений как в задачах «с учителем» (например, распознавание изображений на основе крупной базы размеченных картинок), так и в задачах обучения с подкреплением (например, игра в го или компьютерные игры). Тем не менее, от биологических аналогов искусственные нейросети все еще сильно отличаются, и одним из таких отличий явлется неспособность запоминать старые навыки при обучении какой-то новой задаче. Эта особенность называется «катастрофической забывчивостью» (catastrophic forgetting), и из-за нее одну и ту же нейросеть, как правило, нельзя последовательно обучить выполнению нескольких задач, так как на каждой новой обучающей выборке все веса нейронов будут переписаны, поэтому с предыдущей задачей такая сеть перестанет справляться.Авторы новой работы предложили способ борьбы с катастрофической забывчивостью, который заключается в том, что наиболее важные веса в нейронной сети при выполнении некой задачи А искусственно делают более устойчивыми к изменению в процессе обучения на задаче Б. Технически это осуществляется следующим образом: каждому весу в нейронной сети (вес определяет, насколько данный нейрон значим для окончательного ответа нейросети) также присваивается параметр F, который определеяет его значимость только в рамках данной задачи (математически F представляет собой диагональный элемент матрицы информации Фишера). Чем больше F для конкретного нейрона, тем сложнее будет изменить его вес при обучении новой задаче, таким образом нейросеть «запоминает» определенные навыки, если они были важны для выполнения предыдущего задания.