Как супермаски и лишние нейроны решают проблему катастрофического забывания в ИИ

Yannic Kilcher 8,1 тыс. 1 ч 5 мин 07.07.2020
Главное

В новом видео Янник Кильхер (Yannic Kilcher) разбирает научную работу «Supermasks in Superposition» (SupSup), предлагающую инновационный подход к последовательному обучению множеству задач без потери предыдущих знаний. В основе метода лежит использование бинарных масок поверх фиксированной случайной нейросети, что позволяет эффективно масштабировать обучение до тысяч задач и эффективно определять нужную задачу даже без явных подсказок.

🧠 Проблема катастрофического забывания в нейросетях 0:00

Одной из центральных проблем в области непрерывного обучения (lifelong learning) является катастрофическое забывание . Когда модель, обученная на задаче А (например, распознавание CIFAR-10), начинает обучаться задаче Б (например, MNIST), веса нейросети корректируются под новые данные, что приводит к резкой потере точности на первой задаче .

Янник Кильхер отмечает, что теоретически можно было бы обучать модель на всех данных сразу, но в реальности это часто невозможно из-за огромных объемов информации и необходимости постоянной интеграции нового опыта . Существуют два основных сценария при тестировании таких систем:

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

🎭 Сущность «супермасок» и гипотеза лотерейного билета 5:24

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

Ключевые особенности супермаски:

По мнению Янника Кильхера, супермаски работают преимущественно на относительно простых задачах за счет сильной перепараметризации сети . Чем сложнее задача, тем труднее найти подходящую комбинацию случайных весов. Однако для задач классификации изображений этот метод показывает поразительную эффективность. Поскольку маска бинарна (1 бит на вес против 32 бит у стандартного веса float32), модель SupSup позволяет экономить память в десятки раз .

🌌 Суперпозиция: как работать с тысячами задач одновременно 15:10

Когда количество изученных задач исчисляется тысячами, проверка каждой маски по отдельности при инференсе становится слишком долгой . Для решения этой проблемы авторы SupSup ввели понятие суперпозиции.

Вместо последовательного перебора всех масок ($m_i$), они смешиваются в единую взвешенную комбинацию с коэффициентами $\alpha_i$ . Изначально каждый $\alpha$ равен $1/K$, где $K$ — общее число изученных задач. Итоговый выход сети представляет собой «среднее предсказание» всех масок, что само по себе бесполезно, но дает базу для оптимизации .

Для определения правильной задачи используется градиентный спуск по коэффициентам $\alpha$:

  1. Проводится один прямой проход через сеть в состоянии суперпозиции.
  2. Вычисляется энтропия выходного распределения ($H$).
  3. Через обратное распространение ошибки вычисляется градиент энтропии по отношению к коэффициентам $\alpha$ .

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

🔍 Стратегии быстрого поиска маски 20:06

Авторы предлагают несколько алгоритмов для поиска нужной маски в суперпозиции:

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

📊 Экспериментальные результаты: ImageNet и Permuted MNIST 24:19

В экспериментах использовались сложные сценарии разделения данных:

Результаты тестирования:

Особый интерес вызывает сценарий, когда модель не знает о смене задачи даже во время обучения. По словам Янника Кильхера, в этом случае SupSup использует эвристику: если при поступлении новых данных ни одна из существующих масок не дает низкой энтропии (уверенного предсказания), система делает вывод, что это новая задача, и выделяет под нее новую супермаску .

➕ Сверхнормативные нейроны (Superfluous Neurons) 45:17

Один из «секретных ингредиентов» SupSup, который, по мнению Янника Кильхера, критически важен для успеха метода — это добавление лишних нейронов в выходной слой .

Например, для классификации 10 цифр MNIST авторы используют выходной слой из 500 нейронов . Несмотря на то что классов всего 10, эти дополнительные 490 нейронов выполняют роль «детекторов аномалий».

Механизм работы:

  1. Во время обучения задачи $J$ веса корректируются так, чтобы 10 целевых нейронов работали корректно, а остальные 490 всегда «подавлялись» (стремились к низким значениям) .
  2. Если подать на вход данные из другой задачи, для которой эта маска не предназначена, нейронная активация на лишних нейронах начнет «флуктуировать», так как маска не обучена их подавлять для этих данных .
  3. Это приводит к резкому скачку энтропии, что позволяет легко отсеять неверные маски.

Янник Кильхер считает, что этот прием создает своего рода «ловушку» для неверных моделей, заставляя их выдавать высокую неуверенность на чужих данных .

💾 Сжатие в сети Хопфилда 57:52

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

Янник Кильхер резюмирует, что хотя SupSup во многом сводится к обучению множества сжатых моделей, идеи по их автоматическому выбору через суперпозицию и градиенты энтропии открывают интересные перспективы для создания систем действительно непрерывного обучения.

💬 Цитаты

«Супермаска — это бинарная маска, которую вы накладываете на случайно инициализированную сеть, чтобы она работала лучше, чем случайная инициализация.»

Янник Кильхер 00:14

«Вам не нужно хранить всю сеть, достаточно хранить случайное число (seed) для ее генерации — шах и мат.»

Янник Кильхер 29:57
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Катастрофическое забывание
Явление, при котором нейросеть резко теряет навыки решения старых задач при обучении новым.
Супермаска
Бинарный фильтр (0 или 1), отключающий или включающий определенные веса в нейросети.
Энтропия (в ИИ)
Мера неуверенности предсказания модели; высокая энтропия означает, что модель не знает, какой класс выбрать.
Сеть Хопфилда
Тип ассоциативной нейронной сети, способной восстанавливать образ из памяти по его части или зашумленной версии.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Yannic Kilcher SupSup Supermasks Catastrophic forgetting Lottery ticket hypothesis