Simulerad kunskap Från kognitiv vetenskap till autonoma inlärningsalgoritmer MÄLARDALENS HÖGSKOLA den 23 februari 2009, Västerås Skriven av: Christoffer Adolphsson [email protected] Kurs: CDT212 Vetenskapsmetodik ICV02 1 Sammanfattning När vi föds har vi inte någon som helst kunskap om språk eller andra färdigheter som vi idag ser som självklara. Denna empiriska kunskap lär vi oss genom att observera vår omgivning och minnas repetition samt associera. Tekniken är mycket stabil och vi skulle kunna modellera vår omvärld även om vi förlorar några sinnen. Genom att studera hjärnans sätt att lagra kunskap och jämföra det med dagens datoralgoritmer för språkinlärning, kan vi försöka återskapa en liten del av den mänskliga kunskapshanteringen. Detta gör det möjligt att skapa program som läser in helt en vanlig text, tar ut de vanligast förekommande ordparen helt autonomt och utan någon hjälp. Efter denna databehandling kan en fråga utifrån texten ställas och programmet svarar som om den har lärt sig kunskap om ämnet. 2 Innehåll Simulerad kunskap .................................................................................................................. 1 Sammanfattning....................................................................................................................... 1 Sammanfattning....................................................................................................................... 2 Innehåll ....................................................................................................................................... 3 Inledning.................................................................................................................................... 4 Datorer och kunskap ............................................................................................................... 4 Vad är kunskap? ..................................................................................................................... 4 Existerande algoritmer för oövervakad inlärning ................................................................... 4 Kunskapens variant av synvillor ............................................................................................ 5 Slutsatser .................................................................................................................................. 6 Referenser ................................................................................................................................ 7 3 Inledning Ett nyfött barn har ingen som helst kunskap om varken sin omvärld, kunskap om hur man går eller brukar ett språk. Men genom flera år av repetitioner och associationer byggs en världsbild fram. Människan är extremt flexibel i att kunna läras sig ny kunskap. Vi har potential att lära oss vilket språk som helst, men samtidigt är vi ändå så pass stabila att vi kan, efter att anpassa oss lite, leva ett vanligt liv utan problem trots att vi skulle förlora syn, hörsel eller för den skull något annat sinne. Datorer och kunskap Vad är kunskap? Platons definition av kunskap lyder: ”sann, rättfärdigad tro.”, alltså ska forskaren kunna ge rimliga argument för att styrka sin utsaga för att det ska kunna kallas kunskap. Vi kommer i denhär rapporten att hålla oss till s.k. empirisk kunskap, vilket är den kunskap som vi lär oss genom att observera våra sinnesintryck. Andra formar av kunskap kan ses som exempelvis matematik och logiskt tänkande. När vi som barn exempelvis rör vid en varm spisplatta, registrerar vi smärta. Men det är inte förrän vi kopplar ihop den smärta vi känner med själva beröringen som vi har kunskap om att spisplattor kan vara varma. Det betyder att själva kunskapen lika gärna skulle kunna ses som associationer mellan våra sinnesintryck. En dator skulle likväl kunna simulera detta genom att binda samman ord som är väldigt vanligt förekommande tillsammans. Efter en lång tids träning skulle programmet kunna generera egna meningar och upptäcka grammatiska fel utifrån de sannolikheter som lästs in. Detta skulle i princip kunna klassificeras som språklig kunskap. Existerande algoritmer för oövervakad inlärning Här kommer en snabb sammanfattning över de senast utvecklade algoritmerna för oövervakad inlärning. För att få en fullständig förståelse för hur dessa algoritmer fungerar kan kläsaren fördjupa sig i respektive rapport som finns angivet under referenser. Algoritm Beskrivning ADIOS Automatic DIstillation of Structures (ADIOS) [Solan09] är ett projekt utvecklat av Solan Zach på Tel Aviv University med målet att lyckas utveckla en algoritm som lär sig grammatiska regler utan någon förkunskap om språket samt utan någon mänsklig inblandning. Meningar läses in, och jämförs sedan med varandra för att hitta gemensamma uppbyggnader. Confabulation Utvecklad av Robert Hecht-Nielsen, professor adjunkt i datavetenskap och författare till boken Confabulation Theory [Robert07] skapade en algoritm för att generera sannolikheter mellan varje ordpar, och hävdar att dessa länkar mellan olika attribut är den enda rätta definitionen av kunskap. HTM Jeff Hawkins, skapare av numenta [Jeff09]. Jeff utvecklade en egen algoritm för där han sparade sannolikheter för varje enskilt ordpar och 4 sedan även sannolikheten för sannolikhetspar. Efter att ha studerat hur de redan existerande algoritmerna fungerar är det inte så svårt att se hur de alla följer ett visst mönster. Orden läses in och får ett sannolikhetsvärde beroende av hur ofta de ses tillsammans och språkregler byggs upp utifrån dessa data. Skillnaden är att ADIOS sparar sannolikheten för alla ord i hela meningar, Confabulation bygger på att sparar sannolikheten för enskilda ordpar och HTM utökar denna genom att även försöka spara sannolikheten för att vissa länkgrupper förekommer och får därigenom flera nivåer av komplexitet. Kunskapens variant av synvillor Dessa tidigare nämnda forskare har främst fokuserat på att försöka få datorer att kategorisera och lära sig språkregler men jag har jobbat på ett alternativt sätt att utnyttja dessa nät av kunskap till att svara på enkla frågor om texterna som lästs in. De som vill fördjupa dig i hur synen fungerar kan studera synvillor och utifrån synens brister forma hypoteser för hur ögat fungerar. Att försöka hitta illusioner i vår kunskapshantering visar sig vara en svårare uppgift. Jag kan dock personligen minnas en liten lek av okänt ursprung, där en person tillfrågas ”Vilken färg har de flesta kylskåp?”. Offret ifråga svarar förhoppningsvis vitt och när följdfrågan ”Vad dricker korna?” kommer upp är risken väldigt stor att de flesta svarar mjölk trots att svaret till synes verkar vara helt ologiskt efter några sekunders betänkande. För att illustrera hur kunskapshämtningen går till kan ett kunskapsnät ritas (fig.1). Där alla kända ord ritas ut som cirklar och kontakterna däremellan ritas ut som pilar. Om frågan sedan lyder ”Vilken färg har de flesta kylskåp?”, kan vi placera ett finger på kylskåp och ett annat finger på färg. Svaret kommer vara den starkaste bindningen mellan dessa två cirklar. Vilket i det här fallat visar sig vara ”vitt”. Dessa använda cirklar definierar samtalets kontext när nästa fråga ställs, och därför kommer följande svar att påverkas av det tidigare. Se tabell. Eftersom denna teknik får ganska bra stöd från den senaste forskningen kring kognitiv psykologi och de tidigare algoritmerna 5 svart vit kylskåp kök kylvara fär g orange mjöl k vätska ko dricka vatten ’Figur 1: Ett kunskapsdiagram för associationer till mjölk. Mening Arbetsminne Vilken färg har de flesta kylskåp? Vad dricker korna? Starkast koppling Kylskåp -> Vit -> Färg Kylskåp, Vit, Färg Mjölk -> Ko Mjölk -> Dricka Mjölk -> Kylskåp Mjölk -> Vit Slutsatser Och jag tror algoritmen har potential att kunna hantera både mer avancerade konversationer och större kunskapsnät, men det krävs mer forskning kring En sådan vidareutveckling av tekniken skulle på kort sikt kunna användas för att exempelvis utveckla verklighetstrognare chatbotar. Men eftersom ny forskning tyder på att algoritmerna i hjärnan är generella [Jeff09], skulle den mycket väl även kunna användas till taligenkänning, objektkategorisering och många andra sinnesrelevanta forskningsarbeten. Som avslutning kan man fråga sig huruvida det är möjligt att åstadkomma ett lika stabilt system för att få en dator att kunna hantera kunskap som den mänskliga hjärnan? Många av dagens datorer är anslutna till internet, vilket verkar vara en näst intill en ändlös informationskälla. Skulle en maskin kunna omvandla all denna kunskap till ett gigantiskt kunskapsnät kommer vi att få en maskin som kan svara på all världens frågor. 6 Referenser [Jeff09] Hawkins Jeff, “Hierarchical Temporal Memory”, Concepts, Theory, and Terminology numenta.com, 2009-02-25 [Robert07] Hecht-Nielsen Robert, ”Confabulation Theory”, The Mechanism of Thought, 2007 [George05] F Luger George, ”Artificial Intelligence”, Structures and Strategies for Complex Problem Solving, Fifth Edition, pages 606 – 632, 2005, ISBN 0 321 26318 9 [Solan09] Zach Solan, “Unsupervised Learning of Natural Languages”, horn.tau.ac.il, 2006 7