PURR-PUSS
PURR-PUSS — система обучаемого искусственного интеллекта, разработанная в 1970-е гг. новозеландским учёным Джоном Андреа (англ. John Hugh Andreae, р. 1927, Муссури) и предназначенная для обучения роботов решению сложных задач в реальной среде аналогично тому, как это делает естественный мозг, через последовательность стимулов и действий. Изначально система ничего не знает о среде, в которой будет работать. PURR и PUSS — два взаимодействующих компонента системы, вместе в буквальном прочтении аббревиатура значит по-английски 'мур-киса'. Основой алгоритма является теория множественного контекста, который позволяет обходить некоторые известные ограничения ассоциативного обучения.
Джон Андреа в статье 1978 г.[1] описывает свой рецепт создания «думающей машины» в следующих пунктах:
- получение опыта в теле;
- сохранение опыта в памяти («являться собственным опытом»);
- влияние на свой опыт через действия;
- переживание опыта одновременно в нескольких аспектах;
- поиск в своём опыте новизны.
Описание системы
[править | править код]Описание по публикации Дж. Андреа и др. 1976 г.[2]
PUSS
[править | править код]PUSS расшифровывается как Predictors Using Short Segments 'предсказатели, использующие короткие сегменты'[3] (иная расшифровка Predictor Using Slide and Strings — 'предсказатель, использующий сдвиг и строки')[4]. Это модель данных о внешней среде, являющаяся развитием более ранней модели универсального ИИ STeLLA. Канал PUSS заносит события, получаемые от некоторого сенсора или ещё какого-то источника, в очередь ограниченной длины; алгоритм строит предположение, что последовательность событий, скорее всего, продолжат те события, которые продолжали такие же последовательности раньше. Алгоритм, получив очередное событие, находит группы событий определённой длины («окно»), одинаковые с последними событиями; выявленные совпадения оптимизируются в памяти, а порядок следования запоминается в специальной матрице переходов.
События разных типов (например, показания датчиков, ввод техника-обучателя, действия самого робота) в системе поступают в несколько разных PUSS, которые и обеспечивают множественный контекст; правила комбинации контекстов закладываются в структуру системы.
PURR
[править | править код]PURR расшифровывается как англ. Purposable (Purposeful) Unprimed Rewardable Robot — 'целевой непредынструктированный вознаграждаемый робот', это компонент системы, принимающий решения на основе моделей из различных PUSS. Например, в основную PUSS с окном 2 поступают действия рисования и движения, а в дополнительную с окном 4 — текстовый вывод, в том числе напечатанный самим роботом; тогда робот может, комментируя свои действия, не забыть, что именно он сейчас рисует.
На входе в систему любое событие может помечаться как нежелательное, что запоминается до момента, когда такое событие снова произойдёт. Если происходит событие, которое не является нежелательным и не было предсказано, то PURR определяет его как цель и выбирает в графе, заданном PUSS, кратчайший путь, который может привести к данному событию, минуя нежелательные события. Обучение состоит в том, что системе показывают команды, а потом она сама себе их даёт. По комбинации данных PUSS флрмируются из перечня возможных действий списки желательных и нежелательных, и какое-нибудь из желательных выполняется.
Пример системы
[править | править код]В статье 1976 г. рассказывается о работе PURR-PUSS, обученной считать объекты на счётах (3 костяшки на рейке с 5 позициями); робот может ездить вдоль рейки, сжимать руку и смотреть, есть ли в ней костяшка. При этом используются четыре PUSS:
- Основная — хранит все события в виде пар «образец-действие» (образцом является положение руки, вывод текста и т.п., действием — в частности, ожидание), окно 3;
- Эхо — хранит текстовые события в виде пар «действие-образец», окно 5;
- Гипотезая хранит только образцы, окно 4;
- Физическая хранит пары «действие-образец» для руки и счётов, окно 2.
Основная PUSS используется PURR для поиска путей к цели от текущего события, гипотезная — для формулирования достаточно далекоидущих гипотез (т. е. путей к цели), которым PURR пытается следовать по основной PUSS; эхо-PUSS уточняет предсказания основной PUSS, а также совместно с физической PUSS помогает определять желательные (ведущие к цели) и нежелательные (ведущие к нежелательным событиям) действия.
Особенности применения
[править | править код]Система не предназначена для формирования плавных и точных движений. В исследованиях PURR-PUSS для управления роботом комбинировали с системой нейронного типа CMAC, что позволило улучшить качество управления[5].
Дальнейшее развитие
[править | править код]В 1990 году автор предложил усовершенствования системы: шаблоны производительности, облегчающие временное хранение информации (зависят от того, какие движения физически доступны в данный момент) и иерархия подцелей, скрывающая особенности подзадач при решении задач[6].
Примечания
[править | править код]- ↑ Andreae, John. PURR-PUSS: Computer Simulation of a Teachable Machine // SAGSET Journal. — 1978. — № 8. — С. 123-133. Архивировано 15 ноября 2022 года.
- ↑ John H. Andreae, John G. Cleary. A New Mechanism for a Brain (англ.) // International Journal of Man-Machine Studies. — 1976. Архивировано 14 ноября 2022 года.
- ↑ PURR-PUSS (Purposeful Unprimed Real-world Robot with Predictors Using Short Segments) . Архивировано 4 июня 2010 года.
- ↑ 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.
- ↑ Ryan, Shawn W. Investigations into the capabilities of the SDM and combining CMAC with PURR-PUSS. (англ.). — 1996. — doi:10.26021/3234. Архивировано 14 ноября 2022 года.
- ↑ J. H. Andreae. Man-machine studies: Progress report UC-DSE/38 (1990) to the Ministry of Defence (англ.). — 1990-01-01. Архивировано 14 ноября 2022 года.