Soar (kognitiv arkitektur)
Soar är en kognitiv arkitektur , ursprungligen skapad av John Laird , Allen Newell och Paul Rosenbloom vid Carnegie Mellon University . (Rosenbloom fortsatte att fungera som medföreståndare efter att ha flyttat till Stanford University , sedan till University of Southern Californias Information Sciences Institute.) Det underhålls och utvecklas nu av John Lairds forskargrupp vid University of Michigan .
Målet med Soar-projektet är att utveckla de fasta beräkningsbyggstenar som är nödvändiga för generella intelligenta agenter – agenter som kan utföra ett brett spektrum av uppgifter och koda, använda och lära sig alla typer av kunskap för att realisera hela skalan av kognitiva förmågor som finns i människor, såsom beslutsfattande, problemlösning, planering och förståelse av naturliga språk. Det är både en teori om vad kognition är och en beräkningsimplementering av den teorin. Sedan starten 1983 som John Lairds avhandling har den använts i stor utsträckning av AI-forskare för att skapa intelligenta agenter och kognitiva modeller av olika aspekter av mänskligt beteende . Den mest aktuella och heltäckande beskrivningen av Soar är 2012 års bok, The Soar Cognitive Architecture.
Teori
Soar förkroppsligar flera hypoteser om de beräkningsstrukturer som ligger till grund för allmän intelligens , av vilka många delas med andra kognitiva arkitekturer, inklusive ACT-R , som skapades av John R. Anderson , och LIDA , som skapades av Stan Franklin . Nyligen har tyngdpunkten på Soar legat på allmän AI (funktionalitet och effektivitet), medan tyngdpunkten på ACT-R alltid har legat på kognitiv modellering (detaljerad modellering av mänsklig kognition).
Den ursprungliga teorin om kognition som ligger till grund för Soar är Problem Space Hypothesis, som beskrivs i Allen Newells bok, Unified Theories of Cognition . och går tillbaka till ett av de första AI-systemen som skapades, Newell, Simon och Shaw 's Logic Theorist , som först presenterades 1955. Problem Space Hypothesis hävdar att allt målorienterat beteende kan kastas som sökning genom ett utrymme av möjliga tillstånd (ett problemutrymme ) samtidigt som man försöker uppnå ett mål. Vid varje steg väljs en enskild operatör och appliceras sedan på agentens aktuella tillstånd, vilket kan leda till interna förändringar, såsom hämtning av kunskap från långtidsminnet eller modifieringar eller yttre handlingar i världen. (Soars namn kommer från denna grundläggande cykel av tillstånd, operatör och resultat, men det betraktas inte längre som en akronym.) Inneboende i problemutrymmeshypotesen är att allt beteende, även en komplex aktivitet som planering, är nedbrytbart i en sekvens av urval och tillämpning av primitiva operatorer, som när de kartläggs på mänskligt beteende tar ~50ms.
En andra hypotes i Soars teori är att även om endast en enda operatör kan väljas vid varje steg, vilket tvingar fram en seriell flaskhals, implementeras processerna för urval och tillämpning genom parallella regelavfyrningar, vilket ger kontextberoende hämtning av procedurkunskap.
En tredje hypotes är att om kunskapen att välja eller tillämpa en operatör är ofullständig eller osäker, uppstår en återvändsgränd och arkitekturen skapar automatiskt ett subtillstånd. I substaten används samma process för problemlösning rekursivt, men med målet att hämta eller upptäcka kunskap så att beslutsfattandet kan fortsätta. Detta kan leda till en stapel av substater, där traditionella problemmetoder, såsom planering eller hierarkisk uppgiftsnedbrytning , naturligt uppstår. När resultat skapade i delstaten löser återvändsgränden tas delstaten och dess associerade strukturer bort. Det övergripande tillvägagångssättet kallas Universal Subgoaling.
Dessa antaganden leder till en arkitektur som stödjer tre nivåer av bearbetning. På den lägsta nivån finns bottom-up, parallell och automatisk bearbetning. Nästa nivå är den deliberativa nivån, där kunskap från den första nivån används för att föreslå, välja och tillämpa en enskild handling. Dessa två nivåer implementerar snabbt, skickligt beteende och motsvarar ungefär Kahnemans system 1-bearbetningsnivå. Mer komplext beteende uppstår automatiskt när kunskapen är ofullständig eller osäker, genom en tredje nivå av bearbetning med hjälp av subtillstånd, ungefär motsvarande System 2.
En fjärde hypotes i Soar är att den underliggande strukturen är modulär, men inte vad gäller uppgifts- eller förmågasbaserade moduler, såsom planering eller språk, utan istället som uppgiftsoberoende moduler inklusive: en beslutsfattande modul; minnesmoduler (kortsiktiga rumsliga/visuella och arbetsminnen; långsiktiga procedurminnen, deklarativa och episodiska minnen), inlärningsmekanismer förknippade med alla långtidsminnen; och perceptuella och motoriska moduler. Det finns ytterligare antaganden om de specifika egenskaperna hos dessa minnen som beskrivs nedan, inklusive att all inlärning är online och inkrementell.
En femte hypotes är att minneselement (förutom de i det rumsliga/visuella minnet) representeras som symboliska, relationella strukturer. Hypotesen att ett symboliskt system är nödvändigt för allmän intelligens är känd som hypotesen om det fysiska symbolsystemet . En viktig utveckling i Soar är att alla symboliska strukturer har associerad statistisk metadata (såsom information om aktualitet och användningsfrekvens, eller förväntad framtida belöning) som påverkar hämtning, underhåll och inlärning av de symboliska strukturerna.
Arkitektur
Behandlingscykel – beslutsförfarande
Soars huvudsakliga bearbetningscykel uppstår från interaktionen mellan procedurminne (dess kunskap om hur man gör saker) och arbetsminne (dess representation av den aktuella situationen) för att stödja valet och tillämpningen av operatörer. Information i arbetsminnet representeras som en symbolisk grafstruktur , rotad i ett tillstånd. Kunskapen i det processuella minnet representeras som om-då- regler (uppsättningar av villkor och handlingar), som kontinuerligt matchas mot innehållet i arbetsminnet. När villkoren för en regel matchar strukturer i arbetsminnet avfyras den och utför sina handlingar. Denna kombination av regler och arbetsminne kallas också för ett produktionssystem . I motsats till de flesta produktionssystem, i Soar, alla regler som matchar, eldar parallellt.
Istället för att valet av en enda regel är kärnan i beslutsfattandet, sker Soars beslutsfattande genom urval och tillämpningar av operatörer , som föreslås, utvärderas och tillämpas av regler. En operatör föreslås av regler som testar det aktuella tillståndet och skapar en representation av operatören i arbetsminnet samt en acceptabel preferens , vilket indikerar att operatören bör övervägas för urval och ansökan. Ytterligare regler matchar den föreslagna operatören och skapar ytterligare inställningar som jämför och utvärderar den mot andra föreslagna operatörer. Preferenserna analyseras genom ett beslutsförfarande, som väljer den föredragna operatören och installerar den som aktuell operatör i arbetsminnet. Regler som matchar den aktuella operatören aktiveras sedan för att tillämpa den och göra ändringar i arbetsminnet. Förändringarna i arbetsminnet kan vara enkla slutsatser, förfrågningar för hämtning från Soars långtidssemantiska eller episodiska minnen, kommandon till det motoriska systemet att utföra åtgärder i en miljö, eller interaktioner med Spatial Visual System (SVS), som är arbetsminnets gränssnitt till perception. Dessa förändringar av arbetsminnet leder till att nya operatörer föreslås och utvärderas, följt av valet av en och dess tillämpning.
Förstärkningsinlärning
Soar stöder förstärkningsinlärning , som justerar värdena för regler som skapar numeriska preferenser för att utvärdera operatörer, baserat på belöning. För att ge maximal flexibilitet finns en struktur i arbetsminnet där belöning skapas.
Återlägen, undertillstånd och chunking
Om preferenserna för operatörerna inte är tillräckliga för att specificera valet av en enskild operatör, eller det inte finns tillräckliga regler för att tillämpa en operatör, uppstår ett återvändsgränd. Som svar på ett återvändsgränd skapas ett subtillstånd i arbetsminnet, med målet att lösa återvändsgränden. Ytterligare procedurkunskaper kan sedan föreslå och välja operatörer i delstaten för att få mer kunskap, och antingen skapa preferenser i det ursprungliga tillståndet eller modifiera det tillståndet så att återvändsgränden löses. Substater ger ett sätt för komplexa resonemang på begäran, inklusive hierarkisk uppgiftsupplösning, planering och tillgång till deklarativa långtidsminnen. När återvändsgränden är löst, tas alla strukturer i substaten bort förutom eventuella resultat. Soars chunking-mekanism sammanställer bearbetningen i substaten som ledde till resultat till regler. I framtiden avfyras de inlärda reglerna automatiskt i liknande situationer så att ingen återvändsgränd uppstår, vilket stegvis omvandlar komplexa resonemang till automatisk/reaktiv bearbetning. Nyligen har den övergripande Universal Subgoaling-proceduren utökats genom en mekanism för målstyrd och automatisk kunskapsbasförstärkning som gör det möjligt att lösa en återvändsgränd genom att kombinera, på ett innovativt och problemorienterat sätt, den kunskap som en Soar-agent besitter.
Symbolisk input och output
Symbolisk ingång och utmatning sker genom arbetsminnesstrukturer kopplade till topptillståndet som kallas ingångslänken och utgångslänken. Om strukturer skapas på utgångslänken i arbetsminnet, översätts dessa till kommandon för externa åtgärder (t.ex. motorstyrning).
Rumsligt visuellt system och mental bildspråk
För att stödja interaktion med synsystem och icke-symboliska resonemang har Soar sitt Spatial Visual System (SVS). SVS representerar internt världen som en scengraf , en samling av objekt och delobjekt som var och en har rumsliga egenskaper som form, plats, pose, relativ position och skala. En Soar-agent som använder SVS kan skapa filter för att automatiskt extrahera funktioner och relationer från sin scengraf, som sedan läggs till i arbetsminnet. Dessutom kan en Soar-agent lägga till strukturer till SVS och använda den för mentala bilder. Till exempel kan en agent skapa ett hypotetiskt objekt i SVS på en given plats och fråga för att se om det kolliderar med några uppfattade objekt.
Semantiskt minne
Semantiskt minne (SMEM) i Soar är designat för att vara ett mycket stort långtidsminne av faktaliknande strukturer. Data i SMEM representeras som riktade cykliska grafer. Strukturer kan lagras eller hämtas med regler som skapar kommandon i ett reserverat område av arbetsminnet. Hämtade strukturer läggs till i arbetsminnet.
SMEM-strukturer har aktiveringsvärden som representerar frekvensen eller den senaste tiden för användning av varje minne, och implementerar basnivåaktiveringsschemat som ursprungligen utvecklades för ACT-R. Under hämtning hämtas strukturen i SMEM som matchar frågan och har högst aktivering. Soar stöder även spridningsaktivering , där aktivering sprids från SMEM-strukturer som har hämtats in i arbetsminnet till andra långtidsminnen som de är kopplade till. Dessa minnen sprider i sin tur aktivering till sina grannminnen, med visst förfall. Spridningsaktivering är en mekanism för att tillåta det aktuella sammanhanget att påverka hämtningar från semantiskt minne.
Episodiskt minne
Episodic Memory (EPMEM) registrerar automatiskt ögonblicksbilder av arbetsminnet i en temporal ström. Tidigare episoder kan hämtas till arbetsminnet genom fråga. När ett avsnitt har hämtats kan nästa (eller föregående) avsnitt sedan hämtas. En agent kan använda EPMEM för att sekventiellt spela igenom episoder från sitt förflutna (så att den kan förutsäga effekterna av åtgärder), hämta specifika minnen eller fråga efter episoder som har vissa minnesstrukturer.
Inlärning
Vart och ett av Soars långtidsminnen har associerade onlineinlärningsmekanismer som skapar nya strukturer eller modifierar metadata baserat på en agents erfarenhet. Till exempel lär sig Soar nya regler för procedurminne genom en process som kallas chunking och använder förstärkningsinlärning för att justera regler som är involverade i valet av operatörer.
Agentutveckling
Standardmetoden för att utveckla en agent i Soar börjar med att skriva regler som laddas in i procedurminnet och initialisera semantiskt minne med lämplig deklarativ kunskap. Processen för agentutveckling förklaras i detalj i den officiella Soar-manualen samt i flera handledningar som finns på forskargruppens webbplats .
programvara
Soar-arkitekturen underhålls och utökas av John Lairds forskargrupp vid University of Michigan. Den nuvarande arkitekturen är skriven i en kombination av C och C++, och är fritt tillgänglig (BSD-licens) på forskargruppens webbplats .
Soar kan samverka med externa språkmiljöer inklusive C++, Java, Tcl och Python genom Soar Markup Language (SML). SML är en primär mekanism för att skapa instanser av Soar-agenter och interagera med deras I/O-länkar.
JSoar är en implementering av Soar skriven i Java. Det underhålls av SoarTech , ett AI-forsknings- och utvecklingsföretag. JSoar följer noga arkitekturimplementeringen vid University of Michigan, även om den i allmänhet inte återspeglar den senaste utvecklingen och ändringarna av den C/C++-versionen.
Ansökningar
Nedan finns en historisk lista över olika applikationsområden som har implementerats i Soar. Det har implementerats över hundra system i Soar, även om de allra flesta av dem är leksaksuppgifter eller pussel.
Pussel och spel
Under hela sin historia har Soar använts för att implementera ett brett utbud av klassiska AI-pussel och spel, som Tower of Hanoi, Water Jug, Tic Tac Toe, Eight Puzzle, Missionaries and Cannibals, och varianter av Blocks- världen . En av Soars första prestationer var att visa att många olika svaga metoder naturligt skulle uppstå från den uppgiftskunskap som kodades i den, en egenskap som kallas Universal Weak Method.
Datorkonfiguration
Den första storskaliga tillämpningen av Soar var R1-Soar, en partiell omimplementering av Paul Rosenbloom av expertsystemet R1 ( XCON ) som John McDermott utvecklat för att konfigurera DEC-datorer. R1-Soar visade förmågan hos Soar att skala till medelstora problem, använda hierarkisk uppgiftsuppdelning och planering, och konvertera avsiktlig planering och problemlösning till reaktivt exekvering genom chunking.
Naturlig språkförståelse
NL-Soar var ett naturligt språkförståelsesystem utvecklat i Soar av Jill Fain Lehman, Rick Lewis, Nancy Green, Deryle Lonsdale och Greg Nelson. Det inkluderade funktioner för förståelse, generering och dialog på naturligt språk, med betoning på inkrementell analys och generering i realtid. NL-Soar användes i en experimentell version av TacAir-Soar och i NTD-Soar.
Simulerade piloter
Den andra storskaliga tillämpningen av Soar involverade utveckling av medel för användning i träning i storskalig distribuerad simulering. Två stora system för att flyga taktiska flyguppdrag i USA samutvecklades vid University of Michigan och Information Sciences Institute (ISI) vid University of Southern California. Michigan-systemet kallades TacAir-Soar och flög (i simulering) med fasta vingar (som närluftsstöd, strejker, CAPs , tankning och SEAD -uppdrag). ISI-systemet kallades RWA-Soar och flög roterande vingar (helikopter) uppdrag. Några av funktionerna i TacAir-Soar och RWA-Soar var uppmärksamhet, situationsmedvetenhet och anpassning, realtidsplanering och dynamisk omplanering, och komplex kommunikation, koordinering och samarbete mellan kombinationer av Soar-agenter och människor. Dessa system deltog i DARPAs Synthetic Theatre of War (STOW-97) Advanced Concept Technology Demonstration (ACTD), som vid den tiden var det största fältet av syntetiska medel i ett gemensamt stridsområde under en 48-timmarsperiod, och involverade utbildning av aktiv tjänstgörande personal. Dessa system visade lönsamheten av att använda AI-agenter för storskalig utbildning.
ÅNGA
En av de viktiga följderna av RWA-Soar-projektet var utvecklingen av STEAM av Milind Tambe , ett ramverk för flexibelt lagarbete där agenter underhåller modeller av sina lagkamrater med hjälp av Cohen & Levesques gemensamma avsiktsramverk .
NTD-Soar
NTD-Soar var en simulering av NASA Test Director (NTD), den person som ansvarar för att koordinera förberedelserna av NASAs rymdfärja före uppskjutning. Det var en integrerad kognitiv modell som inkorporerade många olika komplexa kognitiva förmågor inklusive bearbetning av naturligt språk , uppmärksamhet och visuell sökning och problemlösning i en bred agentmodell.
Virtuella människor
Soar har använts för att simulera virtuella människor som stödjer dialoger ansikte mot ansikte och samarbete inom en virtuell värld utvecklad vid Institute of Creative Technology vid USC. Virtuella människor har integrerade möjligheter för perception , förståelse av naturligt språk , känslor , kroppskontroll och handling, bland annat.
Spel-AI och mobilappar
Game AI-agenter har byggts med hjälp av Soar för spel som StarCraft , Quake II [ citat behövs , Descent 3 , Unreal Tournament och Minecraft ], som stödjer funktioner som rumslig resonemang , realtidsstrategi och motståndares förväntan . AI-agenter har också skapats för videospel inklusive Infinite Mario som använde förstärkningsinlärning och Frogger II , Space Invaders och Fast Eddie, som använde både förstärkningsinlärning och mentala bilder .
Soar kan köras inbyggt på mobila enheter . En mobilapplikation för spelet Liar's Dice har utvecklats för iOS som kör Soar-arkitekturen direkt från telefonen som motorn för motståndarens AI.
Robotik
Många olika robotapplikationer har byggts med Soar sedan den ursprungliga Robo-Soar implementerades 1991 för att styra en Puma-robotarm. Dessa har sträckt sig från mobil robotstyrning till REEM- robotar med humanoid service, funktionsdugliga robotmulor och obemannade undervattensfordon .
Interaktiv uppgiftsinlärning
Ett aktuellt fokus för forskning och utveckling i Soar-gemenskapen är Interactive Task Learning (ITL), den automatiska inlärningen av nya uppgifter, miljöegenskaper, beteendebegränsningar och andra specifikationer genom naturlig instruktörsinteraktion. Forskning inom ITL har tillämpats på bordsspel och navigering i flera rum.
Schemaläggning
Tidigt demonstrerade Merle-Soar hur Soar kunde lära sig en komplex schemaläggningsuppgift modellerad efter den ledande mänskliga schemaläggaren i en vindruteproduktionsanläggning nära Pittsburgh.
Se även
Bibliografi
- Laird, 2012 The Soar Cognitive Architecture
- Lehman, Laird och Rosenbloom, 2006 A Gentle Introduction to Soar: 2006-uppdatering
- Rosenbloom, Laird och Newell, 1993 The Soar Papers: Readings on Integrated Intelligence , Information Sciences Institute
externa länkar
- Soars hemsida på University of Michigan
- Soar: Lista över vanliga frågor
- Soar Techs hemsida
- Paul Rosenbloom