Взлом нейронных клеточных автоматов: атака 1% клеток
Система из тысяч агентов пришла к консенсусу. Все проверили соседей, обменялись сигналами, сошлись во мнении. И всё это мнение: ложь, которую им внушила горсть захватчиков, составляющая один процент от численности коллектива. Это не сюжет политического триллера, а результат эксперимента Google Research, опубликованного в Distill: adversarial-перепрограммирование нейронных клеточных автоматов.
Нейронный клеточный автомат (Neural Cellular Automaton, NCA) это вычислительная модель, в которой простые клетки с общим набором правил самоорганизуются в сложные структуры. Каждая клетка видит только себя и восемь ближайших соседей, хранит внутренний вектор состояния из 16 чисел и обменивается сигналами с окружением. Из таких локальных взаимодействий вырастает глобальное поведение: автомат может вырастить из одной клетки изображение ящерки и отрегенерировать её после повреждения, или коллективно классифицировать рукописную цифру, чьей формой является сам коллектив. Работы 2020 года показали, что такие системы обучаются end-to-end через дифференцирование и демонстрируют поразительную устойчивость к повреждениям.
Новая работа задаёт неудобный вопрос: если система построена на доверии к сигналам соседей, что происходит, когда часть этих сигналов врёт?
Зачем вообще атаковать клеточный автомат
Мотивация исследования выходит далеко за рамки машинного обучения. Биология давно перешла от вопроса «как система устроена» к вопросу «какой информации достаточно, чтобы изменить её поведение». Вирусы перехватывают генетические потоки клетки, бактерии управляют физиологией хозяина, грибы и токсоплазма модифицируют поведение заражённых организмов. Особенно показательны случаи из биологии развития: биоэлектрически аномальные клетки запускают метастазирование в организме без единого генетического дефекта, а коррекция биоэлектрического состояния в одной области тела подавляет опухолевый процесс на другом его конце.
Регенеративная медицина будущего не сможет микроменеджить каждую клетку. Ей нужны вычислительные инструменты для поиска минимальных вмешательств, которые предсказуемо меняют поведение системы целиком. NCA дают количественную модель именно такой задачи: здесь можно честно обучить захватчиков и измерить, сколько их нужно и какие стратегии они изобретут.
Поведение системы определяется тремя уровнями: состояниями отдельных клеток (память и канал связи), параметрами модели (общие правила, одинаковые для всех клеток одного семейства) и полем восприятия (как клетка видит соседей). Воздействие на любой из уровней меняет систему целиком. Авторы исследуют два типа атак: инъекцию враждебных клеток с другими параметрами и глобальное возмущение состояний всех клеток сразу.
Атака первого типа: враждебные клетки в коллективе
Первая мишень: автомат, классифицирующий цифры MNIST. Клетки выкладываются в форму рукописной цифры и должны прийти к единогласному мнению, какую цифру они изображают. Модель обучена так, что консенсус постоянно пересматривается: если цифру под ними изменят, клетки обязаны переклассифицироваться.
Задача захватчиков: заставить коллектив всегда отвечать «восемь», независимо от реальной формы. Оригинальную модель замораживают. Рядом обучают adversarial-модель с той же архитектурой, но случайной инициализацией, причём на каждом шаге лишь 10% клеток работают по правилам захватчиков. Параметры честных клеток неизменны: атаковать можно только через состояния, то есть через канал межклеточной коммуникации.
Результат обескураживает своей простотой. Атака сходится за 2000 шагов обучения, тогда как исходная модель требовала на два порядка больше. Более того, хотя тренировка шла при 10% захватчиков, на практике достаточно одного процента. Одна враждебная клетка на сотню честных, и коллектив уверенно классифицирует тройку как восьмёрку.
Захватчикам приходится постоянно работать. Если убрать их через 200 шагов, большинство коллективов самокорректируются и возвращаются к правильному ответу, хотя часть так и остаётся в заблуждении. Это значит, что обман не является стабильным состоянием: ложь нужно непрерывно поддерживать, подпитывая соседей дезинформацией, которую те добросовестно ретранслируют дальше. Ничего не напоминает?
Почему растущий автомат оказался крепким орешком
Вторая мишень: знаменитый Growing CA, выращивающий ящерку из одной клетки. Цели атаки: ящерка без хвоста (локальная модификация, нужно убедить клетки у основания хвоста, что они край силуэта) и красная ящерка (глобальная, коллектив должен сделать то, чего не делал никогда).
С бесхвостой ящеркой захватчики справляются нестабильно: иногда хвост исчезает, иногда лишь укорачивается, иногда паттерн рассыпается. Обучение требует заметно больше градиентных шагов, а результат качественно хуже, чем в случае с MNIST.
Красная ящерка при 10% захватчиков терпит полный провал: честные клетки просто игнорируют агитаторов. Успеха удалось добиться, лишь доведя долю захватчиков до 60%, то есть до большинства. При 20–30% конфигурация нестабильна. Даже победная конфигурация выглядит жалко: стоит спрятать враждебные клетки, и краснота держится на горстке перекрашенных честных клеток, а при долгих итерациях паттерн деградирует.
Разница в устойчивости объясняется природой задач. MNIST-автомат обязан постоянно доверять дальнобойной коммуникации: клетки в нижнем штрихе единицы ничего не заметят, если цифра превратилась в семёрку, и узнают об этом только через цепочку сигналов. Доверчивость это не баг, а необходимое свойство модели. Growing CA никогда не приходится переконфигурироваться: его задача вырастить один паттерн и держать его. Паранойя встроена в его устройство даром.
Отсюда следует предсказание авторов: чем более универсален автомат, чем больше паттернов он умеет строить, тем уязвимее он для перепрограммирования. Гибкость и доверчивость покупаются одной валютой.
Атака второго типа: системное вмешательство
Раз локальные захватчики против Growing CA малоэффективны, авторы пробуют другой подход, аналог системной терапии в медицине. Не точечная инъекция, а вещество, действующее на весь организм: к состоянию каждой живой клетки на каждом шаге применяется одна и та же симметричная матрица 16 на 16.
Выбор матричного умножения над простым добавлением вектора объясняется физикой системы. Аддитивное смещение не умеет гасить состояния до нуля: константная добавка либо уводит значения в бесконечность, либо случайно компенсируется собственной динамикой клетки. Матрица же умеет усиливать и подавлять комбинации состояний: повторное умножение на коэффициент меньше единицы надёжно гасит любой канал.
Матрицу инициализируют единичной и обучают градиентным спуском, заморозив сам автомат. Результат: находятся возмущения для всех шести целевых мутаций, включая бесхвостую, красную, синюю ящерку и варианты с ампутированными конечностями. Самой трудной оказалась обезглавленная версия: вместе с головой терялась белая окраска спины. Авторы предполагают, что простейшее найденное возмущение подавляет «структуру», в которой голова и белая спина закодированы совместно. Это жутковато напоминает плейотропию в генетике, где одна мутация бьёт сразу по нескольким органам, и указывает на открытый вопрос биологии: как заранее предсказать, какие вмешательства возможны, а какие нет.
Важная оговорка: стабильной конфигурации, которая переживала бы снятие возмущения, найти не удалось. Убрал матрицу, и ящерка отращивает хвост обратно. Регенеративная устойчивость Growing CA побеждает и здесь.
Арифметика мутаций
Самое красивое в работе это композициональность возмущений. Симметричная матрица раскладывается как A = QΛQᵀ, где Λ диагональна. Если представить возмущение как смещение от единичной матрицы, D = Λ − I, то появляется «направление мутации», которое можно масштабировать коэффициентом k. При k равном нулю получаем единичную матрицу и обычную ящерку, при k равном единице полную мутацию.
А дальше начинается магия. Плавно меняя k, можно наблюдать, как хвост отрастает или исчезает непрерывно. При отрицательных k ящерка отращивает хвост длиннее исходного: направление мутации работает в обе стороны. Правда, дальнейшее движение в минус дестабилизирует систему, и паттерн начинает расти безудержно, в буквальном смысле как раковая опухоль: возмущение ломает гомеостатическую регуляцию, клетки умирают или делятся не по плану.
Два независимо обученных возмущения можно складывать. Если сумма коэффициентов не превышает единицу, комбинация бесхвостой и безногой мутаций даёт стабильную бесхвостую безногую ящерку. При полном сложении обеих мутаций результат тоже почти соответствует ожиданиям, хотя появляются побочные эффекты: паттерн начинает дрейфовать по сетке. Это прямая аналогия арифметики эмбеддингов word2vec, где «король минус мужчина плюс женщина» даёт «королеву», только здесь операции выполняются над морфологией живой самоорганизующейся структуры.
Что это значит за пределами эксперимента
Работа 2021 года читается сегодня на удивление актуально. Во-первых, это модель безопасности распределённых систем. Коллективы агентов, роевые роботы, сенсорные сети: всё это системы, где узлы принимают решения на основе сигналов соседей, и где вопрос «сколько скомпрометированных узлов нужно для захвата консенсуса» имеет практическое значение. Один процент для доверчивой архитектуры это катастрофически низкий порог.
Во-вторых, это роадмап для регенеративной медицины. Найденные матрицы возмущений это прототип «минимальных вмешательств», которые биомедицина мечтает находить для живых тканей: не редактировать каждую клетку, а подать системный сигнал, который перенастроит морфологию целиком. То, что авторы называют поиском stable out-of-training configurations, в медицине называется излечением.
В-третьих, работа связывает NCA с областью influence maximization: выбором узлов графа, влияние на которые максимально распространяется по сети. Там проблема оптимального размещения захватчиков (target set selection) вообще говоря NP-трудна, и перенос методов этой области на клеточные автоматы выглядит естественным следующим шагом. Авторы размещали враждебные клетки случайно; умное размещение могло бы снизить и без того крошечный порог в один процент.
Наконец, есть философский вывод, который авторы формулируют аккуратно. Переход к «многоклеточности», будь то в биологии или в роевая робототехнике, требует информационного слияния: система перестаёт различать источники сигналов. Оптимальная архитектура обязана балансировать между проверкой управляющих сообщений и гибкостью, которая это слияние обеспечивает. Доверие это цена координации. И всякий, кто строит многоагентные системы, рано или поздно выберет свой ответ на вопрос, сколько доверия они могут себе позволить.
Часто задаваемые вопросы
Чем нейронный клеточный автомат отличается от обычного клеточного автомата?
Классический автомат вроде игры «Жизнь» работает по жёстко заданным правилам. В нейронном автомате правила обновления задаются небольшой нейросетью, общей для всех клеток, и обучаются градиентным спуском под конкретную задачу: вырастить паттерн, классифицировать форму, регенерировать после повреждения.
Почему 1% враждебных клеток достаточно для захвата консенсуса?
MNIST-автомат вынужден доверять дальнобойным сигналам, потому что локальные наблюдения не дают клетке полной картины. Захватчики эксплуатируют именно это свойство: они вбрасывают сигналы, которые честные клетки добросовестно ретранслируют, и ложь каскадно распространяется по всему коллективу.
Сохраняется ли эффект атаки после удаления захватчиков?
Как правило, нет. При удалении враждебных клеток большинство коллективов самокорректируются, а при снятии глобального матричного возмущения Growing CA отращивает утраченные части. Обман требует постоянной подпитки, что само по себе важный вывод для защиты распределённых систем.
Итог
Adversarial-перепрограммирование нейронных клеточных автоматов показывает, что самоорганизация и уязвимость это две стороны одной медали. Доверчивая система из тысяч клеток капитулирует перед одним процентом захватчиков, а параноидальная выдерживает и тридцать. При этом арифметика возмущений, направления мутаций, которые можно масштабировать и складывать, превращает взлом в инженерную дисциплину с прямыми выходами на регенеративную медицину и безопасность роевых систем. Если вы проектируете многоагентную архитектуру, задайте себе вопрос из этой работы: каков ваш один процент?