- BrainTools - https://www.braintools.ru -

Пчёлы [1]. Муравьи. Стаи рыб.
Искусственный интеллект [2], автономные автомобили, кибербезопасность, распределённые атаки.
Два списка, между которыми вроде бы ничего общего. Но связь есть, и она не метафорическая. Многие технологии, которые мы считаем передовыми, человечество не придумало с нуля – мы их подсмотрели у природы.
Когда мы говорим «искусственный интеллект», большинство представляет что-то централизованное: огромный суперкомпьютер, один большой мозг [3], систему, которая знает всё. Но многие современные интеллектуальные системы устроены иначе. У них нет ни центра, ни главного мозга, ни единого управляющего, а решения они принимать умеют, координироваться умеют, учиться умеют. Такие системы называются мультиагентными. На них уже строят умные города, производства и логистические сети.
Но как защищать систему, у которой нет центра? Те свойства, которые делают её устойчивой, одновременно превращают её в очень неудобный объект для защиты. Атакующему даже не нужно ничего взламывать снаружи – достаточно стать одним из агентов. Прежде чем пытаться ответить на этот вопрос, разберёмся, как всё устроено и при чём тут пчёлы.
Я Радда Юрьева, в Positive Technologies работаю в отделе исследований технологий безопасности приложений, занимаюсь машинным обучением [4], искусственным интеллектом и анализом безопасности кода.
Если коротко – это система, где интеллект распределён между множеством независимых участников. Каждый агент видит только маленький кусочек мира, но вместе возникает сложное коллективное поведение [5]. Тут прячется контринтуитивная вещь: сложность может возникать из простоты.
Нам кажется, что у сложной системы внутри обязательно должен быть сложный управляющий механизм. Природа показывает обратное. Возможности отдельной пчелы или муравья крайне скромны, но вместе они решают задачи, которые отдельной особи не по силам. Мультиагентные системы работают по тому же принципу. Три правила.
Автономность. Каждый агент действует самостоятельно, без постоянных команд сверху. Дрон принимает локальные решения, робот анализирует свою область, узел сети реагирует на локальную угрозу.
Локальное знание. Агент не видит всю систему. У него нет «карты мира», есть только соседи и часть информации. Как человек в толпе: вы не знаете, что происходит во всём городе, но реагируете на людей рядом.
Взаимодействие. Агенты обмениваются сигналами: сообщениями, сенсорными данными или просто изменением поведения [6].
Из этих трёх правил рождается глобальное поведение, которое никто не программировал напрямую. Свойства системы появляются «сами собой». У этого есть название – эмерджентное поведение (emergent behavior). Ни одной птице в стае не говорят «сформируйте фигуру в небе», и ни у одного муравья нет карты маршрутов.
Распределённые системы интересны именно поэтому. Централизованные плохо масштабируются, одна точка отказа ломает всё. Распределённые адаптируются и продолжают работу даже при потере части агентов.

Когда инженеры взялись проектировать распределённые интеллектуальные системы, оказалось, что природа уже решила большинство этих задач миллионы лет назад. Всё неэффективное постепенно исчезало, оставались только устойчивые механизмы. Поиск оптимальных путей, согласованные решения, координация без лидера – всё это давно работает у муравьёв и пчёл без всякого центра.
Биологи, математики [7] и специалисты по ИИ начали изучать живые системы как источник архитектурных идей. Появилось целое направление – биоинспирированные вычисления (bio-inspired computing). Часто в его основе лежали простые наблюдения вроде «почему муравьи почти всегда находят оптимальный путь?», из которых выросли алгоритмы, работающие сегодня в логистике, маршрутизации интернета и телекоммуникациях. Между муравьём и современной сетью связи общего больше, чем кажется.

Когда рой ищет новый дом, часть пчёл становится разведчиками и улетает исследовать пространство. Вернувшись, пчела начинает танцевать, и это не хаотичные движения – танец кодирует направление, расстояние и качество найденного места.
Дальше начинается интересное. Чем лучше место, тем активнее танец. Другие пчёлы реагируют, летят проверять, и если согласны – тоже начинают танцевать. Сигнал коллективно усиливается. Это распределённое голосование: нет ни избирательной комиссии, ни главной пчелы. Рой сам приходит к консенсусу.
Узнаёте? Так устроены распределённые базы данных, блокчейн, алгоритмы консенсуса и роевая робототехника (swarm robotics). Локальные сигналы плюс коллективное усиление. И ещё: пчёлы устойчивы к ошибкам. Даже если часть разведчиков ошибётся, система обычно приходит к хорошему решению, потому что коллективный интеллект сглаживает индивидуальные промахи. Много простых агентов бывает надёжнее, чем один сверхумный.
Муравьи — отдельная история. Индивидуально муравей довольно ограничен, но колония строит сложные структуры, распределяет ресурсы, находит кратчайшие пути и адаптируется к изменениям среды.

Как? Через феромоны. Двигаясь, муравей оставляет химический след – запись в коллективную память [8], которую чувствуют другие. Если путь хороший, по нему проходит больше муравьёв и след усиливается. Если плохой – его перестают использовать, феромон испаряется. Система одновременно усиливает удачные решения и забывает [9] неудачные.
На этом механизме построен муравьиный алгоритм (Ant Colony Optimization). Его применяют в логистике, построении маршрутов, оптимизации доставки, сетевой маршрутизации и производственном планировании. Задача «как доставить тысячи посылок максимально эффективно» – тяжёлая математическая проблема. Муравьи подсказали рабочую эвристику, и часто биологическая интуиция [10] обходит классические методы.
У муравьёв нет глобальной карты. Никто не знает всю систему целиком. Но локальные взаимодействия создают глобальное знание. Очень похоже на интернет, где отдельный маршрутизатор не знает всю сеть, но из локальных решений складывается глобальная связность. Муравьи занимались распределёнными системами задолго до того, как мы придумали Kubernetes.

Большой косяк рыб или стая птиц выглядят почти магически: тысячи объектов двигаются синхронно, без столкновений, без дирижёра, будто где-то спрятан единый коллективный мозг. А каждая рыба следует всего трём правилам.
Не сталкиваться – держать дистанцию от соседей.
Двигаться вместе – синхронизировать направление с косяком.
Держаться центра – не отделяться от группы.
Три правила, а динамика сложная. В 1986 году эту идею математически описала модель Boids. Она стала фундаментом для компьютерной графики, анимации толпы, симуляций и игровых движков. Сегодня похожие подходы используют десятки беспилотников, выполняющих коллективную миссию.
Сложность не всегда требует сложных правил – иногда достаточно простых локальных взаимодействий. Нейронные сети, кстати, работают так же: простые элементы, локальные взаимодействия, глобальное поведение.
Мы начали переводить природные механизмы в код. Получилось три направления.

Роевой интеллект (Swarm Intelligence) изучает коллективное поведение – алгоритмы муравьёв, логику [11] пчёл, координацию роёв. Основная идея: группа простых агентов решает сложные задачи.

Распределённый ИИ (Distributed AI) обходится без одного центрального интеллекта. Он размазан по узлам, что важно для больших сетей, интернета вещей (IoT), периферийных вычислений (edge computing) и автономных систем.

Мультиагентное обучение с подкреплением [12] (Multi-Agent Reinforcement Learning, MARL) – здесь исследования идут прямо сейчас. Агенты взаимодействуют, конкурируют, кооперируются и учатся коллективно. Роботы осваивают совместные действия, беспилотники координируют полёт.
И тут есть любопытный эффект. Когда несколько AI-агентов формируют стратегии, обмениваются сигналами и оптимизируют общее поведение, появляются явления, которые трудно предсказать: неожиданные формы кооперации, нелинейные взаимодействия. Поведение становится нелинейным, а нелинейные системы очень трудно контролировать. Запомним эту мысль.
Это не вопрос далекого будущего. Мультиагентные системы уже вокруг нас.

Автономный транспорт. Город с тысячами беспилотных автомобилей. Если ими управляет один центральный сервер – это единая точка отказа. Если машины координируются локально, обмениваются информацией и сообща оптимизируют поток, система устойчивее и лучше масштабируется.

Рои дронов. Их уже используют для поисково-спасательных операций, разведки опасных территорий, военных задач. Потерялся один дрон — миссия продолжается, потому что интеллект распределён.

Кибербезопасность. Современные атаки происходят слишком быстро, централизованная защита не всегда успевает среагировать. Появляются распределённые системы защиты: локальные сенсоры, автономные агенты обнаружения, коллективный анализ угроз. Сеть начинает защищать себя как живой организм. Метафора тут не случайная – иммунная система [13] человека тоже распределённая. Нет одного «главного защитника», миллионы клеток локально реагируют на угрозы.
Теперь к главному. Когда система становится распределённой, вместе с преимуществами появляются новые угрозы. Глобальное поведение возникает из локальных взаимодействий, и минимальное изменение может повлечь каскадный эффект – как бабочка, вызывающая ураган. Отсюда три проблемы.
Непредсказуемость. Эмерджентное поведение трудно моделировать. Даже понимая правила каждого агента, мы не всегда можем предсказать поведение всей системы.
Хрупкость. Иногда система неожиданно выходит из равновесия из-за ложного сигнала, повреждённых данных или одного вредоносного агента – и начинает вести себя нестабильно.
Отсутствие центра. Это одновременно плюс и минус. Если единого управляющего нет, систему сложно остановить, в неё трудно быстро вмешаться и почти невозможно централизованно исправить ошибку [14].
А дальше – конкретные типы атак на распределённые системы.
Отравление данных – подмена обучающей выборки. Подмешиваем искажённые примеры, агенты усваивают неверное поведение и считают его правильным. Система обнаружения угроз начинает пропускать атаки, роевая система закрепляет ошибочную стратегию как лучшую.
Вредоносные агенты – самый опасный сценарий. Атакующий не ломает систему извне, а становится частью роя. Один скомпрометированный дрон, один фальшивый узел сети – и ложная информация начинает распространяться изнутри. Система распределённая, последствия каскадны.
Атаки на координацию – рой держится на взаимодействии. Стоит нарушить коммуникацию, и агенты перестают синхронизироваться, возникают конфликты, система теряет устойчивость. Атака идёт не на отдельных агентов, а на коллективное поведение. Очень похоже на информационные войны в человеческом обществе: проблема не в отдельных людях, а в разрушении координации между ними.
Атакующий не ломает систему. Он становится её частью.
Классические подходы тут не работают. Нельзя поставить один файрвол и считать, что проблема решена. Нужна распределённая защита.
Верификация агентов. Прежде чем агент станет частью системы – проверить, можно ли ему доверять, не был ли он скомпрометирован, соответствует ли его поведение модели. Снова иммунная система: организм постоянно решает, «свой» перед ним или «чужой».
Мониторинг аномалий. Заранее перечислить все угрозы в распределённых системах обычно невозможно. Система анализирует отклонения поведения, странные паттерны, нарушения координации. ИИ наблюдает за ИИ.
Робастные алгоритмы. Алгоритмы, устойчивые к шуму, ложным данным, повреждённой информации и частичному отказу. В реальном мире идеальных данных не существует, и хорошая распределённая система должна работать даже в плохих условиях.
И тут мы снова возвращаемся к природе. Живые системы устойчивы: рой переживает гибель отдельных особей, колония – потерю части муравьёв. Целое продолжает работать несмотря на повреждения и ошибки. Именно это качество современный ИИ пытается перенять.
Природа не просто вдохновляет на технологии. Во многих случаях она давно решила задачи, с которыми мы только начинаем сталкиваться. Но вместе с возможностями приходят и риски: чем сложнее распределённое поведение, тем труднее его контролировать.
Может быть, главная задача ближайших лет – сделать коллективный ИИ устойчивым и предсказуемым. Потому что будущее, скорее всего, принадлежит не одному суперинтеллекту, а множеству взаимодействующих.
А лучший учебник по ИИ уже миллионы лет летает вокруг нас, ползает под ногами и плавает в океане.
Автор: RaddaY
Источник [15]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/31396
URLs in this post:
[1] Пчёлы: http://workbee.ru/
[2] интеллект: http://www.braintools.ru/article/7605
[3] мозг: http://www.braintools.ru/parts-of-the-brain
[4] обучением: http://www.braintools.ru/article/5125
[5] поведение: http://www.braintools.ru/article/9372
[6] поведения: http://www.braintools.ru/article/5593
[7] математики: http://www.braintools.ru/article/7620
[8] память: http://www.braintools.ru/article/4140
[9] забывает: http://www.braintools.ru/article/333
[10] интуиция: http://www.braintools.ru/article/6929
[11] логику: http://www.braintools.ru/article/7640
[12] подкреплением: http://www.braintools.ru/article/5528
[13] иммунная система: http://www.braintools.ru/nervous-system/immune-system
[14] ошибку: http://www.braintools.ru/article/4192
[15] Источник: https://habr.com/ru/companies/pt/articles/1043962/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1043962
Нажмите здесь для печати.