Найти тему
Nuances of programming

Машинное забывание: почему забывание важно для ИИ

Источник: Nuances of Programming

Посмотрим правде в глаза: никому не нравится забывать. Все мы расстраиваемся, когда не можем вспомнить, где оставили ключи или как зовут коллегу, с которым вы случайно встретились. Однако забывчивость — это неотъемлемая черта человека: на самом деле, нам повезло, что мы умеем забывать.

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

Чтобы улучшить механизмы машинного обучения, специалисты по ИИ применяют принципы нейробиологии: они убеждены, что человеческий мозг станет ключом к полному пониманию искусственного интеллекта.

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

У забывания есть два преимущества:

  • Оно повышает гибкость: устаревшая информация меньше влияет на наши решения;
  • Оно помогает строить обобщения и не зацикливаться на конкретных событиях прошлого.

Чтобы эффективно подстраиваться под изменяющиеся условия жизни, людям стратегически важно забывать.

А что насчет компьютеров?

В этом заключается одна из самых больших проблем ИИ— компьютеры забывают не так, как люди. Глубинное обучение — это самый успешный метод машинного обучения нейронных сетей. Однако проблема в том, что нейронные сети забывают не так, как мы.

Давайте рассмотрим упрощенный пример. Предположим, что англоговорящий ребенок учится говорить по-испански. Когда он овладеваем родным языком, у него сформировался набор навыков: назовем его «овладение английским языком, как родным». Когда он начинает учить испанский, у него формируется набор навыков под названием «овладение испанским, как иностранным». Не все навыки из первого набора подойдут во втором случае. Формируя второй набор навыков, ребенок вспоминает и начинает применять то, что подходит для испанского. Таким образом, ребенок выучивает испанский, не забывая при этом английского.

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

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

Как научить ИИ забыванию: 3 подхода

# 1. Сети с долгой краткосрочной памятью (LSTM-сети)

LSTM-сети — это такой тип рекуррентных нейронных сетей, в которых используются механизмы обучения, которые решают, какую информацию нужно запомнить, какую — обновить, на какую —  обратить внимание.

Проще всего объяснить работу LSTM-сетей, используя аналогию с фильмами. Представьте, что компьютер пытается предсказать, что произойдет в фильме, анализируя предыдущие сцены. В одной сцене женщина держит нож — компьютер пытается угадать, шеф-повар она или убийца? Или, например, мужчина и женщина едят суши под золотой аркой — они в Японии или в Макдональдсе? А может в Сент-Луисе?

Это довольно сложная задача.

LSTM-сети помогают нейронной сети 1) забывать и запоминать, 2) сохранять и 3) сосредотачиваться:

  • Забывать и запоминать: «Если сцена заканчивается, нейросеть должна забыть текущее место действия, время суток и всю специфическую для этой сцены информацию. Но если кто-нибудь из персонажей умирает в этой сцене, она должна запомнить, что его больше нет в живых. Таким образом, нейросеть научится различать, что нужно запоминать, а что — нет: когда приходят новые данные, ей нужно решить, запомнит она их или забудет».
  • Сохранять: когда нейросеть видит новое изображение, ей необходимо выяснить, нужно ли сохранять какую-либо информацию об этом изображении. Если в фильме героиня идет мимо рекламного щита — нужно ли запомнить этот рекламный щит или это ненужная информация?
  • Сосредотачиваться: Нам нужно помнить, что у определенной героини есть дети: мы увидим их позже. Однако в сценах, где этой героини нет, нам не нужно сосредотачиваться на этом факте. Не все, что хранится в долгосрочной памяти нейронной сети, важно прямо сейчас. LSTM-сети помогает определить, на чем нужно сосредоточиться прямо сейчас, а что — отложить на потом.

2. Упругое закрепление весов (EWC)

EWC — это алгоритм, созданный в марте 2017 года исследователями из Google. Алгоритм имитирует нейробиологический процесс под названием синаптическая консолидация. Во время синаптической консолидации наш мозг оценивает задачу, вычисляет важность используемых для выполнения этой задачи нейронов и «закрепляет» наиболее важные нейроны. Эти нейроны теперь помечены как важные: теперь они с меньшей вероятностью будут перезаписаны. В нейронных сетях для выполнения задачи тоже используются множественные соединения (похожие на нейроны). Алгоритм EWC помечает некоторые соединения как критически важные, защищая их от перезаписи и забывания.

Исследователи применили алгоритм EWC к нейросети, которая училась играть в игры на приставке Atari. Синяя линия — это стандартный процесс глубинного обучения, а красная и коричневая линии —обучение с помощью алгоритма EWC:

-2

3. Теория бутылочного горлышка

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

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

Сжатие — это эффективный метод забывания. Вполне возможно, что исследователи ИИ будут использовать этот метод, чтобы решать новые задачи и выстраивать новые архитектуры более сильных нейронных сетей.

По мнению Тишби, «самая важная часть обучения — это забывание».

Вполне возможно, что главными ориентирами на пути к умному ИИ станут наш мозг и механизм, благодаря которому мы забываем. Тем не менее, ученым все еще нужно определить, в каком направлении двигаться. 

Читайте нас в телеграмме и vk

Перевод статьи Natalie FrattoMachine Un-Learning: Why Forgetting Might Be the Key to AI