Self-Organizing Maps

Relevanta dokument
729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

Att beräkna:: Avstånd

Igenkänning av bilddata med hjälp av Kohonen-nätverk, samt beskrivning av program

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens / Maskininlärning 1. Marco Kuhlmann

Linköpings universitet

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

Karta över Jorden - viktigt exempel. Sfär i (x, y, z) koordinater Funktionen som beskriver detta ser ut till att vara

SELF- ORGANIZING MAPS

Neurovetenskap 30/08/2013. Kognitiv neurovetenskap. Lober. Olika färg, olika vävnadsstruktur. Hjärnbarken

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,

Statistisk mönsterigenkänning

Vektorer, matriser, nätverk - några elementa

Hemuppgift 1, SF1861 Optimeringslära, VT 2017

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann

Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts.

SF1624 Algebra och geometri

Modeller och simulering av språkprocessning

Användning av Self Organizing Maps som en metod att skapa semantiska representationer ur text Per Fallgren

Introduktion till statistik för statsvetare

The sexy job in the next 10 years will be statisticians, said Hal Varian, chief economist at Google. And I m not kidding.

P Q = ( 2, 1, 1), P R = (0, 1, 0) och QR = (2, 2, 1). arean = 1 2 P Q P R

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

Ordinära differentialekvationer,

Talsystem Teori. Vad är talsystem? Av Johan Johansson

SF1545 Laboration 1 (2015): Optimalt sparande

2. Lös ekvationen z i = 2 z + 1 och ge i det komplexa talplanet en illustration av lösningsmängden.

Uppgift 1. Minimeringsproblemet löses med en Monte Carlo algoritm:

Inlärning utan övervakning

Kurragömma i ett socialt nätverk

Matcha rätt hjärta till rätt patient med AI. Dennis Medved

Neural bas för kognition

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

Föreläsning 13 Innehåll

med hjälp av Deep Reinforcement Learning

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

Operatörer och användargränssnitt vid processtyrning

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I

14. Minsta kvadratmetoden

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

Matematisk modellering fortsättningskurs Visuell variation

Vektorgeometri för gymnasister

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Ansiktsigenkänning. Anna Ericsson Linköpings Universitet Linköping

Demonstration av laboration 2, SF1901

reella tal x i, x + y = 2 2x + z = 3. Här har vi tre okända x, y och z, och vi ger dessa okända den naturliga

x 2 x 1 W 24 november, 2016, Föreläsning 20 Tillämpad linjär algebra Innehåll: Projektionssatsen Minsta-kvadratmetoden

Obligatoriska uppgifter i MATLAB

Statistiska samband: regression och korrelation

Kodning av ansiktstextur med oberoende komponenter

Träd och koder. Anders Björner KTH

Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät

x +y +z = 2 2x +y = 3 y +2z = 1 x = 1 + t y = 1 2t z = t 3x 2 + 3y 2 y = 0 y = x2 y 2.

Föreläsning 5: Grafer Del 1

Tentamen 1 i Matematik 1, HF okt 2018, Skrivtid: 14:00-18:00 Examinator: Armin Halilovic

Lösningar kapitel 10

Laboration 1: Optimalt sparande

3i)z 2013(1 ) och ge i det komplexa talplanet en illustration av lösningsmängden.

1 Minkostnadsflödesproblem i nätverk

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 3

Datorövning 1: Fördelningar

Proof. Se uppgifterna. Definition 1.6. Två vektorer u och v är vinkelräta (ortogonala) om < u, v >= 0.

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University

Linjär Algebra, Föreläsning 2

Lösning till tentamen i Medicinska Bilder, TSBB31, DEL 1: Grundläggande 2D signalbehandling

Neurala nätverk vid bildsökning

Tentamen: Datordel Programmeringsteknik

TDDC74 Programmering, abstraktion och modellering. Tentamen

Den svenska bloggosfären i ett ögonkast Slutrapport

Numerisk lösning till den tidsberoende Schrödingerekvationen.

KOKBOKEN 1. Håkan Strömberg KTH STH

Sammanfattning av föreläsning 11. Modellbygge & Simulering, TSRT62. Föreläsning 12. Simulering. Föreläsning 12. Numeriska metoder och Simulering

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Hierarchical Temporal Memory Maskininlärning

Googles sidrankning - linjär algebra värt en förmögenhet

Exempel ode45 parametrar Miniprojekt 1 Rapport. Problemlösning. Anastasia Kruchinina. Uppsala Universitet. Januari 2016

Mekanik FK2002m. Vektorer

SF1901: SANNOLIKHETSTEORI OCH STATISTIKTEORI KONSTEN ATT DRA INTERVALLSKATTNING. STATISTIK SLUTSATSER. Tatjana Pavlenko.

Mall för en kortare rapport/uppsats

LMA521: Statistisk kvalitetsstyrning

Vektorgeometri för gymnasister

2 = 3 = 1. ekvationssystem är beskriven som de vektorer X =

Arrayer (vektorer) Murach s: kap Elektronikcentrum i Svängsta AB

SF1624 Algebra och geometri

Lokal pedagogisk planering i matematik för årskurs 9

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) Måndagen den 13 juni 2005

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

Ansiktsigenkänning med MATLAB

AI-Tekniker. För domänspecifika problemområden i StarCraft 2. Mattias Tiger Fredrik Präntare

Projektion av träningsdata på aktuell underrum av dim 1. Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Kaos i Hénon-Helies systemet

Mönster. Ulf Cederling Växjö University Slide 1

Transkript:

Self-Organizing Maps - oövervakad inlärning i neurala nät

Sammanfattning Self-organizing maps är en modell av neurala nätverk med egenskapen av oövervakad inlärning. En self-organizing map organiserar data så att den kan presenteras statistiskt och visuellt, utan att kräva specificering av förväntat resultat. I detta fördjupningsarbete undersöks idén, arkitekturen och algoritmen bakom en Kohonen-self-organizing map. Avslutningsvis presenteras några av selforganizing maps användningsområden. i

Innehåll 1 Introduktion! 1 1.1 Bakgrund! 1 1.2 Källor! 1 2 Nätverksarkitektur! 2 2.1 Översikt! 2 2.2 Exempel! 3 3 Algoritm! 4 3.1 Översikt! 4 3.2 Initialisering av vikter! 4 3.3 Inmatning! 4 3.4 Beräkning av BMU! 4 3.5 Beräkning av BMU:s lokala grannskap! 5 3.6 Justering av vikter! 6 3.7 Iteration! 7 4 Tillämpningsområden! 8 Källhänvisning! 10 ii

1 Introduktion 1.1 Bakgrund Begreppet Self-Organizing Map (SOM) introducerades av Teuvo Kohonen (Dr. Eng., Professor Emeritus av Finlands Akademi; Academician), 1981 (Kohonen, 1990). Idén är sprungen ur teorier om hjärnans sätt att organisera information. Forskning har visat att hjärnan processar sensorisk input i olika regioner av cerebrala cortex. Dessa regioner, exempelvis visuella cortex, är uppdelade i mindre områden av celler som tillsammans processar signaler genom att bidra med olika kognitiva funktioner. Celler i närliggande områden har visat sig utföra relaterade kognitiva funktioner. Ett exempel på detta är det visuella systemet, där närliggande neuroner i näthinnan projicerar information till närliggande neuroner i en målstruktur, exempelvis superior colliculus (Eglen & Gjorgjieva, 2009). Dessa topologiska samband av områden med liknande kognitiva funktioner ligger till grund för teorier om att vissa områden utvecklas oövervakat genom själv-organisering, dvs. att det existerar en tävlingsartad topologisk omorganisation av information i hjärnan (Taner, 1997). Kohonens modell är en simulering av denna teoretiserade process. 1.2 Källor Informationen jag har använt mig av för att kunna skriva detta fördjupningsarbete härrör sig i huvudsak från internet och från tidskrifter. Många av förklaringsexemplen i detta fördjupningsarbete, innefattande bilder och ekvationer, har lånats från en webbsida skapad av Mat Buckland, AI-programmerare och författare till böckerna Programming game AI by example och AI techniques for game programming. 1

2 Nätverksarkitektur 2.1 Översikt Ett Kohonen-nätverk har två lager av noder, ett inmatningslager och ett utmatningslager. För varje inmatningsvektor som presenteras för nätverket kommer vektorns dimensioner att representeras av noder i inmatningslagret, så att varje nod korresponderar med ett element i inmatningsvektorn. Det finns ingen begränsning av hur många dimensioner inmatningsvektorerna kan vara, men höga dimensioner av data innebär en exponentiell ökning av minneskomplexitet. Utmatningslagret, som representerar själva kartan, kan vara organiserat i godtyckligt antal dimensioner. Vanligast är den tvådimensionella varianten, eftersom utdata vanligtvis ämnas att presenteras i ett överskådligt visuellt format. (Buckland; Germano, 1999) Figur 1 Figur 1 visar ett mycket litet nätverk av 4x4 noder kopplat till ett inmatningslager (i grönt) som representerar en tvådimensionell vektor. Varje nod i utmatningslagret har en topologisk position, dvs. en x-position och en y-position i nätverket, samt en direkt koppling till samtliga noder i inmatningslagret. Varje nod innehåller en vektor av vikter av samma dimensioner som inmatningsvektorerna (Buckland; Germano, 1999). Alltså, om träningsdata innehåller inmatningsvektorerna V, som består av n dimensioner: V1, V2, V3...Vn, kommer varje nod innehålla en motsvarande viktvektor W, av n dimensioner: W1, W2, W3...Wn. Som tidigare nämnt tillåter SOM möjligheten att mata in vektor-data av n dimensioner och representera samma data i lägre dimensioner (vanligtvis två). Denna teknik kallas för vektorkvantisering. Kvantisering är processen av att mappa en stor uppsättning inmatningsvärden till en mindre uppsättning utmatningsvärden, vilket resulterar i en komprimerad datamängd (Gersho & Gray, 1991). Problemet datavisualisering försöker lösa är människans oförmåga att själv visualisera och förstå flerdimensionella data. För att lösa detta problem kan SOM vara ett användbart verktyg (Germano, 1999). 2

2.2 Exempel Figur 2 Figur 2 visar utdata från en Kohonen-SOM av 40x40 noder. I detta nätverk är inmatningslagret en uppsättning av tre noder varav en nod representerar färgen röd, en representerar grön och en representerar blå. Lämplig inmatningsdata till detta nätverk är vektorer av motsvarande tre dimensioner, vars värden varierar så att de kan modellera en önskvärd färg. Om vi antar att vektorerna motsvarar [R,G,B] och att vektorernas värden är av formen 0 < x < 1, kan vi representera färgen röd genom vektor [1,0,0], eller använda [0.5, 0.5, 1] för att representera färgen ljusblå. Om vi matar in n antal träningsdata av denna form i vårt Kohonen-nätverk, kan dessa träningsdata, efter i antal iterationer av Kohonens algoritm, kategoriseras genom själv-organisering. När organiseringsprocessen är slutförd kan de modellerade färgerna för respektive nod ritas ut i ett visuellt format som i Figur 2. 3

3 Algoritm 3.1 Översikt I neurala nätverk distribueras information över nätverkets noder. Under proceduren av självorganisering i en SOM behålls informationens topologiska relation delvis intakt så att information som är liknande kan samlas ihop i närliggande områden. Detta realiseras algoritmiskt genom att ett lokalt grannskap räknas ut för varje iteration, baserat på the best matching unit (BMU); den nod som bäst matchar inmatningsdata. Sedan, när en justering sker av BMU s vikter, har justeringen även verkan på enheterna i det lokala grannskapet. Justeringen innefattar en funktion för att krympa det lokala grannskapet över tid, vilket innebär att influensen som justeringen har på de påverkade nodernas vikter, blir mindre och mer finjusterad för varje iteration. (Kohonen, 1990; Sum et al., 1997; Buckland; Germano, 1999) 3.2 Initialisering av vikter Nätverksnodernas vikter initialiseras enligt en konstruktorfunktion som tilldelar vikterna ett slumpmässigt värde ur ett visst numeriskt intervall (Germano, 1999). I fallet av exemplet ovan, där inmatningsdata representerar färger, var detta intervall bestämt till 0 < x < 1. Detta intervall är arbiträrt och bestäms ofta enligt konvention och beroende av typ av inmatningsdata. 3.3 Inmatning En vektor ur datauppsättningen väljs ut slumpmässigt och matas in i nätverket (Germano, 1999). 3.4 Beräkning av BMU The Best Matching Unit (BMU) är namnet på den nod i nätverket vars viktvektor är mest lik vektorn av den aktuella inmatningsdatan. Proceduren av att utnämna en BMU kallas för en the winner takes it all- mekanism ; En analogi i vilken noderna i nätverket liknas vid medtävlare i en tävling och där BMU är liknas vid en vinnare. Ur denna analogi uppkom även namnet på den kategori av neurala nätverk man kan tillskriva SOM, dvs. Competitive Networks (Kohonen, 1990). Skillnaden mellan nodernas vektorer och inmatningsvektorn kan räknas fram på olika sätt. Ett vanligt tillvägagångssätt är att iterera över samtliga noder och räkna ut det euklidiska avståndet mellan vektorerna (Germano, 1999). Ekvation 1 betecknar det euklidiska avståndet. Ekvation 1, i vilken V står för inmatningsvektorn och W står för nodens viktvektor. 4

Om vi använder oss av inmatningsvektorn som representerar färgen röd [1,0,0], från exemplet ovan och beräknar det euklidiska avståndet från denna vektor till en slumpmässig viktvektor [0.1, 0.5, 0.5] ur nätverket, ser uträkningen ut som följer: distance = sqrt( (1-0.1) 2 + (0-0.4) 2 + (0-0.5) 2 ) = sqrt( (0.9) 2 + (-0.4) 2 + (-0.5) 2 ) = sqrt( 0.81 + 0.16+ 0.25 ) = sqrt(1.22) distance = 1.106 (Buckland) 3.5 Beräkning av BMU:s lokala grannskap Efter att BMU är beräknad måste storleken av ett lokalt grannskap av noder bestämmas. Noderna inom detta grannskap kommer i nästkommande steg av algoritmen att uppdateras på det sätt som utgör simulerad inlärning. Storleken av grannskapet bestäms genom uträkning av BMU:s radie. Radien ska krympa med tiden, dvs. efter ett visst antal iterationer. Efter n antal iterationer kommer det lokala grannskapet att ha minskat till att endast inbegripa BMU (Buckland; Germano, 1999). Figur 3 illustrerar hur det lokala grannskapet minskar över tid. BMU är markerad i gult. Radien är utmärkt med en grön pil. Figur 3 För att ta hänsyn till successiv förminskning vid uträkning av radien kan man använda sig av en exponentiell sönderfallsfunktion (Buckland): Ekvation 2, i vilken Sigma, σ 0, står för bredden av nätverket vid tidpunkten t 0. Lambda, λ, står för en tidkonstant. t är det nuvarande tidssteget, dvs. den nuvarande iterationen. 5

3.6 Justering av vikter Varje nod i BMUs grannskap inklusive BMU, får sina vikter justerade enligt följande ekvation: Ekvation 3, i vilken t representerar tidssteg, Theta, Θ, är en funktion som representerar mängden av influens nodens euklidiska avstånd från BMU kommer att ha på förändringen, L står för Learning Rate och är en variabel som minskar med tid. V står liksom i tidigare exempel och ekvationer för inmatningsvektor och W står för viktvektor. W (t + 1) representerar således vikten under nästkommande tidssteg. Influens, Θ(t), learning rate, L(t), och skillnad mellan inmatningsvektor och viktvektor, (V(t) - W(t)), representerar tillsammans den förändring som ska ske, baserat på nuvarande tillstånd W(t). Introduktionen av funktionen theta, Θ(t), innebär att effekten av inlärning blir proportionerlig mot skillnaden mellan inmatningsvektor och viktvektor. Funktionen är given i Ekvation 4. En illustration av effekten som vill uppnås av inlärning genom justering av BMU och dess lokala grannskap kan ses i Figur 4, där alla värden över 0 betecknar noder och värdet 1 betecknar BMU. Ekvation 4, i vilken dist är skillnaden mellan inmatningsvektor och viktvektor (det euklidiska avståndet, Ekvation 1) och σ är beräkningen av BMUs lokala grannskap (Ekvation 2). Figur 4 6

3.7 Iteration Proceduren repeteras från steg 2 i n iterationer. Antalet iterationer som krävs för att erhålla ett tillfredsställande resultat av inlärningen varierar stort. Kohonen skriver (1990) att det inte finns något optimalt sätt att uppskatta denna siffra; Since learning is a stochastic process, the final statistical accuracy of the mapping depends on the number of steps, which must be reasonably large; there is no way to circumvent this requirement. A rule of thumb is that, for good statistical accuracy, the number of steps must be at least 500 times the number of network units. Det är värt att notera att utfallet av en SOM aldrig blir exakt likadant i de fall man genomför proceduren två eller fler gånger, givet samma uppsättning data (Germano, 1999). Detta är en konsekvens av att vikterna innehåller slumpmässiga värden samt att inmatningsdata presenteras i slumpmässig ordning. Figur 5 visar ett sådant scenario. Figur 5 7

4 Tillämpningsområden Det är vanligt att Self-Organizing Maps används som ett verktyg för datavisualisering (Buckland; Germano, 1999). Vektorkvantisering tillsammans med den tävlingsmässiga inlärningsprocessen utgör en bra metod för att visualisera skillnader och likheter i data. Ett exempel på detta är givet i Figur 5 och Figur 6. Figurerna illustrerar ett försök att kartlägga spridning av livskvalité bland länder, baserat på ett antal faktorer som hälsa, mat och utbildning. I Figur 5 kan utläsas att länder med beräknad högre livskvalité har hamnat uppe i vänstra hörnet medan länder med beräknad lägre livskvalité har hamnat nere i högra hörnet. Länder med liknande förhållanden har bildat färgutmärkta kluster, sedan har länderna inprickats på världskartan (Figur 6). Figur 5!!!!!!! Figur 6 Kohonen använde sin algoritm ursprungligen för taligenkänning, där nätverket utgjorde en fonemkarta. Han lät först en modell av det innre örat utföra frekvensanalys av det finska språket, sedan matade han in resultatet (fonemen) av frekvensanalysen i en SOM. Detta innebar att fonem-kartan automatiskt kategoriserade de inkommande ljuden (Kohonen, 1990). Kohonens fonem-karta är återgiven i Figur 7. Figur 7 8

Forskningsgrupper på Helsinki University of Technology har tagit SOM i bruk genom att bygga ett flertal applikationer. En av applikationerna, som har utvecklats av forskningsgruppen Independent Component Analysis (ICA), är Cocktail party problem, i vilken en SOM processar auditiv information på ett sätt som ämnar efterlikna hur människan separerar olika ljudkällor givet en bullrig ljudbild. En annan grupp, Neural Networks Research Centre (NNRC), har tagit fram ett system för att bläddra genom en textdatabas, WEBSOM, där man får ange, gärna i fulltext, ett önskat ämne och får tillbaka en visuell karta som underlättar informationssökningen. En tredje grupp från universitetet har skapat ett system kallat PicSOM som används för att bläddra genom en bilddatabas. Systemet organiserar och presenterar bilder enligt ett visst antal parametrar som färg, gradient och textur. ([www]: Laboratory of computer and information science, Helsinki University of Technology) Sammanfattningsvis kan self-organizing maps användas i en bred variation av sammanhang, varhelst det finns ett tillfälle för klassificering och visualisering av data. Särskilt användbar kan modellen vara vid hantering av stora mängder data eller data som är komplex och svårtolkad. 9

Källhänvisning Buckland, M. (?). Self-Organizing Maps [www]. Hämtat från http://www.ai-junkie.com/ann/som/ som1.html, 2011-10-01. Eglen, S. J. & Gjorgjieva J. (2009). Self-Organization in the developing nervous system: theoretical models. HFSP Journal Vol. 3, June 2009. Germano, T. (1999). Self-Organizing Maps [www]. Hämtat från http://davis.wpi.edu/%7ematt/ courses/soms/, 2011-10-01. Gersho, A. & Gray, R. M. (1991). Vector quantization and signal compression, pp. 3 4, Kluwer Academic Publishers. Kohonen, T. (1990). The Self-Organizing Map. Proceedings of the IEEE, Vol. 78, No. 9, September 1990. Laboratory of computer and information science, Helsinki University of Technology. Demonstrationsapplikationer av Self-Organizing maps [www]. Hämtat från http:// www.cis.hut.fi/demos/, 2011-10-01. Sum, J. & Leung, C. & Chan, L. & Xu, K. (1997). Yet another algoritm which can generate typography. IEEE transactions on neural networks, Vol. 8, No. 5, September 1997. 10