PURR-PUSS

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

PURR-PUSS — система обучаемого искусственного интеллекта, разработанная в 1970-е гг. новозеландским учёным Джоном Андреа (англ. John Hugh Andreae, р. 1927, Муссури) и предназначенная для обучения роботов решению сложных задач в реальной среде аналогично тому, как это делает естественный мозг, через последовательность стимулов и действий. Изначально система ничего не знает о среде, в которой будет работать. PURR и PUSS — два взаимодействующих компонента системы, вместе в буквальном прочтении аббревиатура значит по-английски 'мур-киса'. Основой алгоритма является теория множественного контекста, который позволяет обходить некоторые известные ограничения ассоциативного обучения.

Джон Андреа в статье 1978 г.[1] описывает свой рецепт создания «думающей машины» в следующих пунктах:

  1. получение опыта в теле;
  2. сохранение опыта в памяти («являться собственным опытом»);
  3. влияние на свой опыт через действия;
  4. переживание опыта одновременно в нескольких аспектах;
  5. поиск в своём опыте новизны.

Описание системы

[править | править код]

Описание по публикации Дж. Андреа и др. 1976 г.[2]

PUSS расшифровывается как Predictors Using Short Segments 'предсказатели, использующие короткие сегменты'[3] (иная расшифровка Predictor Using Slide and Strings — 'предсказатель, использующий сдвиг и строки')[4]. Это модель данных о внешней среде, являющаяся развитием более ранней модели универсального ИИ STeLLA. Канал PUSS заносит события, получаемые от некоторого сенсора или ещё какого-то источника, в очередь ограниченной длины; алгоритм строит предположение, что последовательность событий, скорее всего, продолжат те события, которые продолжали такие же последовательности раньше. Алгоритм, получив очередное событие, находит группы событий определённой длины («окно»), одинаковые с последними событиями; выявленные совпадения оптимизируются в памяти, а порядок следования запоминается в специальной матрице переходов.

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

PURR расшифровывается как англ. Purposable (Purposeful) Unprimed Rewardable Robot — 'целевой непредынструктированный вознаграждаемый робот', это компонент системы, принимающий решения на основе моделей из различных PUSS. Например, в основную PUSS с окном 2 поступают действия рисования и движения, а в дополнительную с окном 4 — текстовый вывод, в том числе напечатанный самим роботом; тогда робот может, комментируя свои действия, не забыть, что именно он сейчас рисует.

На входе в систему любое событие может помечаться как нежелательное, что запоминается до момента, когда такое событие снова произойдёт. Если происходит событие, которое не является нежелательным и не было предсказано, то PURR определяет его как цель и выбирает в графе, заданном PUSS, кратчайший путь, который может привести к данному событию, минуя нежелательные события. Обучение состоит в том, что системе показывают команды, а потом она сама себе их даёт. По комбинации данных PUSS флрмируются из перечня возможных действий списки желательных и нежелательных, и какое-нибудь из желательных выполняется.

Пример системы

[править | править код]

В статье 1976 г. рассказывается о работе PURR-PUSS, обученной считать объекты на счётах (3 костяшки на рейке с 5 позициями); робот может ездить вдоль рейки, сжимать руку и смотреть, есть ли в ней костяшка. При этом используются четыре PUSS:

  1. Основная — хранит все события в виде пар «образец-действие» (образцом является положение руки, вывод текста и т.п., действием — в частности, ожидание), окно 3;
  2. Эхо — хранит текстовые события в виде пар «действие-образец», окно 5;
  3. Гипотезая хранит только образцы, окно 4;
  4. Физическая хранит пары «действие-образец» для руки и счётов, окно 2.

Основная PUSS используется PURR для поиска путей к цели от текущего события, гипотезная — для формулирования достаточно далекоидущих гипотез (т. е. путей к цели), которым PURR пытается следовать по основной PUSS; эхо-PUSS уточняет предсказания основной PUSS, а также совместно с физической PUSS помогает определять желательные (ведущие к цели) и нежелательные (ведущие к нежелательным событиям) действия.

Особенности применения

[править | править код]

Система не предназначена для формирования плавных и точных движений. В исследованиях PURR-PUSS для управления роботом комбинировали с системой нейронного типа CMAC, что позволило улучшить качество управления[5].

Дальнейшее развитие

[править | править код]

В 1990 году автор предложил усовершенствования системы: шаблоны производительности, облегчающие временное хранение информации (зависят от того, какие движения физически доступны в данный момент) и иерархия подцелей, скрывающая особенности подзадач при решении задач[6].

Примечания

[править | править код]
  1. Andreae, John. PURR-PUSS: Computer Simulation of a Teachable Machine // SAGSET Journal. — 1978. — № 8. — С. 123-133. Архивировано 15 ноября 2022 года.
  2. John H. Andreae, John G. Cleary. A New Mechanism for a Brain (англ.) // International Journal of Man-Machine Studies. — 1976. Архивировано 14 ноября 2022 года.
  3. PURR-PUSS (Purposeful Unprimed Real-world Robot with Predictors Using Short Segments). Архивировано 4 июня 2010 года.
  4. JOHN BROOKE. Thinking With The Teachable Machine,By JOHN H. ANDREAE. (London:Academic Press, 1977.) [ Pp. XVii+. £7·80.] // Ergonomics. — 1980-06-01. — Т. 23, вып. 6. — С. 598–599. — ISSN 0014-0139. — doi:10.1080/00140138008928453.
  5. Ryan, Shawn W. Investigations into the capabilities of the SDM and combining CMAC with PURR-PUSS. (англ.). — 1996. — doi:10.26021/3234. Архивировано 14 ноября 2022 года.
  6. J. H. Andreae. Man-machine studies: Progress report UC-DSE/38 (1990) to the Ministry of Defence (англ.). — 1990-01-01. Архивировано 14 ноября 2022 года.