Самоорганизующиеся нейронные клеточные автоматы: как MNIST учится на локальных взаимодействиях
В данном разборе Янник Кильхер (Yannic Kilcher) анализирует исследовательскую работу, посвященную принципиально новому подходу к классификации изображений с использованием нейронных клеточных автоматов (Neural Cellular Automata, NCA). В отличие от классических нейронных сетей, где глобальное решение принимается за один проход, здесь система состоит из множества независимых «клеток», которые общаются с соседями, постепенно приходя к консенсусу относительно того, какая цифра изображена. Авторы работы — Этторе Рандаццо (Ettore Randazzo), Александр Мортвинцев (Alexander Mordvintsev), Эдвин Николсон (Edwin Nicholson), Иван Николсон (Ivan Nicholson), Майкл Левин (Michael Levin) и Сэм Грэдинес (Sam Gradiness).
🧠 Принцип работы нейронных клеточных автоматов 3:16
В основе метода лежит концепция, при которой каждый пиксель изображения является отдельной ячейкой, соединенной только со своими ближайшими соседями. Система не обладает «всезнающим» взглядом на всё изображение сразу, а полагается на локальное сообщение (message passing).
- Состояние ячейки: Каждая клетка имеет внутреннее состояние, включающее 10 слотов (по одному на каждый класс цифр от 0 до 9) и дополнительные скрытые переменные.
- Локальное взаимодействие: В каждом цикле ячейка анализирует свое состояние и данные соседей, обновляя собственные значения.
- Глобальный консенсус: Благодаря тому, что информация о «соседе» или «наличии изгиба» передается по цепочке, соседние клетки объединяют локальные признаки (углы, изгибы) в глобальное понимание целого объекта.
По мнению Кильхера, этот процесс напоминает биологические системы, где клетки организма следуют одним и тем же локальным правилам, но в совокупности создают сложную анатомическую структуру.
⚙️ Математика обновления: свертка как алгоритм коммуникации 10:09
Техническая реализация этого процесса использует идеи, характерные для сверточных нейронных сетей, но с важными отличиями.
- Свертка: Для обновления состояний всех клеток одновременно используется одно и то же сверточное ядро (convolutional kernel).
- Рекуррентность: Это по сути рекуррентная нейронная сеть, где один и тот же оператор применяется многократно, имитируя процесс «жизни» и общения клеток.
- Статичность: В отличие от предыдущих работ по NCA, в данной модели позиции «живых» (закрашенных) и «мертвых» (пустых) клеток статичны и не меняются в процессе классификации.
📉 Проблема «взрывающихся» градиентов при Softmax 19:31
В ходе экспериментов исследователи столкнулись с феноменом, когда средняя точность и уверенность системы в классификации начинали деградировать при длительной работе сети. Кильхер подробно объясняет причину:
- Гипотеза: Проблема кроется в использовании стандартной функции потерь Cross Entropy в связке с оператором Softmax.
- Механизм: Softmax нормализует выходы (логиты), делая их никогда не равными нулю. Потери заставляют сеть постоянно «давить» на правильный класс, повышая значение логита, и «опускать» остальные.
- Результат: При бесконечном повторении этого цикла в рекуррентной сети числовые значения состояний ячеек начинают неконтролируемо расти (взрываться), что приводит к потере стабильности.
Для решения этой проблемы авторы предложили заменить Cross Entropy на L2-loss (сравнение расстояний) и добавить шум в обновления, чтобы поддерживать систему в состоянии «готовности к изменениям».
📊 Выводы и перспективы 28:46
Янник Кильхер отмечает, что модель демонстрирует высокую устойчивость к «внераспределительным» (out-of-distribution) данным. Если подать системе форму, которая не является цифрой MNIST, клетки начинают «спорить» друг с другом, не приходя к единому консенсусу, что является отличным индикатором неопределенности.
- Эффективность: Модель крайне эффективна с точки зрения параметров (parameter efficient) и не требует огромных вычислительных мощностей.
- Формат: Кильхер высоко оценивает интерактивный формат публикации исследования (Distill Pub), называя его будущим научной коммуникации, которое заменяет скучные статические PDF-отчеты.