Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692
Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation... 5 Fuzzy logic och Fuzzy set... 6 Fuzzy set relationer... 7 Computational Theory of Perception... 8 Generalized constraints... 8 Diskussion... 10 Referenser... 11 2
Inledning Människor är bra på många saker som datorer idag har väldigt svårt för. Sådana problem är exempelvis beslutsfattande och problemlösning med begränsad informationstillgång. En teori under utveckling som försöker lösa detta problem är Lotfi A. Zadehs teori om The computational theory of perception (2001), CTP. Denna teori resonerar kring det faktum att dator inte kan hantera information baserad på perception, till exempel parkering av en bil. Att datorer inte kan hantera perception menar Lotfi A. Zadeh är anledningen till att många av dagens AI-problem är så svårlösta. Syfte I denna uppsats tänkte jag försöka förklara Lotfi A. Zadehs idéer om hur perceptionsbaserad information kan användas av en dator för att formulera problem. Samt titta på vilka grundläggande principer som finns för att anpassa datons sätt att hantera information på. I syftet att underlätta representationen av perceptionsbaserad information. Allt detta baseras på fuzzy logic som Lotfi A. Zadeh är grundare av. För att förstå detta är det bra att känna till grunderna i fuzzy logic, vilket jag även kommer ta upp. 3
Kan datorer hantera perception? Datorer kan göra saker som är helt omöjliga för oss människor. En av grundstenarna för forskning inom matematiska områden har varit att försöka omvandla perception till exakta mätningar och siffror. Detta har lett till stora framsteg, som månresor och det faktum att en dator kan göra flera tusen beräkningar i sekunden. På dessa områden är datorn helt överlägsen oss människor (Zadeh, 1999). På andra håll verkar det nästan helt omöjligt för en dator att lösa vissa typer av problem, som att få en dator att parkera en bil, översätta språk eller sammanfatta en text på samma nivå som en människa. Hur kan en dator vara så bra på vissa problem medan den är helt värdelös på andra? Människor upplever nästan allting via perception, vilket gör att vi har blivit väldigt duktiga på att göra ett flertal olika fysiska och mentala saker utan att göra beräkningar och mätningar. Mycket av den information som vi tar till oss via perception har vi sedan omvandlat till mer exakta mätningar, och preciserat detta så att en dator kan använda sig av det. Problemet uppkommer när vi inte har tillgång till tillräckligt mycket information för att kunna göra denna omvandling (Zadeh, 1999). Naturligt språk Människors språk speglar det vi ser och upplever, vilket innebär att mycket av den information som vi människor använder oss av finns i det naturliga språket. Alltså är vår kunskap beskriven i naturligt språk. Datorernas avsaknad av att kunna använda sig av den informationen gör att datorerna blir begränsade. Idag måste vi omvandla vårt språk till datorns språk när vi vill att den ska lösa ett problem. En del av den här kunskapen kan vi idag inte överföra till en dator (Zadeh, 2004). Det finns ett väldigt stor glapp mellan hur vi människor beskriver information och på hur datorer beskriver information. När vi uttrycker ett problem för en dator så måste vi vara väldigt precisa för att en dator ska ha en chans att lösa det. Det går inte idag att ge en dator ett luddigt uttryck och få den att dra slutsatser utifrån det, medan en människa kan dra en mängd slutsatser från samma information. Ett perceptionsbaserat uttryck kan innehålla en stor mängd information som en dator idag inte har förmåga att hantera. Om vi tar till exempel ordet ung, så är det ordet väldig otydligt och luddigt, men de flesta vet ändå vad som menas med det (Zadeh, 2004). 4
Fuzzy Granulation Något som kännetecknar ett perceptionsbaserat uttryck kan vara kategorier som tid, höjd, ålder, temperatur, likhet, relevans och liknade attribut. Det som är gemensamt för alla dessa är att de inte har någon fast gräns. Det går helt enkelt inte att precisera precis vad som menas. Här använder Lotfi A Zadeh (2001) ett uttryck fuzzy granulation, som beskriver någonting som inte har någon fast gräns. Till skillnad från crisp granulation, som har väldigt tydliga gränser. Ett exempel på fuzzy granulation kan vara våra kroppsdelar. Vi vet vart axeln sitter men inte exakt vart den slutar. Det är samma sak med nacke och huvud. Detta är väldigt precis och tydlig information med luddiga gränser, som datorer har väldigt svårt att beskriva. Ett annat exempel är ålder som kan delas upp i olika kategorier utan tydliga gränser; ung, medelårig och gammal. Det finns ingen exakt gräns när någon går från att vara ung till medelålders, utan kan istället beskrivas som en övergång där man under en period är lite minde ung och lite medelålders. Skulle detta istället beskrivas i Crisp Granulation skulle det uttryckas i siffror 1-100. (Se figur 1). Figur 1 Åldersindelning uttryckt i diskreta enheter (crisp), eller i luddiga enheter (fuzzy) 5
Nedan följer ytterligare ett exempel på hur information kan presenteras antingen som perceptionsbaserad, eller med mer exakta mätningar och siffror. Mätbara variabler (crisp) Erik är 25 Det är 25 Arbetslösheten är 4.5% Ingen motsvarighet Perceptionsbaserade variabler (fuzzy) Erik är ung Det är varmt Arbetslösheten är låg De flesta svenskar är blonda Fuzzy logic och Fuzzy set Fuzzy logic ger oss ett verktyg att resonera med information som är ofullständig. Ett viktigt förtydligande med fuzzy logic är att det inte är ett otydligt resonemang, utan ett sätt att resonera med otydlig information (Zadeh, 1999). Vanlig logik som beskriver något som sant eller falskt, probabilistisk logik beskriver hur stor sannolikhet det är för något att vara sant eller falskt. Fuzzy logic eller mer exakt fuzzy set beskriver till vilken grad något är medlem av en kategori. Genom att tilldela ett objekt ett värde mellan [0, 1] så beskriver det till hur stor del objektet till hör en kategori. Där 0 är motsvarigheten till falskt och 1 till Sant. I figur 3 visas hur en medlemskap funktion för kategorin ung kan se ut. Den visar att en person skulle till höra kategorin ung med värde 1 fram till att personen är 20 år, vilket visar att personen är sann till 100 %. Mellan 20 år och 30 år går medlemskapet linjärt neråt till att inte tillhöra kategorin alls vi 30 år (Nguyen & Walker, 1997). 6
Figur 2 Ett exempel på hur en medlemskap funktion för kategorin ung skulle kunna se ut Fuzzy set relationer Precis som i vanlig logik så finns det ett antal regler som vi kan använda. Det operatorerna vi har är AND, OR och NOT. OR: A ᴗB = Max (A, B) Vilket innebär att vi tar det högsta värdet som antingen A eller B är. Erik(Ung) = 0.8 Erik(Medelålders) = 0.6 Erik(ung) = 0.8 Erik(medelålders) = 0.6 Erik(ung) OR Erik(medelålders) = Max (0.8, 0.6) Max (0.8, 0.6) = 0.8 Erik(ung) OR Erik(medelålders) = 0.6 AND: A ᴗB = Min (A, B) Vilket innebär att vi tar det längsta värdet som antingen A eller B är. Erik(Ung) = 0.8 7
Erik(Medelålders) = 0.6 Erik(ung) AND Erik(medelålders) = Min (0.8, 0.6) Max (0.8, 0.6) = 0.8 Erik(ung) AND Erik(medelålders) = 0.6 NOT: ᴗA = 1 - A Erik(ung) = 0.8 ᴦErik(ung) = 1-0.8 = 0.2 Computational Theory of Perception CTP är inspirerad av människans förmåga att kunna handla och resonera utan att göra några beräkningar eller mätningar. Den behandlar hur perceptionsproblem kan utryckas i naturligt språk och hur problemen ska formuleras för att kunna beräknas (Zadeh, 2001). Zadeh (1999) tar upp några problem som skulle kunna använda sig av CTP: Vi vet inte allt, vi har inte tillräckligt med information för exakta mätningar. Vi behöver inte veta allt, vi kan tolerera oprecision vilket kan ge oss en lägre kostnad, mer robust system och bättre anknytning till miljön. Vi kan inte lösa problem med för precis information. Problemet kan inte lösas genom numerisk beräkning. Vi kan inte definieras problemet. När ett uttryck är så komplext att det inte kan beskrivas med siffror. Generalized constraints När vi sak beskriva problem som ovanför för en dator får vi problemet att våra vanliga villkor inte räcker till. Till exempel så har utcheckning från hotellet sker vid 11 inte samma innebörd som utcheckning = 11. Grunden för att kunna göra beräkningar baserade på perception är att ha villkor som motsvarar de lingvistiska uttryck som vi använder oss av. Det kan vi göra genom att introducera nya generaliserade villkor. Genom att representera det med en ny semantik som har elasticitet som representerar det naturliga språket. Vilket ser ut så här: GC(x): X isr R I Uttrycket ovanför visar vilken slags relation X har till R. Ett mer konkret exempel är om vi ska beskriva någon som är ung, så kan det göra så här: 8
Erik is ung ålder(erik) is ung r:et i det första exemplet är en variabel, visar vilket typ av diskret relation X har till R. Det här r:et kan bytas ut mot en mängd olika konstanter för att visa olika typer av relationer som X har till R. Ifall (r = blank) som i exemplet Erik is ung. Så visar det att Erik har en relation till ett Fuzzy Set (ung) Det tre vanligast konstanterna är: X is R: vilket representerar en möjlig relation mellan X och R. Erik is ung ålder(erik) is ung X isp R: vilket representerar en sannolikhets relation mellan X och R Vilket visar vilken sannolikhet X har till en mängd objekt. X isp (0.2/a + 0.4/b + 0.4/c) Vilket visar att X har 0.2 i sannolikhet att anta värde a. X isv R: vilket representerar en sannings relation mellan X och R Där R kan ha flera värden med olika sanningar. Ifall man ska beskriva vilka språk en person pratar flytande kan det beskrivas: Erik pratar flytande Svenska, Engelska och Franska. Flytande(Erik) isv (1/Svenska +0.8/Engelska + 0.1/Franska) Siffran visar till vilken grad som Erik pratar ett visst språk och fungerar som medlemskapet i Fuzzy Set. 9
Diskussion Lotfi A Zadeh argumenterar för att bristen att kunna resonera kring perception har lett till den långsamma utveckling som AI har haft, vilket för mig låter som en vettig anledning. Om dator inte kan behärska de grundläggande principer för hur vi människor hanterar information på. Hur ska den då kunna lösa många av de problem som vi har? Även om bristen kring att inte kunna resonera kring perception har slagit igenom stor än så tror jag det kommer bli viktigare och viktigare med utvecklingen. Lotfi A Zadeh tar upp många intressanta bitar som jag tycker han har löst på ett bra sätt men det är långt ifrån färdigutvecklat. En intressant sak som jag inte sätt han skriva någonting om är hur man ska definiera olika uttryck. Med tanke på att många ord har olika betydelse för olika människor blir det här ett ganska stort problem. Att använda sig av det här i en viss situation går kanske att lösa på ett ganska bra sätt. Men hur gör man det mer generellt? En intressant idé är att kombinera det här med någon slags inlärning som bygger på statistik. Liknade hur google gör för att översätta språk. Vägen till en intelligent dator som kan samspela med människan på något sätt, tror jag bygger mycket på att vi har samma bas av informationshantering. 10
Referenser Nguyen, Hung T., Walker Elbert A. (1997) A First Course in FUZZY LOGIC Zadeh, L.A., (1999). From computing with numbers to computing with words from manipulation of measurements to manipulation of perceptions. Zadeh, L. A. (2001) A New Direction in AI. Toward a Computational Theory of Perception. AI magazine 22(1): 73-84 Zadeh, L. A. (2004) Precisiated natural language (PNL), AI Magazine 25(3): 74 91. 11