Szybować (architektura poznawcza) - Soar (cognitive architecture)

Soar to architektura kognitywna , stworzona przez Johna Lairda , Allena Newella i Paula Rosenblooma z Carnegie Mellon University . (Rosenbloom nadal pełnił funkcję współkierownika badań po przeniesieniu się na Uniwersytet Stanforda , a następnie do Instytutu Nauk Informacyjnych Uniwersytetu Południowej Kalifornii ). Obecnie jest on utrzymywany i rozwijany przez grupę badawczą Johna Lairda na Uniwersytecie Michigan .

Celem projektu Soar jest opracowanie stałych, obliczeniowych bloków konstrukcyjnych niezbędnych dla ogólnych inteligentnych agentów – agentów, którzy mogą wykonywać szeroki zakres zadań oraz kodować, używać i uczyć się wszelkiego rodzaju wiedzy, aby zrealizować pełen zakres zdolności poznawczych zawartych w ludzi, takich jak podejmowanie decyzji, rozwiązywanie problemów, planowanie i rozumienie języka naturalnego. Jest to zarówno teoria, czym jest poznanie, jak i obliczeniowa implementacja tej teorii. Od swoich początków w 1983 roku jako teza Johna Lairda była szeroko wykorzystywana przez badaczy sztucznej inteligencji do tworzenia inteligentnych agentów i modeli poznawczych różnych aspektów ludzkiego zachowania . Najbardziej aktualnym i wyczerpującym opisem Soar jest książka z 2012 roku, The Soar Cognitive Architecture.

Teoria

Soar zawiera wiele hipotez dotyczących struktur obliczeniowych leżących u podstaw ogólnej inteligencji , z których wiele jest wspólnych z innymi architekturami poznawczymi, w tym ACT-R , stworzonym przez Johna R. Andersona i LIDA , stworzonym przez Stana Franklina . Ostatnio nacisk na Soar był kładziony na ogólną sztuczną inteligencję (funkcjonalność i wydajność), podczas gdy nacisk na ACT-R zawsze był kładziony na modelowanie poznawcze (szczegółowe modelowanie ludzkiego poznania).

Oryginalną teorią poznania leżącą u podstaw Soar jest Hipoteza Problemu Przestrzeni, opisana w książce Allena Newella , Unified Theories of Cognition . i sięga jednego z pierwszych stworzonych systemów sztucznej inteligencji, Newell, Simon and Shaw 's Logic Theorist , po raz pierwszy przedstawionego w 1955 roku. The Problem Space Hipoteza twierdzi, że wszystkie zachowania zorientowane na cel mogą być rzucane jako przeszukiwanie przestrzeni możliwych stanów ( przestrzeń problemowa ) podczas próby osiągnięcia celu. Na każdym kroku wybierany jest pojedynczy operator, a następnie aplikowany do aktualnego stanu agenta, co może prowadzić do zmian wewnętrznych, takich jak odzyskiwanie wiedzy z pamięci długotrwałej lub modyfikacje lub działania zewnętrzne na świecie. (Nazwa Soara wywodzi się z tego podstawowego cyklu Stan, Operator i Wynik; jednak nie jest już uważana za akronim). Nieodłącznym elementem Hipotezy Problemowej Przestrzeni jest to, że każde zachowanie, nawet złożone czynności, takie jak planowanie, jest rozkładalne w sekwencję selekcji i zastosowania operatorów prymitywnych, które po zmapowaniu 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 wyboru i zastosowania są realizowane poprzez równoległe uruchamianie reguł, które zapewniają zależne od kontekstu pobieranie wiedzy proceduralnej.

Trzecia hipoteza mówi, że jeśli wiedza dotycząca wyboru lub zastosowania operatora jest niekompletna lub niepewna, powstaje impas i architektura automatycznie tworzy podstan. W stanie podrzędnym ten sam proces rozwiązywania problemów jest rekurencyjnie używany, ale w celu odzyskania lub odkrycia wiedzy, aby podejmowanie decyzji mogło być kontynuowane. Może to prowadzić do stosu podstanów, w których w naturalny sposób powstają tradycyjne metody problemowe, takie jak planowanie lub hierarchiczna dekompozycja zadań . Gdy wyniki utworzone w podstanie rozwiążą impas, podstan i powiązane z nim struktury są usuwane. Całościowe podejście nazywa się Universal Subgoaling.

Te założenia prowadzą do architektury, która obsługuje trzy poziomy przetwarzania. Na najniższym poziomie znajduje się przetwarzanie oddolne, równoległe i automatyczne. Następnym poziomem jest poziom deliberatywny, gdzie wiedza z pierwszego poziomu jest wykorzystywana do proponowania, wyboru i zastosowania pojedynczego działania. Te dwa poziomy wdrażają szybkie, umiejętne zachowanie i z grubsza odpowiadają poziomowi przetwarzania Systemu 1 Kahnemana . Bardziej złożone zachowanie powstaje automatycznie, gdy wiedza jest niekompletna lub niepewna, poprzez trzeci poziom przetwarzania z wykorzystaniem podstanów, w przybliżeniu odpowiadający Systemowi 2.

Czwarta hipoteza w Soar zakłada, ż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 jako moduły niezależne od zadań, w tym: moduł podejmowania decyzji; moduły pamięci (krótkotrwałe wspomnienia przestrzenne/wzrokowe i robocze; długotrwałe wspomnienia proceduralne, deklaratywne i epizodyczne), mechanizmy uczenia się związane ze wszystkimi wspomnieniami długotrwałymi; oraz moduły percepcyjne i motoryczne. Istnieją dalsze założenia dotyczące określonych właściwości tych wspomnień opisanych poniżej, w tym, że cała nauka odbywa się online i jest przyrostowa.

Piąta hipoteza głosi, że elementy pamięci (z wyjątkiem tych w 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 symboli . Ważną ewolucją w Soar jest to, że wszystkie struktury symboliczne mają powiązane metadane statystyczne (takie jak informacje o ostatniej i częstotliwości użycia lub spodziewanej 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 wiedzą o tym, jak robić rzeczy) a pamięcią roboczą (jej reprezentacją bieżącej sytuacji), aby wspierać wybór i zastosowanie operatorów. Informacje w pamięci roboczej są reprezentowane jako symboliczna struktura grafu , zakorzeniona w stanie. Wiedza w pamięci proceduralnej jest reprezentowana jako reguły jeśli-to (zestawy warunków i działań), które są nieustannie dopasowywane do zawartości pamięci roboczej. Gdy warunki reguły pasują do struktur w pamięci roboczej, uruchamia się i wykonuje swoje działania. Ta kombinacja reguł i pamięci roboczej nazywana jest również systemem produkcyjnym . W przeciwieństwie do większości systemów produkcyjnych, w Soar wszystkie zasady, które pasują, działają równolegle.

Zamiast wyboru pojedynczej reguły będącej sednem podejmowania decyzji, podejmowanie decyzji przez Soar odbywa się poprzez wybór i zastosowanie operatorów , które są proponowane, oceniane i stosowane przez reguły. Operator proponują reguły, które testują aktualny stan i tworzą reprezentację operatora w pamięci roboczej oraz akceptowalną preferencję , która 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ą i oceniają go z innymi proponowanymi operatorami. Preferencje są analizowane przez procedurę decyzyjną, która wybiera preferowany operator i instaluje go jako bieżący operator w pamięci roboczej. Reguły, które pasują do bieżącego operatora, są następnie uruchamiane, aby go zastosować i wprowadzić zmiany w pamięci roboczej. Zmiany w pamięci roboczej mogą być prostymi wnioskami, zapytaniami o wydobycie z długoterminowych pamięci semantycznych lub epizodycznych Soara, poleceniami do układu motorycznego 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.

Nauka wzmacniania

Soar obsługuje uczenie ze wzmacnianiem , które dostosowuje 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, substany i chunking

Jeżeli preferencje 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 podstan, którego celem jest rozwiązanie impasu. Dodatkowa wiedza proceduralna może następnie zaproponować i wybrać operatory w stanie podrzędnym, aby uzyskać więcej wiedzy i albo utworzyć preferencje w stanie pierwotnym, albo zmodyfikować ten stan, aby impas został rozwiązany. Podstany zapewniają środki do złożonego wnioskowania na żądanie, w tym hierarchicznej dekompozycji zadań, planowania i dostępu do deklaratywnych pamięci długoterminowych. Po rozwiązaniu impasu wszystkie struktury w podstanie są usuwane z wyjątkiem jakichkolwiek wyników. Mechanizm chunkingu Soara kompiluje przetwarzanie w podstanie, które prowadzi do wyników w regułach. W przyszłości wyuczone reguły automatycznie uruchamiają się w podobnych sytuacjach, aby nie powstał impas, stopniowo przekształcając złożone rozumowanie w przetwarzanie automatyczne/reaktywne. 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 przezwyciężyć impas poprzez ponowne połączenie w innowacyjny i problemowy sposób wiedzy posiadanej przez agenta Soar.

Symboliczne wejście i wyjście

Symboliczne wejście i wyjście odbywa się poprzez struktury pamięci roboczej dołączone do najwyższego stanu zwanego łą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, położenie, położenie względne i skala. Agent Soar korzystający z SVS może tworzyć filtry, aby automatycznie wyodrębniać cechy i relacje 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ć ich do obrazowania mentalnego. Na przykład agent może utworzyć hipotetyczny obiekt w SVS w danej lokalizacji i zapytać, czy koliduje z jakimikolwiek postrzeganymi obiektami.

Pamięć semantyczna

Pamięć semantyczna (SMEM) w Soar jest zaprojektowana jako bardzo duża pamięć długotrwała zawierająca struktury przypominające fakty. Dane w SMEM są reprezentowane jako ukierunkowane wykresy cykliczne. Struktury mogą być przechowywane lub pobierane przez reguły tworzące 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 czas ostatniego użycia każdej pamięci, implementując podstawowy schemat aktywacji pierwotnie opracowany dla ACT-R. Podczas pobierania pobierana jest struktura w SMEM, która pasuje do zapytania i ma najwyższą aktywację. Soar obsługuje również rozprzestrzenianie aktywacji , gdzie aktywacja rozprzestrzenia się ze struktur SMEM, które zostały przywrócone do pamięci roboczej, do innych pamięci długoterminowych, z którymi są połączone. Wspomnienia te z kolei rozprzestrzeniają aktywację na wspomnienia sąsiadów, z pewnym zanikiem. Aktywacja rozprzestrzeniania się to mechanizm umożliwiający bieżącemu kontekstowi wpływanie na pobieranie z pamięci semantycznej.

Pamięć epizodyczna

Pamięć epizodyczna (EPMEM) automatycznie rejestruje migawki pamięci roboczej w strumieniu czasowym. Wcześniejsze epizody można pobrać do pamięci roboczej za pomocą zapytania. Po pobraniu odcinka można pobrać następny (lub poprzedni) odcinek. Agent może wykorzystać EPMEM do sekwencyjnego odtwarzania epizodów z przeszłości (pozwalając mu przewidzieć skutki działań), odzyskiwania określonych wspomnień lub wyszukiwania epizodów posiadających określone struktury pamięci.

Uczenie się

Każda ze wspomnień długoterminowych 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ł dotyczących pamięci proceduralnej poprzez proces zwany chunkingiem i wykorzystuje uczenie się ze wzmocnieniem do dostrojenia reguł związanych z wyborem operatorów.

Rozwój agenta

Standardowe podejście do tworzenia agenta w Soar zaczyna się od pisania reguł, które są ładowane do pamięci proceduralnej i inicjowania pamięci semantycznej z odpowiednią wiedzą deklaratywną. Proces tworzenia agentów jest szczegółowo wyjaśniony w oficjalnym podręczniku Soar oraz w kilku samouczkach dostępnych na stronie internetowej grupy badawczej .

Oprogramowanie

Rozszerzenie architektury kognitywnej Soar Johna Lairda, 2008.

Architektura Soar jest utrzymywana i rozbudowywana przez grupę badawczą Johna Lairda na Uniwersytecie Michigan. Obecna architektura jest napisana w kombinacji C i C++ i jest swobodnie dostępna (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 Soar napisana w Javie. Jest utrzymywany przez SoarTech , firmę zajmującą się badaniami i rozwojem sztucznej inteligencji. JSoar ściśle śledzi implementację architektury Uniwersytetu 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 Soar. W Soar zaimplementowano już ponad sto systemów, choć zdecydowana większość z nich to zadania zabawkowe lub łamigłówki.

Łamigłówki i gry

W całej swojej historii Soar był używany do wdrażania szerokiej gamy klasycznych łamigłówek i gier AI, takich jak Wieża Hanoi, Water Jug, Tic Tac Toe, Eight Puzzle, Missionaries i Cannibals oraz wariacje świata Blocks . Jednym z początkowych osiągnięć Soara było pokazanie, że wiele różnych słabych metod w naturalny sposób wyniknie z zakodowanej w nim wiedzy zadaniowej, właściwość zwana uniwersalną metodą słabą .

Konfiguracja komputera

Pierwszym zastosowaniem Soar na dużą skalę był R1-Soar, częściowa reimplementacja przez Paula Rosenblooma 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, używania hierarchicznej dekompozycji i planowania zadań oraz przekształcania świadomego planowania i rozwiązywania problemów w reaktywne wykonanie poprzez chunking.

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ł on możliwości rozumienia, generowania i dialogu 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 i NTD-Soar.

Symulowani piloci

Drugie zastosowanie Soar na dużą skalę obejmowało opracowanie agentów do wykorzystania w szkoleniu w wielkoskalowej symulacji rozproszonej. Dwa główne systemy do wykonywania amerykańskich misji taktycznych w powietrzu zostały opracowane wspólnie przez Uniwersytet Michigan i Instytut Nauk Informacyjnych (ISI) Uniwersytetu Południowej Kalifornii. System Michigan nazywał się TacAir-Soar i wykonywał (w symulacji) amerykańskie misje taktyczne na stałym skrzydle (takie jak wsparcie z bliskiej odległości, strajki, CAP , tankowanie i misje SEAD ). System ISI nazywał się RWA-Soar i wykonywał misje z wiropłatami (helikopterami). Niektóre z funkcji zawartych 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 udział w DARPA jest syntetyczny działaniach wojennych (Stow-97) Pozostałe Pojęcie demonstracyjnych (ActD), który w tym czasie był największy Fielding środków syntetycznych wspólnych bojowej przez okres 48 godzin, a udział szkolenia czynny personel dyżurny. Systemy te wykazały opłacalność wykorzystania agentów AI do szkoleń na dużą skalę.

PAROWY

Jednym z ważnych osiągnięć projektu RWA-Soar było opracowanie przez Milind Tambe platformy STEAM do elastycznej pracy zespołowej, w której agenci utrzymywali modele swoich kolegów z zespołu, korzystając ze struktury wspólnych intencji autorstwa Cohen & Levesque .

NTD-Szybuj

NTD-Soar było symulacją Dyrektora Testów NASA (NTD), osoby odpowiedzialnej za koordynację przygotowań wahadłowca 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 , wyszukiwanie uwagi i wzrokowe oraz rozwiązywanie problemów w szerokim modelu agenta.

Wirtualni ludzie

Soar został wykorzystany do symulacji wirtualnych ludzi, wspierając dialogi twarzą w twarz i współpracę w wirtualnym świecie opracowanym w Institute of Creative Technology w USC. Wirtualni ludzie mają między innymi zintegrowane możliwości percepcji , rozumienia języka naturalnego , emocji , kontroli ciała i działania.

Sztuczna inteligencja gier i aplikacje mobilne

Agenci SI gry zostali zbudowani przy użyciu Soar dla gier takich jak StarCraft , Quake II , Descent 3 , Unreal Tournament i Minecraft , obsługując takie funkcje, jak rozumowanie przestrzenne , strategia czasu rzeczywistego i przewidywanie przeciwników . Agenci AI zostali również stworzeni dla gier wideo, w tym Infinite Mario, który wykorzystywał uczenie się ze wzmocnieniem, oraz Frogger II , Space Invaders i Fast Eddie, które wykorzystywały zarówno uczenie się ze wzmocnieniem, jak i obrazy mentalne .

Soar może działać natywnie na urządzeniach mobilnych . Mobilna aplikacja do gry Liar za Dice został opracowany dla iOS , która prowadzi Soar architekturę bezpośrednio z telefonu jako silnik dla przeciwnika AI.

Robotyka

Przy użyciu Soar zbudowano wiele różnych aplikacji robotycznych, odkąd oryginalny Robo-Soar został wdrożony w 1991 roku do sterowania ramieniem robota Puma. Obejmowały one sterowanie robotami mobilnymi, roboty humanoidalne REEM , robotyczne muły i bezzałogowe pojazdy podwodne .

Interaktywna nauka zadań

Obecnie przedmiotem badań i rozwoju społeczności Soar jest interaktywne uczenie się zadań (ITL), automatyczne uczenie się nowych zadań, funkcji środowiska, ograniczeń behawioralnych i innych specyfikacji poprzez naturalną interakcję instruktora. Badania w dziedzinie ITL zostały zastosowane do grania w gry planszowe 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 ludzkim harmonogramie w zakładzie produkcji szyb samochodowych w pobliżu Pittsburgha.

Zobacz też

Bibliografia

Bibliografia

Zewnętrzne linki