Когнитивная робототехника — это очень молодое направление, которому буквально пять лет. Это направление возникло на стыке искусственного интеллекта и инженерии. Сейчас инженерия в области робототехники достигла очень высокого уровня. Создано очень много готовых платформ, которые можно купить, а затем проводить свои собственные исследования в области робототехники. Дети начиная с 10 лет могут купить свой собственный набор Lego и пробовать, смотреть, что такое робототехника, как можно заставить с помощью программы, без пульта управления, делать настоящее физическое устройство.

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

Рекомендуем по этой теме:

Когнитивная робототехника делится на три основных направления: собственно создание и разработка программ для обучающихся роботов, когнитивная робототехника и коллаборативная.

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

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

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

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

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

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

Когнитивные архитектуры начали развиваться в 1980-х годах очень активно за рубежом. Есть такие очень известные примеры, как Soar или ACT-R ― это такие архитектуры, которым уже около 20 лет, самые популярные и работоспособные на Западе. Они применяются в том числе для готовых роботов, например NAO ― это очень известный человекоподобный робот. И вы можете создать прошивку для этого робота на основе когнитивной архитектуры.

В России тоже ведутся такие исследования. Например, такая архитектура, как многоуровневая STRL (strategic, tactical, reactive, layered). Она использует тот принцип, что любое действие и любые познавательные процессы многоуровневые. Есть нижний уровень, позволяющий проводить стабилизацию или стабильно совершать некоторые действия. Там используются принципы математической теории управления. На тактическом уровне решаются задачи SLAM (simultaneous localization and mapping). То есть мы одновременно не только получаем с сенсоров всю информацию о том, где мы находимся, но и стараемся построить представление о карте местности. И strategic — это уже делиберативное поведение, когда мы на основе простых тактических операций создаем более сложные планы действий, в том числе и с распределением ролей в коллективе, если мы решаем задачи коллективной робототехники.

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

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

Многие, наверное, смотрели фильм «Она» ― классический пример того, каким должен выглядеть интеллектуальный ассистент. Естественно, не хотелось бы, чтобы он потом нас бросал, решая какие-то фантастические собственные задачи, которые мы даже и не знаем. Но если мы возьмем тот пример, решающийся там, то ассистент ― это не только то, что есть у вас в телефоне. Вы можете на смартфоне набрать какую-то задачу, продиктовать что-то, смартфон наблюдает за вами с камеры, запоминает и строит некоторое представление о вашем поведении.

Но часть ассистента — это его физические актуаторы. Например, вы можете иметь дрон, являющийся частью этого интеллектуального ассистента. Если вы работаете где-то в офисе и у вас есть большой кампус (для России университетский кампус — это большая редкость, но на Западе, в Америке, он встречается повсюду). Вам нужно из одного здания перенести документ в другое. Естественно, вы не собираетесь продиктовать большую задачу, у вас просто нет на это времени. А интеллектуальный ассистент понимает, что вы решаете сейчас такую задачу и, отдавая такой-то документ, хотите, чтобы его отнесли в том или ином направлении, в то или иное здание. Физическое устройство самостоятельно доносит до вас документ.

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

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