Янник Кильхер о нейронных клеточных автоматах: как MNIST учится через консенсус

Yannic Kilcher 13,7 тыс. 30 мин 3 мин 02.09.2020
Главное

Самоорганизующиеся нейронные клеточные автоматы: как MNIST учится на локальных взаимодействиях

0:01

В данном разборе Янник Кильхер (Yannic Kilcher) анализирует исследовательскую работу, посвященную принципиально новому подходу к классификации изображений с использованием нейронных клеточных автоматов (Neural Cellular Automata, NCA). В отличие от классических нейронных сетей, где глобальное решение принимается за один проход, здесь система состоит из множества независимых «клеток», которые общаются с соседями, постепенно приходя к консенсусу относительно того, какая цифра изображена. Авторы работы — Этторе Рандаццо (Ettore Randazzo), Александр Мортвинцев (Alexander Mordvintsev), Эдвин Николсон (Edwin Nicholson), Иван Николсон (Ivan Nicholson), Майкл Левин (Michael Levin) и Сэм Грэдинес (Sam Gradiness).

🧠 Принцип работы нейронных клеточных автоматов 3:16

В основе метода лежит концепция, при которой каждый пиксель изображения является отдельной ячейкой, соединенной только со своими ближайшими соседями. Система не обладает «всезнающим» взглядом на всё изображение сразу, а полагается на локальное сообщение (message passing).

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

⚙️ Математика обновления: свертка как алгоритм коммуникации 10:09

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

  1. Свертка: Для обновления состояний всех клеток одновременно используется одно и то же сверточное ядро (convolutional kernel).
  2. Рекуррентность: Это по сути рекуррентная нейронная сеть, где один и тот же оператор применяется многократно, имитируя процесс «жизни» и общения клеток.
  3. Статичность: В отличие от предыдущих работ по NCA, в данной модели позиции «живых» (закрашенных) и «мертвых» (пустых) клеток статичны и не меняются в процессе классификации.

📉 Проблема «взрывающихся» градиентов при Softmax 19:31

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

Для решения этой проблемы авторы предложили заменить Cross Entropy на L2-loss (сравнение расстояний) и добавить шум в обновления, чтобы поддерживать систему в состоянии «готовности к изменениям».

📊 Выводы и перспективы 28:46

Янник Кильхер отмечает, что модель демонстрирует высокую устойчивость к «внераспределительным» (out-of-distribution) данным. Если подать системе форму, которая не является цифрой MNIST, клетки начинают «спорить» друг с другом, не приходя к единому консенсусу, что является отличным индикатором неопределенности.

💬 Цитаты

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

Янник Кильхер 0:28

«Это не о SOTA в классификации, это о нейронных клеточных автоматах.»

Янник Кильхер 1:20
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
NCA (Neural Cellular Automata)
Тип вычислительной модели, состоящей из клеток, которые обновляют свои состояния на основе локальных правил.
Softmax
Функция активации, превращающая вектор чисел в распределение вероятностей.
Message Passing
Метод передачи информации между узлами графа (в данном случае — соседними пикселями).
Логиты
Ненормализованные выходы нейронной сети перед применением функций типа Softmax.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект MNIST Neural Cellular Automata Yannic Kilcher Softmax L2 loss