PURR-PUSSPURR-PUSS — система обучаемого искусственного интеллекта, разработанная в 1970-е гг. новозеландским учёным Джоном Андреа (англ. John Hugh Andreae, р. 1927, Муссури) и предназначенная для обучения роботов решению сложных задач в реальной среде аналогично тому, как это делает естественный мозг, через последовательность стимулов и действий. Изначально система ничего не знает о среде, в которой будет работать. PURR и PUSS — два взаимодействующих компонента системы, вместе в буквальном прочтении аббревиатура значит по-английски 'мур-киса'. Основой алгоритма является теория множественного контекста, который позволяет обходить некоторые известные ограничения ассоциативного обучения. Джон Андреа в статье 1978 г.[1] описывает свой рецепт создания «думающей машины» в следующих пунктах:
Описание системыОписание по публикации Дж. Андреа и др. 1976 г.[2] PUSSPUSS расшифровывается как Predictors Using Short Segments 'предсказатели, использующие короткие сегменты'[3] (иная расшифровка Predictor Using Slide and Strings — 'предсказатель, использующий сдвиг и строки')[4]. Это модель данных о внешней среде, являющаяся развитием более ранней модели универсального ИИ STeLLA. Канал PUSS заносит события, получаемые от некоторого сенсора или ещё какого-то источника, в очередь ограниченной длины; алгоритм строит предположение, что последовательность событий, скорее всего, продолжат те события, которые продолжали такие же последовательности раньше. Алгоритм, получив очередное событие, находит группы событий определённой длины («окно»), одинаковые с последними событиями; выявленные совпадения оптимизируются в памяти, а порядок следования запоминается в специальной матрице переходов. События разных типов (например, показания датчиков, ввод техника-обучателя, действия самого робота) в системе поступают в несколько разных PUSS, которые и обеспечивают множественный контекст; правила комбинации контекстов закладываются в структуру системы. PURRPURR расшифровывается как англ. Purposable (Purposeful) Unprimed Rewardable Robot — 'целевой непредынструктированный вознаграждаемый робот', это компонент системы, принимающий решения на основе моделей из различных PUSS. Например, в основную PUSS с окном 2 поступают действия рисования и движения, а в дополнительную с окном 4 — текстовый вывод, в том числе напечатанный самим роботом; тогда робот может, комментируя свои действия, не забыть, что именно он сейчас рисует. На входе в систему любое событие может помечаться как нежелательное, что запоминается до момента, когда такое событие снова произойдёт. Если происходит событие, которое не является нежелательным и не было предсказано, то PURR определяет его как цель и выбирает в графе, заданном PUSS, кратчайший путь, который может привести к данному событию, минуя нежелательные события. Обучение состоит в том, что системе показывают команды, а потом она сама себе их даёт. По комбинации данных PUSS флрмируются из перечня возможных действий списки желательных и нежелательных, и какое-нибудь из желательных выполняется. Пример системыВ статье 1976 г. рассказывается о работе PURR-PUSS, обученной считать объекты на счётах (3 костяшки на рейке с 5 позициями); робот может ездить вдоль рейки, сжимать руку и смотреть, есть ли в ней костяшка. При этом используются четыре PUSS:
Основная PUSS используется PURR для поиска путей к цели от текущего события, гипотезная — для формулирования достаточно далекоидущих гипотез (т. е. путей к цели), которым PURR пытается следовать по основной PUSS; эхо-PUSS уточняет предсказания основной PUSS, а также совместно с физической PUSS помогает определять желательные (ведущие к цели) и нежелательные (ведущие к нежелательным событиям) действия. Особенности примененияСистема не предназначена для формирования плавных и точных движений. В исследованиях PURR-PUSS для управления роботом комбинировали с системой нейронного типа CMAC, что позволило улучшить качество управления[5]. Дальнейшее развитиеВ 1990 году автор предложил усовершенствования системы: шаблоны производительности, облегчающие временное хранение информации (зависят от того, какие движения физически доступны в данный момент) и иерархия подцелей, скрывающая особенности подзадач при решении задач[6]. Примечания
Information related to PURR-PUSS |