Обработка знаний для роботов
Обработка знаний для роботов (англ. KnowRob, knowledge processing for robots) — система, объединяющая методы представления знаний и логического вывода для приобретения и привязки знаний. Во втором поколении (KnowRob 2.0) она позиционируется как облачный сервис знаний (knowledge service), использующий гибридные рассуждения, симуляцию и семантические веб-технологии. Текущая стабильная версия 2.0.0 была выпущена 20 сентября 2024 года[1]. KnowRob выступает технологическим фундаментом для веб-консоли openEASE[2][3]; обе системы разрабатываются в Институте искусственного интеллекта при Университете Бремена (Германия).
Архитектура
Обработка знаний для роботов может выступать в роли платформы для интеграции знаний, в том числе энциклопедических, обыденных, описаний задач, моделей окружающей среды, информации об объектах, наблюдаемых действиях и других сведений, поступающих из различных источников: вручную аксиоматизированных, полученных из наблюдений или импортированных из Интернета[4].
Система Обработка знаний для роботов использовалась различными исследовательскими группами, такими как Университет Райса, применявшими онтологическую базу знаний в робототехнической платформе[5], а также исследовательской группой Университета технологии Эйндховена, выступавшей в лиге RoboCup, категория «at Home», в рамках проекта RoboEarth.
Система также упоминается в работах исследовательских коллективов из Университета Лучиана Блага в Сибиу[6], Ближневосточный технический университет в рамках комбинирования различных баз знаний[7], Университет Кэйо, где система рассматривается в связи с сервисом онтологий[8], Техасский университет в Остине как часть родственных исследований[9], а также Университет Ханъян в связи с фреймворком обработки знаний на основе OWL[10].
В архитектуре версии 2.0 интегрированы симуляция и рендеринг. Это позволяет повторно использовать компоненты управления в виртуальной среде с физикой и почти фотореалистичным рендерингом, а также получать опытные знания (NEEM — narrative enabled episodic memory) для успешной параметризации действий в реальном мире[11][12].
Представление знаний
Для представления знаний система Обработка знаний для роботов использует язык онтологий OWL и расширенное представление знаний на базе логики первого порядка с вычислимыми предикатами. Для задания порядка действий система предусматривает ограничение на попарный частичный порядок. Онтологии в системе представлены в виде RDF-графов знаний. В качестве базовой фундаментальной онтологии применяется DUL (заменившая использовавшуюся ранее Cyc), а для описания социально-физического контекста и повседневных действий используется онтологическая модель SOMA[13].[14]
Система использует принцип замкнутого мира в языке Пролог, а также принцип открытого мира при помощи вычислимых предикатов[15]. Для включения правил вывода в Пролог применяется процедура инференции, выходящая за пределы возможностей OWL, чтобы извлекать сведения об исполнении задач. Для логического вывода применяется подход «ансамбля рассуждателей» (ensemble of reasoners)[16], позволяющий загружать различные модули вывода в зависимости от решаемой задачи и объединять их результаты.
Во второй версии система предоставляет логический интерфейс к гибридному модулю рассуждений, реализованному как логико-ориентированный язык. Связь с внешними вычислениями (включая ROS) реализована через механизм процедурных прикреплений (procedural attachments) и предикат rdf_triple[17][18]. В этом языке гибридное ядро рассуждений представляется как совокупность сущностей, доступных посредством частичных описаний. К числу таких описаний относятся объекты, их части и модели сочленений, окружения, состоящие из объектов, программные компоненты, действия и события.
Эпизодические воспоминания
Эпизодическая память связана с информацией об опыте, организованной во времени и пространстве, в сочетании с контекстными сведениями. В системе Обработка знаний для роботов эпизодическая память понимается как запись, которую агент ведёт о текущей деятельности, включая подробную информацию о действиях, движениях, их назначении, эффектах и поведении, а также изображения, полученные в ходе выполнения[19]. Эпизодическая память в системе реализуется через технологию NEEM (Narrative Enabled Episodic Memories). Структура NEEM состоит из трёх частей: контекста (background), нарратива (narrative) и опыта (experience). Данные сохраняются в виде JSON-документов и BSON-файлов в базе данных MongoDB[20]. Для хранения, публикации и анализа эпизодической памяти используется централизованный веб-сервис NEEMHub. В этой инфраструктуре KnowRob выступает в качестве движка представления знаний и логического вывода[20].[21] В процессе обобщения опыта логический вывод преобразует сырые сенсорные данные из NEEMs в абстрактные символические модели действий[22].[23] Кроме того, эпизодическая память применяется для анализа ошибок и самокоррекции робота: путём сопоставления текущего состояния с прошлым неудачным опытом система диагностирует сбои и выбирает более подходящие параметры для последующих действий[24].[22]
Использование
Знания вычисляются внешними методами с использованием запросов на Прологе. Во второй версии системы предусмотрена улучшенная структура пакетов и документации, включающая расширения предыдущей версии, а также логически-ориентированный язык. К примеру, описание чашки, полученное из восприятия, может быть выражено в этом языке так:
entity(Cup,[an, object, [type, cup], [shape, cylinder], [color, orange]])
Контроллер может описывать тот же объект как:
entity(Cup, [an, object, [type, cup], [proper_physical_parts, [an, object, [type, handle], [grasp−pose, G−pose]]]])
KnowRob Query Language (упрощённый Пролог) сравним с другими языками запросов к символическим базам знаний[16][25]. Запросный язык KnowRob интегрирует методы рассуждения, включая моделирование на основе симуляции.
Цели
Главная цель фреймворка Обработка знаний для роботов — обеспечение сервисных роботов семантическими знаниями. Система способна отвечать на вопросы о недостающей информации в нечётко сформулированных инструкциях заданий, используя иерархическое представление действий и информацию об объектах, которые могут входить в определённые действия.
Примечания
Литература
- M. Tenorth, M. Beetz. Representations for robot knowledge in the knowrob framework // Artificial Intelligence: Supplement C 247: 151—169, 2017. ISSN 0004-3702. doi:10.1016/j.artint.2015.05.010.
- M. Tenorth, M. Beetz. Knowrob: A knowledge processing infrastructure for cognition-enabled robots // The International Journal of Robotics Research. 32(5):566-590, 2013. doi:10.1177/0278364913481635.