Соседством с искусственным интеллектом в XXI в. уже никого не удивить. Возможностями ИИ пользуются в медицине, промышленности, сельском хозяйстве и т.д. Алгоритмы проникают даже в искусство — в музыку, литературу, живопись. Актуальная тенденция современной робототехники — стайные алгоритмы, которые действуют по принципу организации живых организмов, где имеет место стайное и роевое поведение. Но зачем кибернетики учат роботов держаться вместе, следуя примерам животных и насекомых? Об этом нам рассказала аспирантка факультета вычислительной математики и кибернетики МГУ им. М.В. Ломоносова, победительница конкурса фонда «Интеллект» 2022 г. Ксения Шутова. 

— Вы работаете в области кибернетики и занимаетесь стайными алгоритмами. Расскажите, что это такое?

— Стоит начать с определения «группы» в понимании общества. Группа — это взаимодействие двух или более лиц, занимающихся общим делом. Или когда отдельные члены группы имеют взаимосвязанные задачи, приводящие к единому результату. Например, объединение людей в спортивной команде, задача которых — совместными усилиями прийти к победе. 

Если переходить от общества к агентам (роботам), группа — это взаимодействие двух или более объектов, которое делится на несколько видов. Первый — когда каждый агент выполняет одну и ту же задачу в группе. Например, чтобы перенести фанеру, группа агентов становится под фанерой и выполняет роль погрузчика. Собираясь в строгую фигуру, роботы перетаскивают груз из одной точки в другую. Они выполняют задачу, согласовывая скорость и расстояние между собой, чтобы не повредить груз.  

Второй случай — когда в одной группе распределяются обязанности. Например, обследование территории: во время поиска пострадавших в лесу один агент исследует территорию, другой по полученным данным распознает объекты на территории, третий — получает звуковую карту. Это отдельные задачи разных агентов, которые обмениваются информацией ради общего дела. 

Свойства команды стайных алгоритмов

Свойства команды стайных алгоритмов

Изображение предоставлено Ксенией Шутовой 

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

— Общим сервером может выступать робот, который посылает сигналы другим агентам. Или сервер находится в локальном статичном месте и данные передаются по сети, например по Wi-Fi, или по цепочке между агентами. В качестве сервера могут выступать также некоторые агенты из группы. 

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

— В чем преимущества и недостатки использования групповой робототехники? 

— Самый очевидный пример преимущества — использование на местности группы дронов, которые могут быстро исследовать большую площадь. В один дрон невозможно заложить большое количество датчиков, чтобы он оставался подъемным, маневренным и быстрым. Если мы собираем группу из большого количества дронов, то в каждый можно внедрить минимальное количество датчиков. Тогда каждый из них по отдельности выполняет простые задачи — это решение проблемы габаритов. Еще один плюс — когда один робот исследовал определенную территорию, информация об этом месте передается между агентами, другим не нужно снова облетать эту область. 

Среди недостатков можно выделить этический аспект. Автономность робототехники предполагает, что агент выполняет действия в наилучшем варианте без согласования с оператором. То есть они находят оптимальное решение в зависимости от ситуации. Встает вопрос: кто будет отвечать за «самостоятельные» решения роботов?

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

Ксения Шутова в интервью «Научной России»

Ксения Шутова в интервью «Научной России»

Фото: Елена Либрик / «Научная Россия»

— Этический аспект — это наделение робота свободой выбора?

— Да, поэтому сейчас автономные алгоритмы не так активно используется. Этическому вопросу использования робототехники даже посвящают проекты. В одном из них — lethal autonomous weapons — демонстрируются последствия неблагонамеренного использования дронов. Например, их автономность может быть использована в целях уничтожения. Встает вопрос: кто контролирует устройство? В идеале компания-производитель должна обрабатывать запросы, потому что целью может оказаться группа людей. 

— Это уже философский вопрос, в каких руках окажется сила и как будет использована. 

— Да.

— Как происходит обучение искусственного интеллекта для управления группой агентов? Опишите процесс своей работы. 

— Я работала с Q-обучением (Q — quality), методом проб и ошибок определяла наилучшие направления убегания от опасного препятствия. Например, когда на группу агентов надвигается объект, допустим, собака, роботы разбегаются в стороны. Это плохо, потому что происходит фрагментация группы. Если c помощью обучения мы выбираем наилучшее направление для всей группы, то она сможет более сплоченно уйти от опасности. 

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

Формула притяжения к цели 

Формула притяжения к цели 

Изображение предоставлено Ксенией Шутовой 

— Как отличить препятствия от опасных объектов? Распознавание закладывается в программу? 

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

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

— И вы прорабатываете область взаимодействия на модели, чтобы подготовить программу к использованию в реальной среде?

— Да, я работаю на моделях. Из-за постоянных расчетов, анализов графиков, в частности в среде моделирования MATLAB, графически там получаются достаточно интересные сценарии. У меня есть наработки также в Python.

Аспекты разработки коллективного поведения в учебных целях

Аспекты разработки коллективного поведения в учебных целях

Изображение предоставлено Ксенией Шутовой

— Какие перспективы развития направления стайной робототехники вы видите? Скажем, раньше эти устройства были громоздкими, а сейчас существует тенденция к миниатюризации. Можно ли уже назвать это нанотехнологиями?

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

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

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

— Вы упомянули бабочек и стрекоз. Действительно ли при создании стаи роботов опираются на поведение насекомых, роя пчел, муравьев?

— Да. Инженер Крэйг Рейнольдс описал подобные технологии взаимодействия объектов в работе Object-Oriented Flocksof Birds («Объектно ориентированные стаи птиц») и впервые реализовал их в мультфильме Stanley and Stella («Стэнли и Стелла»). Там были показаны взаимодействия агентов-птиц и агентов-рыб. Работа заинтересовала кинематографистов. Впоследствии технология использовалась в таких известных картинах, как «Бэтмен возвращается» в моменте взаимодействия летучих мышей и как мультфильм «Король лев» в сцене бега антилоп гну. Это была прорывная технология. Больше не надо прорисовывать каждый объект: на движущиеся бесформенные точки накладывали изображение антилоп. 

— То есть программировался алгоритм перемещения мультипликационных объектов на основе поведения стада животных, а сверху накладывалась картинка?

— Да. 

— Это удивительно. Помимо термина «агент», в ваших работах встречается «хищник». Что он обозначает? 

— Хищник — как раз тот объект, от которого нужно убегать. Это может быть надвигающийся человек, собака, а могут быть статичные объекты, например угол, за которым ничего не видно. Агенту лучше закладывать больший радиус, чтобы можно было на безопасном расстоянии посмотреть, что происходит вне зоны видимости, и успеть сделать маневр. Если угол считать обычным препятствием, то робот подойдет слишком близко и не успеет уклониться от объекта за стеной. 

Структура модели Boids — простого алгоритма перемещения групп юнитов

Структура модели Boids — простого алгоритма перемещения групп юнитов

Изображение предоставлено Ксенией Шутовой

— То есть в агентов заложены программы прохождения препятствий, ухода от хищников. А если поместить робота в новую среду, то с помощью алгоритмов он сразу сориентируется на незнакомой местности?

— Есть разные алгоритмы. В одном случае для ориентирования агенту все равно нужно облететь территорию, чтобы создать карту. Есть также наработки, когда агента выпускают на незнакомую местность и по мере изменения пространства он создает карту, оказываясь способным сразу выполнять задачи. 

— Наработок много, но где стайная робототехника используется уже сегодня? Шоу дронов — это подходящий пример?

— Да, это можно отнести к групповой робототехнике. Каждый агент получает информацию о других роботах, чтобы с ними не столкнуться и согласовать скорость. А недавно робопсы Jueying X20 искали 30 объектов в неизвестной для них среде — на футбольном поле. Они знали, как выглядят цели, и, исследуя местность, проводили поиски. Полученные данные предавали другим агентам, чтобы одну и ту же местность не проверять несколько раз. Таким образом, роботы были распределены по всему полю и выполняли поиск без лишних действий.

— Какие есть еще примеры использования технологии? 

— Стайные алгоритмы используются для патрулирования местности, исследования акватории, поиска чего-либо на труднодоступных площадях. В военной сфере дроны разминируют территории. 

— Можно ли сказать, что это одно из передовых направлений робототехники?

— Смело могу утверждать, что да. Сейчас этим активно интересуются.