Рубрика Технологии

Глубокую нейросеть научили «помнить» прошлый опыт

Британские ученые разработали компьютерный алгоритм, который позволяет искусственным нейросетям обучаться, сохраняя «память» о предыдущем опыте. Подробности исследования представлены в журнале Proceedings of National Academy of Sciences (PNAS).

В настоящее время глубокие искусственные нейросети являются одним из наиболее перспективных вариантов реализации машинного обучения. Так, алгоритмы, обученные подобным образом, лучше других справляются с распознаванием изображений и освоением настольных игр. Тем не менее, они по-прежнему значительно уступают биологическим аналогам: в частности, глубокие нейросети не способны сохранять приобретенные ранее навыки при обучении новым задачам. Этот феномен, получивший название «катастрофической забывчивости» (catastrophic forgetting), делает невозможным последовательную тренировку одной и той же нейросети на нескольких задачах.

 

Чтобы восполнить пробел, ученые из Имперского колледжа Лондона и компании DeepMind предложили использовать метод, который позволяет искусственно повышать устойчивость ключевых весов для первой задачи при обучении второй. Технически это осуществляется так: при последовательном обучении нейросети каждому весу (он определяет, насколько тот или иной нейрон значим для ответа системы) дополнительно присваивается параметр F, определяющий его значимость только для определенной задачи. При этом значение F прямо пропорционально устойчивости веса к изменениям. Таким образом, алгоритм сохраняет «память» о самых важных навыках, приобретенных прежде.

 

Принцип работы алгоритма: при обучении задаче B, веса, актуальные для задачи A, блокируются / ©DeepMind

 

Предложенный подход получил название «упругое закрепление весов» (elastic weight consolidation) по аналогии с пружиной, жесткость которой сопоставима с параметром F. В случае нейросети «натяжение» происходит от веса, оптимального для задачи A, к весу, оптимальному для задачи B. В результате функция потерь (энергия пружины) возрастает, и менее значимые веса адаптируются к новой задаче, тогда как важные для предыдущих задач веса, предположительно, остаются неизменными.

 

Испытания алгоритма проводились на двух задачах: обучении с подкреплением и обучении с учителем. В последнем случае нейросеть тренировалась распознавать рукописные цифры, причем авторы последовательно вносили в стимулы искажения, чтобы каждый новый шаг требовал обучения «с нуля». В рамках обучения с подкреплением алгоритм обучался играть в игры приставки Atari 2600, систематически осваивая новые стратегии поведения.

 

Игровые очки, полученные нейросетью при обучении новым методом (красный цвет) и методом градиентного спуска (синий цвет) / ©James Kirkpatrick et al., PNAS, 2017

 

Анализ показал, что алгоритму удалось сохранить «память» о весах, необходимых для выполнения предыдущих задач. В каждом отдельном случае эффективность нейросети снижалась, однако по сумме этапов она демонстрировала хорошие результаты. При обучении методом градиентного спуска, позволяющим стирать веса при тренировке на новой задаче, алгоритм успешно справлялся с выполнением отдельных этапов, но оказался не способен удовлетворительно воспроизвести прошлый опыт.

 

Между тем ученые активно работают над приложением «умных» алгоритмов к практическим задачам. Ранее израильские специалисты начали разработку нейросети для автоматизированной диагностики автомобилей, а их японские коллеги объявили о создании системы, которая может заменить офтальмологов. Кроме того, широкое применение нейросети могут получить в правовой сфере. Так, накануне исследователи обучили компьютерный алгоритм с относительно высокой точностью распознавать преступный умысел человека.