Ученые Калифорнийского университета в Сан-Диего решили проблему катастрофического забывания нейронных сетей, когда обучение новой задаче приводит к потере способности сети выполнять предыдущую задачу.
Для этого исследователи создали сеть, которая имитирует активность биологического мозга в состоянии сна. Результаты научной работы опубликованы в журнале PLOS: Computational Biology.
Исследователи разработали импульсную (спайковую) нейронную сеть (ИмНС), которая отличается от традиционных искусственных нейронных сетей тем, что в ней реализован принцип распространения нервных импульсов в биологическом мозге. Сеть состояла из 842 смоделированных спайковых нейронов, организованных в три слоя: входной (7х7), скрытый (28х28) и выходной (3х3). Первый слой был эквивалентен нижнему уровню зрительной системы, второй — ассоциативной коре, а выходной слой играл роль моторной коры.
Нейронную сеть «помещали» в виртуальную среду, состоящей из сетки 50х50 пикселей со случайно распределенными частицами пищи длиной два пикселя четырех типов: горизонтальный, вертикальный, а также диагональ с положительным или отрицательным наклоном. Виртуальный агент мог видеть только сетку 7х7, что соответствовало размеру его входного слоя. Самый активный нейрон моторной коры определял направление движения агента.
В первой задаче виртуальный агент должен был перемещаться в место с горизонтальным паттерном «еда», а во второй задаче — с вертикальным. Внутри трехслойного «мозга» виртуального агента реализовывалась пластичность, зависящая от времени спайка — если конкретный входной сигнал, получаемый нейроном, не является непосредственной причиной выходного сигнала и происходит до него, то этот вход ослабляется, а в ином случае усиливается. Агент «наказывался», то есть сила синапсов, участвующих в принятии решения, ослаблялась, если он попадал на клетку с диагональным паттерном, а в целях ускорения поиска агент получал незначительное наказание, если попадал на пустую клетку.
Таким образом, пластичность между первым и вторым слоем позволяла агенту самостоятельно изучать различные паттерны в различных пространственных положениях «поля зрения», соответствующего первому слою нейронов, а пластичность между вторым и третьим зависела от вознаграждения и позволяла ему принимать решения, куда перемещаться, в зависимости от паттернов и их расположения. Чтобы имитировать фазу сна, у агента деактивировали входной слой сети, а активность выходного слоя отделяли от двигательного контроля. Нейронам скрытого слоя задавали шум, так чтобы частоты спайков были аналогичны тем, что наблюдались во время бодрствования.
Наивный агент двигался случайным образом через окружающую среду, но после обучения выполнению задачи стал искать горизонтальные паттерны. После обучения второй задачи, эффективность поиска горизонтальных паттернов значительно снизилась. Однако в испытаниях с фазой сна, которая наступала после короткого периода обучения второй задаче, эффективность выполнения обоих задач оказалась одинаково высокой. Сон позволял спонтанно усиливать синапсы, которые ранее принимали участие в принятии решения, предотвращая катастрофическое забывание.