Perception via sensorisk data i robotar Projektarbete Artificiell intelligens 729G43 Julia Skönvall [email protected] Linköpings universitet 2016-01-11 Innehåll 1. Inledning................................................................................................................................. 1 2. Teori och bakgrund ................................................................................................................ 2 2.1 Kognitionens framväxt och betydelse för intelligens ....................................................... 2 2.2.1 Hur kan man implementera perception i ett system? .................................................... 3 2.2.2 Ofullständighet och osäkerhet ....................................................................................... 3 2.2.3 Miljön ............................................................................................................................ 4 3. Roboten Ludwig ..................................................................................................................... 6 3.1 Ludwig och synfärdigheten .............................................................................................. 7 3.2 Logiken i ett top-down informationsflöde ....................................................................... 8 4. Diskussion ............................................................................................................................ 10 5. Referenser............................................................................................................................. 11 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 1. Inledning Teknikens framväxt går framåt och växer och robotar blir allt mer lika människan. Plötsligt så kan vi interagera med system via våra röster såsom Siri, vi kan skanna koder med vår kamera på våra mobiler och en GPS kan visa oss vägen. Robotar och system blir allt mer delaktiga i våran vardag. Några viktiga aspekter som har gjort så att en robot blir mer likt människan är att de kan få in någon typ utav perception. Perceptionen kan vara i form av symbolisk representation, sensorer, top-down information, uppmärksamhet och termer av ofullständighet (Shanahan, 2005). Denna rapport är baserad på Murray Shanahans forskning och teori kring hur man kan implementera en typ utav perception via sensorisk data som blir till meningsfulla representationer i en robot. Shanahan är en professor inom kognitiva robotar på Cognitive Robotics Imperial College i London. Syftet med denna rapport är att få en djupare förståelse för hur ett specifikt system kan fungera inom artificiell intelligens. I detta fall hur ett system fungerar i en robot med den mänskliga egenskapen perception. 1 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 2. Teori och bakgrund Forskning inom artificiell intelligens och teori inom beräkning av vårt medvetande som arbetar med symboliska representationer har svårt att svara på frågan angående vad representationerna verkligen betyder och vad de har för mening. Detta problem går tillbaka så sent som år 1874 där Franz Bretano ställde sig frågan angående hur mentala tillstånd förstår sitt syfte gentemot saker i världen. Inom filosofin har man använt sig av tankeexperimentet det kinesiska rummet av John Searle samt symbol grounding problemet. System som saknar ett syfte eller en avsiktlighet är en robot som är kroppslig. Denna robot kan manipulera de symboler som designern har implementerat i systemet och som har sensomotorisk interaktion med den fysiska världen. På detta sätt blir systemet mer likt människan. De symboliska representationer som byggs upp via en sensomotorisk interaktion kallas för grounded och de tjänar ett syfte tillskillnad mot ett system som är kroppsligt (Shanahan, 2005). Shanahans experiment och studie kommer att handla om logikbaserad AI där fokus inte kommer att läggas på att bygga program med explicita logiker av representation och slutledningar. Snarare är det så att man ska kunna redogöra för en robots perception som är formulerad i ett teoretiskt språk som kan svara på en del frågor. Metodikens kontext är robotiken och dess styrkor som har implementerats på ett antal robotplattformer. Studien innehåller detaljerande svar på många observerade frågor angående ofullständig och osäker sensorisk data, aktiv perception, top-down informationsflöde, uppmärksamhet och sensor fusion. Syftet är att man inte vill studera perception, handling och kognition som enskilda i en robots perception utan man vill se hur de elementen fungerar tillsammans (Shanahan, 2005). 2.1 Kognitionens framväxt och betydelse för intelligens Kognition var något som var definierat i termer av ett logiskt, intelligent system i den fysiska formen av en dator i kognitionens framväxt på 40- och 50-talet. Där talade man om att systemet manipulerade symboler för förstå problem och omgivningen för att anses som ett intelligent system. Detta system kallades för den fysiska symbolsystemhypotesen. Hutchins delade inte samma synsätt som Allen Newell och Herbert Simon som grundade den fysiska symbolsystemhypotesen. Hutchins menar att vi människor inte enbart manipulerar symboler och att vårt tänkande inte enbart sker i vårt huvud. Kognition var för forskarna något abstrakt, något som Hutchins inte höll med om. Hutchins ansåg att människors kognition är att man 2 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 kan hämta in interna symboler men inte manipulera dem. Vi behöver någon typ av output och input både inifrån och utifrån i vår värld (Hutchins, 1995). 2.2.1 Hur kan man implementera perception i ett system? Det finns en grundläggande formel för hur man kan karaktärisera perception som en abduktiv uppgift. Om vi har en ström av low-level sensorisk data som representeras av konjunktionen Γ av en mängd observerade meningar så är själva uppgiften i perceptionen att finna en eller flera förklaringar av konjunktionen Γ bestående av konsekvent logisk beskrivning ∆ av lokalisationen och formen av de hypotiserade objekten. Formeln kommer tillslut att se ut såhär: Σ∧∆ Γ där Σ är själva bakgrundsteorin som säger hur en robot ska kunna interagera med världen med sina sensorer. ∆ kommer i detta fall innehålla en redogörelse som redan är skriven i domänen. Det finns många ∆ som förklarar ett givet Γ, därför introduceras en preferensrelation för att ordna dem. När detta sedan sätts in i en robot kommer ett perceptuellt system att anpassa detta till en teoretisk beskrivning som en perceptuell process. Detta kommer att vävas in i en sluten kontrolloop där output är en oföränderlig ström av uppsättningar av ∆s i svar till en konstant ström av inkommande Γ från robotens sensorer. Detta skulle kunna vara alltifrån att roboten går in i en vägg eller att den använder en stereokamera. Γ kommer bara beskriva sensorisk data på en ”låg nivå” och inte rådata. Γ kan fungera som en beskrivning av kanter utdragna från en bild genom att använda en Sobel-Feldman operator. Eller så kan vara en sekvens av sonara datapunkter som har gått igenom ett Kalmanfilter. Det är den abduktiva processens ansvar att bestämma hur man ska tolka varje sak i low-level data, om det ska bli accepterat eller inte, vad den säger angående närvaro, identitet och gestaltningen av objekt i den externa världen (Shanahan, 2005). 2.2.2 Ofullständighet och osäkerhet Ofullständighet är en viktig del när man exempelvis programmerar agenter i en specifik miljö. En agent, i vårt fall en robot, vet aldrig vilket state, tillstånd, den är i eller vart den kommer att sluta när den inte har några fler handlingar att utföra. För att kunna behandla ofullständighet måste roboten ha ett belief-state som är en representation av alla möjliga tillstånd som finns för systemet. Därefter kan den konfigurera en beredskapningsplan som kan hantera alla möjliga utfall som den får in från sina sensorer. När den får in sensorisk information måste 3 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 den överväga varje möjlig förklaring till dess observationer oavsett om hur det än leder till ett osannolikt, omöjligt stort och komplext representation av agentens belief-state. Maskinella system är begränsade av osäkerhet tillskillnad mot människan, där denna begränsning inte finns (Russel & Norvig, 2014). 2.2.3 Miljön För att få ett föreställande tillvägagångssätt i perception måste man anta att man behöver bygga och bibehålla en komplett och passande modell av miljön med hjälp av ramverken som är beskrivna i sektion 2.2.1. Att miljön är viktig för perception går tillbaks till tidig AIforskning, vi vill bygga robotar som är funktionella i en realistisk miljö. Men detta har också sina nackdelar som är centrala till att förstå intelligens, nämligen osäkerhet och ofullständighet. Osäkerhet uppstår på grund utav att det kan finnas störningar i robotens sensorer. Ofullständighet har två huvudsakliga nackdelar. Den ena nackdelen är att man har en begränsad syn på världen, då sensorerna är begränsade samt robotens enkla spatiala lokalisation. Den andra nackdelen är att ofullständighet är en oundviklig konsekvens då varje robot är unik och har egna specifika mål och förmågor. Därför behöver inte roboten en inre representation för att försöka fånga varje aspekt som finns i den yttre världen (Shanahan, 2005). För att kunna uttrycka detta passar matematisk logik bra kombinerat med en exakt semantik. Man måste designa en tillåten form av ∆ för att dra till nytta av den. Nedan följer ett exempel på hur man formulerar ett uttryck för ett objekt i robotens arbetsutrymme: ∃c, x, w,v[Boundary(c,x) ∧ FromTo(c,w,v) ∧ Distance(w, (-5,5))<1 ∧ Distance(v,(5,5))<1] där Boundary(c,x) företräder linjen c som är en del av begränsningen av objektet x. FromTo(c,w,v) står för linjen c som sträcker ut sig från punkt w till punkt v. Distance(v,w) betecknar avståndet mellan punkterna v och w. I denna formel uttrycks både ofullständighet och osäkerhet på grund utav existenskvantifieringen ∃. Ofullständighet uttrycks i detta fall bara som en del av gränsen till ett enda objekt i formeln. Formeln nämner ingenting om att andra objekt finns eller inte finns. Osäkerhet uttrycks i denna formel då slutpunkterna av 4 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 gränsen är specifika inom ett visst omfång. Lokalisationen av dessa slutpunkter anses relativa till robotens egna perspektiv eftersom det inte finns något antagande om ett absolut koordinatsystem (Shanahan, 2005). Det är också viktigt att kunna representera och designa en god ontologi för rum och form. Nedan kommer en formel visas som är implementerat i ett abduktivt system för visuell perception: ∃ x,a,s,r [Solid(x,a) ∧ Shape(x, Cuboid) ∧ FaceOf(r,x) ∧ SideOf(E0 r)] där Solid(x,a) representerar ett fast objekt x som introducerar aspekten a till åskådaren. Shape(x, s) representerar det fasta objektet x som har formen s. FaceOf(r,x) representerar att den två dimensionella ytan r är ett ”ansikte” av objektet. SideOf(e,r) representerar den synliga kanten e på dess gräns till ytan r. Termen E0 betecknar en viss typ utav visuell kant vilket är en viktig representation eftersom det säger att ett visst objekt är synligt och existerar (Shanahan, 2005). 2.3. Informationsflöde och aktiv perception Inom kognitiv psykologi har det varit sedan länge varit känt att informationsflödet mellan perception och kognition är något typiskt mänskligt. Forskare har diskuterat om informationsflöde som bottom-up och top-down och att high-level kognition har påverkat low-level kognition. Top-down information, som är informationsflödet som Shanahan använder sig av i sitt experiment, anpassas genom att dra nytta av förväntning. Att använda sig av förväntning kan tänka sig vara en form av aktiv perception. Aktiv perception innebär att alla handlingar leder till förvärv av ny information med hjälp av robotens sensorer som sträcker sig från en kort tidsperiod där low-level actions justerar tröskeln av en kantavkänningsrutin. Eller så roteras kameran för att få en annan synvinkel till en längre tidsperiod och uppnår high-level handlingar såsom att klättra upp på toppen av en kulle för att se vad som finns på andra sidan. Det finns nedskärningar inom aktiv perception. En av dem är det som har nämnts ovan såsom low-level, high-level och kort eller lång duration. I den andra nedskärningen har vi mekanismer som sätter igång den informativa handlingen. Detta kunde ha satts igång med hjälp av reaktiva tillstånd, handlingsregler vars sidoeffekt är förvärvet av 5 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 kunskap. Denna mekanism kunde ha varit en vana, en avsikt eller en förväntning. Mekanismen måste kunna maximera den användbara information och minimerar den informationen som inte är nödvändig (Shanahan, 2005). 2.4 Sensor fusion Sensor fusion är ett problem eftersom det är svårt att kombinera tänkbar motstridig data från flera källor som sedan ska sättas i en enda modell som ska vara en aspekt av världen. Formeln som kommer att presenteras senare kommer bygga på något liknande som sektion 2.1. Γ presenterar low-level sensorisk data som kan komma ifrån flera olika sensorer eller från samma sensor men som är processerat i förväg på olika sätt. Om bakgrundsteorin Σ kan fånga upp hur sammanställningen av objekt i världen ger upphov till varje typ av low-level sensor data på ett lyckat sätt så kommer den grundläggande abduktiva karaktäriseringen av perception ta han dom problemen i datafusionen. Bakgrundsteorin måste dock vara säkert designad så att den verkligen fungerar, speciellt om den stöter på motstridig data, såsom störningar. Robotens interaktion med objekt i världen är den inkommande sensoriska data. Då kan Σ ha en formel som kan förklara bort oväntade saker av sensorisk data som störningar. Formler kan avfärda frånvaron av förväntad data som onormala eller ovanliga. Därför måste ∆ tillåtas att inkludera störningar och onormalitet i sina termer (Shanahan, 2005). 3. Roboten Ludwig Tidigare experiment innan Ludwig handlade om Rug Warrior och Khepara. Dessa robotar var ett bevis på att man kan kontrollera robotar via logik. En fråga som förblev observerad var om robotar kunde ha fler sensorer för att jobba i mer komplexa miljöer. Därför startades projektet Ludwig igång. Roboten Ludwig har en humanoid överkropp med stereoskopisk syn. Projektet innefattar idéer från den klassiska AI-tekniken samt andra biologiskt inspirerade robotar. Roboten har två armar som har tre grader frihet var. Ludwig är enkelt mekaniskt byggd för att minska ned på low-level motor control problems och låter projektet fokusera på de centrala frågorna av kognition och perception. Ludwigs huvudsakliga sysselsättning är att leka men den svåraste utmaningen för roboten är att lära sig om objekten i omgivningen och kunna fysiskt interagera med dem. Det visuella systemets uppgift är att plocka ut objekt som systemet är intresserad utav och kunna rikta kameran som Ludwig har på ”huvudet”. Ludwig kan då använda sin syn till att knuffa objekten. Genom dessa förändringar i orientation och 6 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 lokalisation av objekt som roboten har i sin arbetsyta leder detta till en ny och användbar information om objektens form, storlek och utseende (Shanahan, 2005). Projektet fokuserar på människans intelligenta nivå angående kroppsliga kunskaper såsom att greppa tag i saker eller att knuffa dem. Detta grundar sig i aktiv perception. Ludwigs sätt att interagera är också likt bakgrunden till klassisk AI, nämligen att nämna deklarativa representationer i en denotationssemantik. För att nå upp till krav för synförmågan behöver vi utveckla en mycket mer förfinad abduktiv redogörelse för perception. I kärnan av denna behandling av visuell perception finns två framsteg på den grundläggande abduktiva skriften. För det första måste man ha en precis mätning av det förklarande värdet, explanatory values, av en definerad hypotes som är baserad på sannolikhet. Ju större data vi har desto större blir det förklarinade värdet (Shanahan, 2005). 3.1 Ludwig och synfärdigheten Det finns handlingar för att roboten ska kunna bekräfta eller inte bekräfta förväntningarna av hypoteserna och interagera resultatet i en uppdaterad mätning av det förklarande värdet. Den abduktiva processen av mängden low-level sensor data presenteras nedan i fyra punkter: 1. Genom att använda sig av s.k. abduction, ska man kunna åstadkomma en mängd hypoteser som förklarar det sensoriska data 2. Ska välja den bäst lämpade hypotesen beroende på det förklarande värdet 3. För varje vald hypotes kunna bestämma förväntningarna samt återge rådata för att titta på varje del av dessa förväntningar 4. Ska kunna räkna om det förklarande värdet av varje vald hypotes, ta resultat från Steg 3 och göra om hypotesen. För att förstå hur detta system fungerar kan man titta på Figur 1. Bilden i mitten visar resultatet av när man har använt sig av en enkel edge-detection algoritm som är baserad på en Sobel operator av den vänstra bilden. Tröskelvärdet för denna algoritm är högt för att minska mängden felaktig data. Bara några delar har plockat ut av algoritmen, man kan exempelvis se att den vänstra bildens mörka sida inte fångas upp av algoritmen. Detta leder till att man får två hypoteser som svarar till detta. Enligt Hypotes A, som är felaktig, så tittar roboten Ludwig 7 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 på ett kort block där de svaga kanterna till vänster blir som maskerade. Istället enligt den rätta Hypotesen B säger den att roboten Ludwig tittar på ett långt block men flera av blockets kanter saknas. Förväntningarna mellan dessa hypoteser skiljer sig. En konsekvens av den felaktiga Hypotesen A skulle vara att den vertikala kanten från den övre hörnet på den vänstra-handen ”finns” i det föreslagna blocket. En nackdel med Hypotes B är att den översta kanten av blocket skulle förlängas ytterligare till vänster av vad den säger att den gör. Figur 1. Ett tvetydligt block. Bild tagen från Shanahans rapport. Man kan testa dessa förväntningar genom att göra denna algoritm mer känslig än originalet som applicerades här. Förväntningar är inte fullföljande vilket leder till ett minskat värde på explanatory value på Hypotes A. Tillskillnad mot Hypotes A så ökar Hypotes B explanatory value samt att förväntningarna fullföljs (Shanahan, 2005). 3.2 Logiken i ett top-down informationsflöde Man kan även formulera low-level image data precis som i Figur 1 som representeras genom en mängd predikatlogiska formler. Själva low-level data kan anses vara produkten av exempelvis vilken bildbehandlingsteknik som helst. Då kan man använda sig av färgbaserad segmentering eller optisk flöde eller en kombination av dessa. Här fokuserar man som tidigare på hur man kan upptäcka kanter på ett objekt. Kantdata kan bli representerad genom följande formel: Line(1,[238,157],[241,147]) Line(3,[249,157],[253,145]) där Line(w, p1,p1) säger att det finns en kant i bilden som är märkt med w från punkt p1 till punkt p2. Ett abduktivt system kan vara utformat i flera lagrer. Effekten kommer att bli att för 8 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 varje förklarat ∆ på den n:te lagret så kommer data Γ att bli förklarat på lager n plus första lagret. Formler som är abduktiva på lagret n kan bli observerade på lagret n + 1. Det är viktigt att man tar in två lagrer i den abduktiva processen eftersom de olika lagren kan förklara olika saker på varje dimension. Det första lagret kan förklara kanterna i en en-dimensionell i termer av synliga två-dimensionella regioner. Det andra lagret har som uppgift att förklara de synliga regionerna genom att uttrycka sig i termer av spatiala lokaliserade tre-dimensionella objekt. Precis som många andra formler inom abduktiva processer så säger vi att varje lager i denna formel har sin specifika bakgrundsteori Σ. Denna bakgrundteori innehåller tre grupper av logiska formler. Varje grupp spelar olika roller men alla gillar samma anseende från ett och samma deklarativa system. Detta kommer att återspeglas i implementationen. Det första man måste göra är att man har en mängd formler som används för att generera en förklarande hypotes, explanatory hypothesis. För det andra så måste vi ha formler som skildrar begränsningar på den tillåtna hypotesen. För det tredje så måste vi ha en mängd formler som beskriver förväntningarna för varje hypotes. ∃p1, p2[Line(w, p1, p2)] ← ∃r[Region(r) ∧ SideOf(w,r)] ∃p1, p2[Line(w, p1, p2)] ← Noise(w) där varje formel så att Ψ ← Φ, där Ψ är en beskrivning av sensorisk data och Φ är en beskrivning av villkoren som sker när den sensoriska datan stiger. Formlerna ovan säger att det finns en synlig kant och är en sida av en region eller att det kanske är en störning. Predikaten Region, SideOf och Noise sägs vara abduktiva och därmed kan vi förklara en hypotes. Dessa typer av logiska formler implementeras in i Ludwig för att få information om förklarande värden och top-down förväntningar. Implementationen kommer då att bli en form av en logisk programmeringsmetatolk. Systemet har då tagit in visuell data som visas i Figur 1. Nästa steg skulle vara att låta systemet fokusera på Ludwigs kamera för att dra uppmärksamheten till intressanta objekt. 9 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 4. Diskussion När man studerar ett sånt komplext system som Shanahan har beskrivit förstår man hur svårt det har varit för forskare att kunna göra robotar mer mänskliga. Precis som det nämndes i bakgrunden hade kognitionens framväxt svårt att implementera mänskligt beteende, såsom perception då man istället startade med något betydligt enklare och som människan kanske själv mer förstod sig på. Det är avsevärt enklare att implementera in regler i form av matematiska formler. I Shanahans experiment har han använt sig av den logiken i form av semantiska logiska uttryck samt satslogik för att förstå hur en robot kan bearbeta intryck från omvärlden. Detta visar att tekniken verkligen är på framfart då studien visar på att ett system faktiskt kan ha en typ utav perception även om den inte är lika komplex som människans. Shanahan tar också upp mycket om hur ett system kan representera objekt, precis som han nämnde om kantigenkänning. Trots att systemet inte är fullständigt korrekt med tanke på att systemet inte känner igen precis alla kanter på ett objekt så kan den fortfarande tolka informationen som finns i omgivningen. Det är någonting forskning kan bygga vidare på. Först då inser man hur komplext vårt mänskliga öga är, som är en motsvarighet till roboten Ludwigs kamera och dess visuella perceptuella egenskaper som är implementerat i systemet Trots att roboten Ludwig är en väldigt enkel robot så ligger det så mycket teori och tanke bakom honom. Man bygger inte ett system på en dag utan man måste verkligen ta in information från flera olika domäner och källor för att sätta ihop något till ett dugligt system. Shanahan ville inte bara fokusera på just det matematiska utan också symbolisk representation, sensorer, top-down information, uppmärksamhet. Alla dessa element är en stor del av kognition. Med tanke på studiens uppbyggnad skulle jag kunna säga att det är en blandning av kognitionsvetenskaplig teori och artificiell intelligens som har samarbetat för att få fram detta system. Om man jämför med kognitionen som fördes fram på 50-talet ville man fokusera mycket på det matematiska och det beräkningsbara. Det är inte förens nu man har nått fram till den gränsen att man vill lägga fokus på att göra en robot så lik människan som möjligt. 10 729G43 Artificiell intelligens Projektarbete 2017-01-12 Julia Skönvall - julsk477 HT-16 5. Referenser Hutchins, E. (1995). Cognition in the wild. Cambridge: MIT Press. Russel, S., & Norvig, P. (2014). Artificial Intelligence - A Modern Approach, Third Edition . Pearson Education, Inc. Shanahan, M. (2005). Perception as Abduction: Turning Sensor Data Into Meningfull Representation. London: Cognitive Science Society. 11