Soar (architektura kognitywna)
Soar to architektura kognitywna , pierwotnie stworzona przez Johna Lairda , Allena Newella i Paula Rosenblooma z Carnegie Mellon University . (Rosenbloom nadal pełnił funkcję głównego badacza po przeniesieniu się na Uniwersytet Stanforda , a następnie do Instytutu Nauk Informacyjnych Uniwersytetu Południowej Kalifornii ). Obecnie jest utrzymywany i rozwijany przez grupę badawczą Johna Lairda na Uniwersytecie Michigan .
Celem projektu Soar jest opracowanie stałych bloków obliczeniowych niezbędnych dla ogólnych inteligentnych agentów – agentów, którzy mogą wykonywać szeroki zakres zadań oraz kodować, wykorzystywać i uczyć się wszystkich rodzajów wiedzy, aby zrealizować pełny zakres zdolności poznawczych występujących w człowieka, takie jak podejmowanie decyzji, rozwiązywanie problemów, planowanie i rozumienie języka naturalnego. Jest zarówno teorią tego, czym poznanie , jak i obliczeniową implementacją tej teorii. Od swoich początków w 1983 roku jako Johna Lairda była szeroko stosowana przez badaczy sztucznej inteligencji do tworzenia inteligentnych agentów i poznawcze modele różnych aspektów ludzkiego zachowania . Najbardziej aktualnym i wszechstronnym opisem Soar jest książka The Soar Cognitive Architecture z 2012 roku.
Teoria
Soar zawiera wiele hipotez dotyczących struktur obliczeniowych leżących u podstaw inteligencji ogólnej , z których wiele jest wspólnych z innymi architekturami kognitywnymi, w tym ACT-R , stworzonym przez Johna R. Andersona , oraz LIDA , stworzoną przez Stana Franklina . Ostatnio nacisk kładziono na Soar na ogólną sztuczną inteligencję (funkcjonalność i wydajność), podczas gdy nacisk na ACT-R zawsze kładziono na modelowanie poznawcze (szczegółowe modelowanie ludzkiego poznania).
Oryginalną teorią poznania leżącą u podstaw Soar jest hipoteza przestrzeni problemowej, opisana w książce Allena Newella Unified Theories of Cognition . i pochodzi z jednego z pierwszych stworzonych systemów sztucznej inteligencji, teorii logiki Newella , Simona i Shawa , zaprezentowanej po raz pierwszy w 1955 r. Hipoteza przestrzeni problemowej głosi, że wszystkie zachowania zorientowane na cel można rzucić jako przeszukiwanie przestrzeni możliwych stanów ( miejsce problemowe ) podczas próby osiągnięcia celu. Na każdym kroku wybierany jest pojedynczy operator, a następnie nakładany na aktualny stan agenta, co może prowadzić do zmian wewnętrznych, takich jak odzyskanie wiedzy z pamięci długotrwałej lub modyfikacje lub działania zewnętrzne w świecie. (Nazwa Soar pochodzi od tego podstawowego cyklu Stan, Operator i Wynik; jednak nie jest już uważana za akronim). w sekwencję wyboru i zastosowania prymitywnych operatorów, które po odwzorowaniu na ludzkie zachowanie zajmują ~50ms.
Druga hipoteza teorii Soara głosi, że chociaż na każdym kroku można wybrać tylko jednego operatora, co wymusza seryjne wąskie gardło, procesy selekcji i stosowania są realizowane poprzez równoległe uruchamianie reguł, które zapewniają zależne od kontekstu odzyskiwanie wiedzy proceduralnej.
Trzecia hipoteza głosi, że jeśli wiedza potrzebna do wybrania lub zastosowania operatora jest niekompletna lub niepewna, powstaje impas i architektura automatycznie tworzy stan podrzędny. W stanie podrzędnym ten sam proces rozwiązywania problemów jest używany rekurencyjnie, ale w celu odzyskania lub odkrycia wiedzy, aby można było kontynuować podejmowanie decyzji. Może to prowadzić do stosu podstanów, w których tradycyjne metody problemowe, takie jak planowanie lub hierarchiczny rozkład zadań , naturalnie powstają. Kiedy wyniki utworzone w podstanie rozwiązują impas, podstan i powiązane z nim struktury są usuwane. Ogólne podejście nazywa się Universal Subgoaling.
Te założenia prowadzą do architektury obsługującej trzy poziomy przetwarzania. Na najniższym poziomie jest przetwarzanie oddolne, równoległe i automatyczne. Kolejnym poziomem jest poziom deliberatywny, gdzie wiedza z poziomu pierwszego służy do zaproponowania, wybrania i zastosowania pojedynczego działania. Te dwa poziomy implementują szybkie, umiejętne zachowanie i z grubsza odpowiadają poziomowi przetwarzania Systemu 1 Kahnemana . Bardziej złożone zachowanie pojawia się automatycznie, gdy wiedza jest niekompletna lub niepewna, poprzez trzeci poziom przetwarzania przy użyciu stanów podrzędnych, z grubsza odpowiadający Systemowi 2.
Czwarta hipoteza w Soar głosi, że podstawowa struktura jest modułowa, ale nie pod względem modułów opartych na zadaniach lub zdolnościach, takich jak planowanie lub język, ale zamiast tego jako moduły niezależne od zadań, w tym: moduł podejmowania decyzji; moduły pamięci (krótkotrwała pamięć przestrzenna/wizualna i robocza; długoterminowa pamięć proceduralna, deklaratywna i epizodyczna), mechanizmy uczenia się związane ze wszystkimi pamięciami długotrwałymi; oraz moduły percepcyjne i motoryczne. Istnieją dalsze założenia dotyczące specyficznych właściwości tych wspomnień opisanych poniżej, w tym, że cała nauka odbywa się online i przyrostowo.
Piąta hipoteza głosi, że elementy pamięci (z wyjątkiem pamięci przestrzennej/wizualnej) są reprezentowane jako symboliczne, relacyjne struktury. Hipoteza, że system symboliczny jest niezbędny dla ogólnej inteligencji , jest znana jako hipoteza fizycznego systemu symbolicznego . Ważną ewolucją w Soar jest to, że wszystkie struktury symboliczne mają powiązane metadane statystyczne (takie jak informacje o ostatnim i częstotliwości używania lub oczekiwanej przyszłej nagrodzie), które wpływają na pobieranie, konserwację i uczenie się struktur symbolicznych.
Architektura
Cykl przetwarzania – procedura decyzyjna
Główny cykl przetwarzania Soar wynika z interakcji między pamięcią proceduralną (jej wiedza o tym, jak robić rzeczy) a pamięcią roboczą (jej reprezentacją bieżącej sytuacji) w celu wsparcia wyboru i zastosowania operatorów. Informacja w pamięci roboczej jest reprezentowana jako symboliczna struktura grafu , zakorzeniona w stanie. Wiedza w pamięci proceduralnej jest reprezentowana jako reguły jeśli-to (zbiory warunków i działań), które są nieustannie dopasowywane do zawartości pamięci roboczej. Kiedy warunki reguły pasują do struktur w pamięci roboczej, odpala i wykonuje swoje działania. Ta kombinacja reguł i pamięci roboczej jest również nazywana systemem produkcyjnym . W przeciwieństwie do większości systemów produkcyjnych, w Soar wszystkie pasujące reguły strzelają równolegle.
Zamiast wyboru pojedynczej reguły będącej sednem procesu decyzyjnego, Soar podejmuje decyzje poprzez wybór i zastosowanie operatorów , które są proponowane, oceniane i stosowane przez reguły. Operator jest proponowany przez reguły, które testują aktualny stan i tworzą reprezentację operatora w pamięci roboczej, jak również akceptowalną preferencję , co wskazuje, że operator powinien być brany pod uwagę przy wyborze i zastosowaniu. Dodatkowe reguły pasują do proponowanego operatora i tworzą dodatkowe preferencje, które porównują go i oceniają w porównaniu z innymi proponowanymi operatorami. Preferencje są analizowane przez procedurę decyzyjną, która wybiera preferowanego operatora i instaluje go jako bieżącego operatora w pamięci roboczej. Reguły, które pasują do bieżącego operatora, następnie uruchamiają się, aby go zastosować i wprowadzić zmiany w pamięci roboczej. Zmiany w pamięci roboczej mogą być prostymi wnioskami, zapytaniami o odzyskanie z długoterminowych pamięci semantycznych lub epizodycznych Soara, poleceniami dla układu motorycznego w celu wykonania działań w środowisku lub interakcjami z Przestrzennym Systemem Wizualnym (SVS), który jest pamięcią roboczą interfejs do percepcji. Te zmiany w pamięci roboczej prowadzą do zaproponowania i oceny nowych operatorów, a następnie wyboru jednego i jego zastosowania.
Uczenie się ze wzmocnieniem
Soar obsługuje uczenie się przez wzmacnianie , które dostraja wartości reguł tworzących preferencje liczbowe do oceny operatorów na podstawie nagrody. Aby zapewnić maksymalną elastyczność, w pamięci roboczej istnieje struktura, w której tworzona jest nagroda.
Impasy, stany podrzędne i fragmentacja
Jeśli preferencje dla operatorów są niewystarczające do określenia wyboru pojedynczego operatora lub nie ma wystarczających reguł do zastosowania operatora, powstaje impas. W odpowiedzi na impas w pamięci roboczej tworzony jest stan podrzędny, którego celem jest rozwiązanie impasu. Dodatkowa wiedza proceduralna może następnie zaproponować i wybrać operatorów w podpaństwie, aby uzyskać więcej wiedzy i albo stworzyć preferencje w pierwotnym stanie, albo zmodyfikować ten stan, aby rozwiązać impas. Podstany zapewniają środki do złożonego rozumowania na żądanie, w tym hierarchiczny rozkład zadań, planowanie i dostęp do deklaratywnych pamięci długotrwałych. Po rozwiązaniu impasu wszystkie struktury w podpaństwie są usuwane z wyjątkiem wyników. Mechanizm dzielenia Soara kompiluje przetwarzanie w stanie podrzędnym, co doprowadziło do powstania reguł. W przyszłości wyuczone reguły automatycznie uruchamiają się w podobnych sytuacjach, aby nie powstawał impas, stopniowo przekształcając złożone rozumowanie w automatyczne/reaktywne przetwarzanie. W ostatnim czasie ogólna procedura Universal Subgoaling została rozszerzona o mechanizm ukierunkowanego na cel i automatycznego powiększania bazy wiedzy, który pozwala wyjść z impasu poprzez rekombinację w innowacyjny i zorientowany na problem sposób wiedzy posiadanej przez agenta Soar.
Symboliczne wejście i wyjście
Symboliczne wejście i wyjście odbywa się poprzez działające struktury pamięci dołączone do najwyższego stanu, zwane łączem wejściowym i łączem wyjściowym. Jeśli struktury są tworzone na łączu wyjściowym w pamięci roboczej, są one tłumaczone na polecenia dla działań zewnętrznych (np. sterowanie silnikiem).
Przestrzenny system wizualny i obrazy mentalne
Aby wspierać interakcję z systemami wizyjnymi i rozumowanie niesymboliczne, Soar ma swój przestrzenny system wizualny (SVS). SVS wewnętrznie reprezentuje świat jako wykres sceny , zbiór obiektów i podobiektów składowych, z których każdy ma właściwości przestrzenne, takie jak kształt, położenie, ułożenie, względne położenie i skala. Agent Soar korzystający z SVS może tworzyć filtry w celu automatycznego wyodrębniania cech i relacji z wykresu sceny, które są następnie dodawane do pamięci roboczej. Ponadto agent Soar może dodawać struktury do SVS i używać go do obrazów mentalnych. Na przykład agent może utworzyć hipotetyczny obiekt w SVS w danej lokalizacji i zapytać, czy koliduje on z jakimikolwiek postrzeganymi obiektami.
Pamięć semantyczna
Pamięć semantyczna (SMEM) w Soar została zaprojektowana jako bardzo duża długoterminowa pamięć struktur przypominających fakty. Dane w SMEM są reprezentowane jako skierowane cykliczne wykresy. Struktury mogą być przechowywane lub pobierane za pomocą reguł tworzących polecenia w zarezerwowanym obszarze pamięci roboczej. Pobrane struktury są dodawane do pamięci roboczej.
Struktury SMEM mają wartości aktywacji, które reprezentują częstotliwość lub ostatnie użycie każdej pamięci, wdrażając podstawowy schemat aktywacji pierwotnie opracowany dla ACT-R. Podczas wyszukiwania pobierana jest struktura w SMEM, która pasuje do zapytania i ma najwyższą aktywację. Soar obsługuje również aktywację rozprzestrzeniania , gdzie aktywacja rozprzestrzenia się ze struktur SMEM, które zostały odzyskane do pamięci roboczej, na inne pamięci długoterminowe, z którymi są one powiązane. Te wspomnienia z kolei rozprzestrzeniają aktywację na sąsiednie wspomnienia, z pewnym rozkładem. Aktywacja rozprzestrzeniania jest mechanizmem umożliwiającym bieżącemu kontekstowi wpływanie na pobieranie z pamięci semantycznej.
Epizodyczna pamięć
Pamięć epizodyczna (EPMEM) automatycznie zapisuje migawki pamięci roboczej w strumieniu czasowym. Wcześniejsze odcinki można pobrać do pamięci roboczej za pomocą zapytania. Po odzyskaniu odcinka można odtworzyć następny (lub poprzedni) odcinek. Agent może wykorzystać EPMEM do sekwencyjnego odtwarzania epizodów ze swojej przeszłości (pozwalając mu przewidzieć skutki działań), odzyskać określone wspomnienia lub wyszukać epizody posiadające określone struktury pamięci.
Uczenie się
Każda pamięć długoterminowa Soar ma powiązane mechanizmy uczenia się online, które tworzą nowe struktury lub modyfikują metadane w oparciu o doświadczenie agenta. Na przykład Soar uczy się nowych reguł pamięci proceduralnej poprzez proces zwany fragmentacją i wykorzystuje uczenie wzmacniające do dostrajania reguł związanych z wyborem operatorów.
Rozwój agenta
Standardowe podejście do tworzenia agenta w Soar zaczyna się od napisania reguł, które są ładowane do pamięci proceduralnej i zainicjowania pamięci semantycznej odpowiednią wiedzą deklaratywną. Proces rozwoju agenta jest szczegółowo wyjaśniony w oficjalnym podręczniku Soar, a także w kilku samouczkach dostępnych na stronie internetowej grupy badawczej .
Oprogramowanie
Architektura Soar jest utrzymywana i rozwijana przez grupę badawczą Johna Lairda z University of Michigan. Obecna architektura jest napisana w kombinacji C i C++ i jest dostępna bezpłatnie (licencja BSD) na stronie internetowej grupy badawczej .
Soar może łączyć się z zewnętrznymi środowiskami językowymi, w tym C++, Java, Tcl i Python za pośrednictwem Soar Markup Language (SML). SML to podstawowy mechanizm tworzenia instancji agentów Soar i interakcji z ich łączami we/wy.
JSoar to implementacja Soara napisana w Javie. Jest utrzymywany przez SoarTech , firmę zajmującą się badaniami i rozwojem sztucznej inteligencji. JSoar ściśle śledzi implementację architektury University of Michigan, chociaż generalnie nie odzwierciedla najnowszych osiągnięć i zmian tej wersji C/C++.
Aplikacje
Poniżej znajduje się historyczna lista różnych obszarów aplikacji, które zostały zaimplementowane w Soarze. W Soarze zaimplementowano ponad sto systemów, choć zdecydowana większość z nich to zadania zabawkowe lub puzzle.
Puzzle i gry
W całej swojej historii Soar był używany do wdrażania szerokiej gamy klasycznych łamigłówek i gier AI, takich jak Tower of Hanoi, Water Jug, Tic Tac Toe, Eight Puzzle, Missionaries i Cannibals oraz odmian świata Blocks . Jednym z pierwszych osiągnięć Soar było wykazanie, że wiele różnych słabych metod w naturalny sposób wynikałoby z zakodowanej w nim wiedzy o zadaniu, właściwości zwanej uniwersalną słabą metodą.
Konfiguracja komputera
systemu eksperckiego R1 ( XCON ) , opracowanego przez Johna McDermotta do konfigurowania komputerów DEC. R1-Soar zademonstrował zdolność Soar do skalowania do problemów o średniej wielkości, stosowania hierarchicznego rozkładu zadań i planowania oraz przekształcania celowego planowania i rozwiązywania problemów w reaktywną realizację poprzez dzielenie.
Rozumienie języka naturalnego
NL-Soar był systemem rozumienia języka naturalnego opracowanym w Soar przez Jill Fain Lehman, Ricka Lewisa, Nancy Green, Deryle Lonsdale i Grega Nelsona. Obejmował możliwości rozumienia, generowania i dialogowania języka naturalnego, kładąc nacisk na przyrostowe analizowanie i generowanie w czasie rzeczywistym. NL-Soar był używany w eksperymentalnej wersji TacAir-Soar oraz w NTD-Soar.
Symulowani piloci
Drugie zastosowanie Soar na dużą skalę polegało na opracowaniu agentów do wykorzystania w szkoleniu w symulacji rozproszonej na dużą skalę. Dwa główne systemy do latania w amerykańskich taktycznych misjach powietrznych zostały opracowane wspólnie na Uniwersytecie Michigan i Information Sciences Institute (ISI) Uniwersytetu Południowej Kalifornii. System Michigan nosił nazwę TacAir-Soar i latał (w symulacji) stałopłatowymi misjami taktycznymi wojskowymi Stanów Zjednoczonych (takimi jak wsparcie z powietrza, uderzenia, CAP , tankowanie i SEAD misje). System ISI nosił nazwę RWA-Soar i wykonywał misje wiropłatów (helikopterów). Niektóre z możliwości włączonych w TacAir-Soar i RWA-Soar to uwaga, świadomość sytuacyjna i adaptacja, planowanie w czasie rzeczywistym i dynamiczne przeplanowanie oraz złożona komunikacja, koordynacja i współpraca między kombinacjami agentów Soar i ludzi. Systemy te brały udział w Syntetycznym Teatrze Wojny DARPA (STOW-97) Advanced Concept Technology Demonstration (ACTD), która w tamtym czasie była największym pokazem środków syntetycznych we wspólnej przestrzeni bojowej w ciągu 48 godzin i obejmowała szkolenie personelu czynnej służby. Systemy te wykazały wykonalność wykorzystania agentów AI do szkolenia na dużą skalę.
PARA
Jednym z ważnych następstw projektu RWA-Soar było opracowanie STEAM przez Milind Tambe , ramy elastycznej pracy zespołowej, w której agenci utrzymywali modele swoich kolegów z zespołu, korzystając z ram wspólnych intencji Cohena i Levesque'a .
NTD-Soar
NTD-Soar był symulacją Dyrektora Testów NASA (NTD), osoby odpowiedzialnej za koordynację przygotowań promu kosmicznego NASA przed startem. Był to zintegrowany model poznawczy, który obejmował wiele różnych złożonych zdolności poznawczych, w tym przetwarzanie języka naturalnego , uwagę i wyszukiwanie wizualne oraz rozwiązywanie problemów w szerokim modelu agenta.
Wirtualni ludzie
Soar został wykorzystany do symulacji wirtualnych ludzi wspierających bezpośrednie dialogi i współpracę w wirtualnym świecie opracowanym w Institute of Creative Technology w USC. Wirtualni ludzie mają między innymi zintegrowane zdolności percepcji , rozumienia języka naturalnego , emocji , kontroli ciała i działania.
Sztuczna inteligencja gier i aplikacje mobilne
Agenci sztucznej inteligencji w grach zostali stworzeni przy użyciu Soar do gier takich jak StarCraft , Quake II , Descent 3 , Unreal Tournament i Minecraft [ potrzebne źródło ] , obsługując takie możliwości, jak rozumowanie przestrzenne , strategia czasu rzeczywistego i przewidywanie przeciwnika . Agenci AI zostali również stworzeni do gier wideo, w tym Infinite Mario , które wykorzystywało uczenie się przez wzmacnianie, oraz Frogger II , Space Invaders oraz Fast Eddie, który wykorzystywał zarówno uczenie się przez wzmacnianie, jak i obrazowanie mentalne .
Soar może działać natywnie na urządzeniach mobilnych . Aplikacja mobilna do gry Liar's Dice została opracowana dla systemu iOS , która obsługuje architekturę Soar bezpośrednio z telefonu jako silnik AI przeciwników.
Robotyka
Wiele różnych aplikacji robotycznych zostało zbudowanych przy użyciu Soar od czasu wdrożenia oryginalnego Robo-Soar w 1991 roku do sterowania ramieniem robota Puma. Obejmowały one zakres od sterowania robotami mobilnymi po humanoidalne roboty REEM obsługujące zadania, roboty-muły i bezzałogowe pojazdy podwodne .
Interaktywna nauka zadań
Obecnym celem badań i rozwoju społeczności Soar jest interaktywne uczenie się zadań (ITL), automatyczne uczenie się nowych zadań, cech środowiska, ograniczeń behawioralnych i innych specyfikacji poprzez naturalną interakcję instruktora. Badania w ITL zostały zastosowane do gier stołowych i nawigacji w wielu pokojach.
Planowanie
Na początku Merle-Soar zademonstrował, w jaki sposób Soar może nauczyć się złożonego zadania planowania, wzorowanego na głównym człowieku zajmującym się planowaniem w zakładzie produkującym szyby samochodowe w pobliżu Pittsburgha.
Zobacz też
Bibliografia
- Laird, 2012 Szybująca architektura kognitywna
- Lehman, Laird i Rosenbloom, 2006 Delikatne wprowadzenie do Soar: aktualizacja z 2006 r.
- Rosenbloom, Laird i Newell, 1993 The Soar Papers: Readings on Integrated Intelligence , Information Sciences Institute