Взлет (когнитивная архитектура) - Soar (cognitive architecture)

Soar - это когнитивная архитектура , первоначально созданная Джоном Лэрдом , Алленом Ньюэллом и Полом Розенблумом в Университете Карнеги-Меллона . (Розенблум продолжал выполнять функции главного исследователя после переезда в Стэнфордский университет , а затем в Институт информационных наук Университета Южной Калифорнии .) В настоящее время он поддерживается и разрабатывается исследовательской группой Джона Лэрда в Мичиганском университете .

Цель проекта Soar - разработать фиксированные вычислительные строительные блоки, необходимые для общих интеллектуальных агентов - агентов, которые могут выполнять широкий спектр задач и кодировать, использовать и изучать все типы знаний для реализации всего спектра когнитивных возможностей, имеющихся в люди, такие как принятие решений, решение проблем, планирование и понимание естественного языка. Это и теория познания , и вычислительная реализация этой теории. С момента своего появления в 1983 году в качестве диссертации Джона Лэрда он широко использовался исследователями ИИ для создания интеллектуальных агентов и когнитивных моделей различных аспектов человеческого поведения . Самым последним и полным описанием Soar является книга 2012 года The Soar Cognitive Architecture.

Теория

Soar воплощает несколько гипотез о вычислительных структурах, лежащих в основе общего интеллекта , многие из которых используются совместно с другими когнитивными архитектурами, включая ACT-R , созданную Джоном Р. Андерсоном , и LIDA , созданную Стэном Франклином . В последнее время упор на Soar делался на общий ИИ (функциональность и эффективность), тогда как акцент на ACT-R всегда был на когнитивном моделировании (детальном моделировании человеческого познания).

Исходной теорией познания, лежащей в основе Soar, является гипотеза проблемного пространства, которая описана в книге Аллена Ньюэлла « Объединенные теории познания» . и восходит к одной из первых созданных систем ИИ - « Теоретику логики Ньюэлла, Саймона и Шоу » , впервые представленному в 1955 году. Гипотеза пространства проблем утверждает, что любое целенаправленное поведение можно представить как поиск в пространстве возможных состояний ( проблемное пространство ) при попытке достичь цели. На каждом шаге выбирается один оператор, который затем применяется к текущему состоянию агента, что может привести к внутренним изменениям, таким как извлечение знаний из долговременной памяти или модификации или внешние действия в мире. (Название Soar происходит от этого базового цикла State, Operator и Result; однако он больше не рассматривается как аббревиатура.) Гипотезе проблемного пространства присуще то, что любое поведение, даже сложное действие, такое как планирование, разложимо. в последовательность выбора и применения примитивных операторов, которые при отображении на поведение человека занимают ~ 50 мс.

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

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

Эти предположения приводят к архитектуре, поддерживающей три уровня обработки. На самом низком уровне идет восходящая, параллельная и автоматическая обработка. Следующий уровень - это совещательный уровень, где знания первого уровня используются для предложения, выбора и применения одного действия. Эти два уровня реализуют быстрое и квалифицированное поведение и примерно соответствуют уровню обработки Канемана в Системе 1. Более сложное поведение возникает автоматически, когда знание является неполным или неопределенным, на третьем уровне обработки с использованием подсостояний, примерно соответствующих Системе 2.

Четвертая гипотеза Soar состоит в том, что основная структура является модульной, но не в терминах модулей, основанных на задачах или возможностях, таких как планирование или язык, а вместо этого как независимые от задач модули, включая: модуль принятия решений; модули памяти (краткосрочные пространственные / визуальные и рабочие воспоминания; долгосрочные процедурные, декларативные и эпизодические воспоминания), механизмы обучения, связанные со всеми долгосрочными воспоминаниями; перцептивные и двигательные модули. Существуют и другие предположения о конкретных свойствах этих воспоминаний, описанных ниже, в том числе о том, что все обучение происходит в интерактивном режиме и происходит постепенно.

Пятая гипотеза состоит в том, что элементы памяти (за исключением пространственной / зрительной памяти) представлены как символические реляционные структуры. Гипотеза о том, что символическая система необходима для общего интеллекта , известна как гипотеза физической системы символов . Важное развитие в Soar состоит в том, что все символические структуры имеют связанные статистические метаданные (такие как информация о давности и частоте использования или ожидаемом будущем вознаграждении), которые влияют на поиск, обслуживание и изучение символических структур.

Архитектура

Цикл обработки - процедура принятия решения

Основной цикл обработки Soar возникает из взаимодействия между процедурной памятью (ее знаниями о том, как что-то делать) и рабочей памятью (ее представлением о текущей ситуации) для поддержки выбора и применения операторов. Информация в рабочей памяти представлена ​​в виде символьной графовой структуры , укорененной в состоянии. Знания в процедурной памяти представлены в виде правил « если-то» (набор условий и действий), которые постоянно сопоставляются с содержимым рабочей памяти. Когда условия правила соответствуют структурам в рабочей памяти, оно срабатывает и выполняет свои действия. Эта комбинация правил и рабочей памяти также называется производственной системой . В отличие от большинства производственных систем, в Soar все совпадающие правила запускаются параллельно.

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

Обучение с подкреплением

Soar поддерживает обучение с подкреплением , которое настраивает значения правил, которые создают числовые предпочтения для оценки операторов на основе вознаграждения. Чтобы обеспечить максимальную гибкость, в рабочей памяти есть структура, в которой создается вознаграждение.

Тупики, подсостояния и фрагменты

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

Символьный ввод и вывод

Символьный ввод и вывод происходит через структуры рабочей памяти, прикрепленные к верхнему состоянию, которые называются входной ссылкой и выходной ссылкой. Если структуры создаются на выходном канале в рабочей памяти, они преобразуются в команды для внешних действий (например, управления двигателем).

Пространственная визуальная система и ментальные образы

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

Семантическая память

Семантическая память (SMEM) в Soar предназначена для очень большой долговременной памяти структур, подобных фактам. Данные в SMEM представлены в виде ориентированных циклических графов. Структуры могут быть сохранены или извлечены с помощью правил, которые создают команды в зарезервированной области рабочей памяти. Полученные структуры добавляются в рабочую память.

Структуры SMEM имеют значения активации, которые представляют частоту или новизну использования каждой памяти, реализуя схему активации базового уровня , первоначально разработанную для ACT-R. Во время поиска извлекается структура в SMEM, которая соответствует запросу и имеет наибольшую активацию. Soar также поддерживает распространяющуюся активацию , когда активация распространяется от структур SMEM, которые были извлечены в рабочую память, на другие долговременные воспоминания, с которыми они связаны. Эти воспоминания, в свою очередь, распространяют активацию на воспоминания соседей с некоторым распадом. Активация распространения - это механизм, позволяющий текущему контексту влиять на извлечение из семантической памяти.

Эпизодическая память

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

Обучение

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

Агентская разработка

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

Программное обеспечение

Расширение когнитивной архитектуры Soar, Джон Лэрд, 2008.

Архитектура Soar поддерживается и расширяется исследовательской группой Джона Лэрда в Мичиганском университете. Текущая архитектура написана на сочетании языков C и C ++ и находится в свободном доступе (лицензия BSD) на веб-сайте исследовательской группы .

Soar может взаимодействовать с внешними языковыми средами, включая C ++, Java, Tcl и Python, через язык разметки Soar (SML). SML - это основной механизм для создания экземпляров агентов Soar и взаимодействия с их ссылками ввода-вывода.

JSoar - это реализация Soar, написанная на Java. Он поддерживается SoarTech , компанией , занимающейся исследованиями и разработками в области искусственного интеллекта. JSoar внимательно следит за реализацией архитектуры Мичиганского университета, хотя обычно не отражает последних разработок и изменений этой версии C / C ++.

Приложения

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

Пазлы и игры

На протяжении всей своей истории Soar использовался для реализации широкого спектра классических головоломок и игр с ИИ, таких как Ханойская башня, Кувшин для воды, Крестики-нолики, Восемь головоломок, Миссионеры и каннибалы, а также вариации мира блоков . Одно из первых достижений Soar показало, что множество различных слабых методов естественным образом возникнет из знания задачи, которое было закодировано в нем, свойство, называемое универсальным слабым методом.

Конфигурация компьютера

Первым крупномасштабным приложением Soar было R1-Soar, частичное повторное внедрение Полом Розенблумом экспертной системы R1 ( XCON ), разработанной Джоном Макдермоттом для настройки компьютеров DEC. R1-Soar продемонстрировал способность Soar масштабироваться до задач среднего размера, использовать иерархическую декомпозицию и планирование задач, а также преобразовывать преднамеренное планирование и решение проблем в реактивное выполнение посредством разбиения на части.

Понимание естественного языка

NL-Soar - это система понимания естественного языка, разработанная в Soar Джилл Фейн Леман, Риком Льюисом, Нэнси Грин, Дерилом Лонсдейлом и Грегом Нельсоном. Он включал возможности для понимания естественного языка, генерации и диалога с упором на инкрементный синтаксический анализ и генерацию в реальном времени. NL-Soar использовался в экспериментальной версии TacAir-Soar и в NTD-Soar.

Моделируемые пилоты

Второе крупномасштабное приложение Soar включало разработку агентов для использования при обучении в крупномасштабном распределенном моделировании. Две основные системы для выполнения тактических воздушных миссий США были совместно разработаны в Мичиганском университете и Институте информационных наук (ISI) Университета Южной Калифорнии. Система Michigan называлась TacAir-Soar и выполняла (в моделировании) военные тактические миссии США с неподвижным крылом (такие как поддержка с воздуха, удары, CAP , дозаправка и миссии SEAD ). Система ISI получила название RWA-Soar и использовала винтокрылые (вертолетные) миссии. Некоторые из возможностей, включенных в TacAir-Soar и RWA-Soar, включают внимание, ситуационную осведомленность и адаптацию, планирование в реальном времени и динамическое перепланирование, а также сложную коммуникацию, координацию и сотрудничество между комбинациями агентов Soar и людей. Эти системы участвовали в DARPA «s синтетический театре войны (STOW-97) Advanced Technology Concept Демонстрация (ActD), который в то время был самым крупным Филдинг синтетических агентов в совместном Battlespace в течение 48-часового периода, и запутанное обучение дежурный персонал. Эти системы продемонстрировали жизнеспособность использования агентов ИИ для крупномасштабного обучения.

СТИМ

Одним из важных результатов проекта RWA-Soar стала разработка Милиндом Тамбе STEAM - основы для гибкой командной работы, в которой агенты поддерживали модели своих товарищей по команде, используя структуру совместных намерений Cohen & Levesque .

NTD-Soar

NTD-Soar был симуляцией директора по испытаниям НАСА (NTD), человека, ответственного за координацию подготовки космического челнока НАСА перед запуском. Это была интегрированная когнитивная модель, которая включала в себя множество различных сложных когнитивных возможностей, включая обработку естественного языка , внимание и визуальный поиск , а также решение проблем в широкой агентной модели.

Виртуальные люди

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

Игровые ИИ и мобильные приложения

Агенты игрового ИИ были созданы с использованием Soar для таких игр, как StarCraft , Quake II , Descent 3 , Unreal Tournament и Minecraft , поддерживающих такие возможности, как пространственное мышление , стратегия в реальном времени и ожидание противника . Агенты искусственного интеллекта также были созданы для видеоигр, включая Infinite Mario, в которой использовалось обучение с подкреплением, и Frogger II , Space Invaders и Fast Eddie, которые использовали как обучение с подкреплением, так и ментальные образы .

Soar изначально может работать на мобильных устройствах . Мобильное приложение для игры Liar's Dice было разработано для iOS, которое запускает архитектуру Soar прямо с телефона в качестве движка для искусственного интеллекта противника.

Робототехника

Многие различные роботизированные приложения были созданы с использованием Soar с тех пор, как в 1991 году был реализован оригинальный Robo-Soar для управления манипулятором Puma. Они варьировались от управления мобильного робота для человекоподобных обслуживания Reem роботов, роботизированных taskable мулов и беспилотных подводных аппаратов .

Интерактивное обучение задачам

Текущее направление исследований и разработок в сообществе Soar - интерактивное обучение задач (ITL), автоматическое обучение новым задачам, особенностям среды, поведенческим ограничениям и другим спецификациям посредством естественного взаимодействия с инструктором. Исследования в ITL были применены к настольным играм и мультирумной навигации.

Планирование

Ранее Merle-Soar продемонстрировал, как Soar может изучить сложную задачу планирования, смоделированную по образцу ведущего планировщика-человека на заводе по производству лобовых стекол, расположенном недалеко от Питтсбурга.

Смотрите также

использованная литература

Библиография

внешние ссылки