• No results found

Reduktion via metod 2

In document OPTIMERING AV ANN OPTIMIZING ANN (Page 32-38)

Figur 21 Maxvärdet för fitnessen när agentens ANN reduceras. X axeln representerar antalet borttagna vikter.

-200 0 200 400 600 800 1000 1200

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Fitness

Fitness

Linjär (Fitness)

Figur 22 Illustrering av vilka vikter som togs bort efter reduktion enligt metod 2.

Nätverket har från början evolverats för att följa och attackera spelaren.

6.3.1 Analys

Precis som i reduktionen enligt metod 1 (se sektion 6.2) syns en tydlig ökning i fitness när den första vikten tas bort. Ökningen är högre än den som syns i Figur 19 vilket indikerar på att metod 1 inte väljer den mest optimala noden att plocka bort. Men trots att metod 2 väljer den första vikten bättre gör sen sämre ifrån sig vid reduktion nr 7. Notera även att trendlinjerna är väldigt lika, den i Figur 21 korsar 1000 sträcket vid två reduktioner, vilket den andra inte gör. Men de båda möts på 400 fitness vid 12 reduktioner. Notera även att de båda diagrammen har en upphöjning i fitness vid reduktion 13 respektive 8.

Vid observation av Figur 22 syns det åter igen som i både pilotstudien (se sektion 5.4) och reduktion enligt metod 1 (se sektion 6.2) att efter att de gula vikterna tagits bort finns det ingen nod som är helt isolerad. Först när de röda noderna plockas bort isoleras vissa noder.

6.4 Reduktion av ANN i beskrivet i sektion 3.1.2

Tyvärr var ingen evolvering mot flockbeteendet beskrivet i sektion 3.1.2 lyckat. Evolveringen tog aldrig fram ett genom som kunde styra agenten efter spelaren, attackera när den är nära men även hålla avstånd till sina grannar och försöka hålla samma färdriktning. Eftersom det inte fanns ett genom som gjorde vad beteendet beskrev eller uppnådde ett lokal maximum i fitnessutveckling, fanns det även inget genom att reducera. Därför har denna del inte genomförts.

I sektion 5.3.2 beskrivs varför ett genom med beteendet beskrivet i sektion 3.1.2 är svårt att ta fram, dessa problem har kvarstått genom alla relaterade experiment och det viktiga att ta från de misslyckade experimenten (som även förklaras i sektion 5.3.2) är att när agenter evolveras mot flera delmål, får inte dessa delmål motsäga varandra.

7 Slutsats

7.1 Begränsande problem

Det första som är tydligt efter denna undersökning är att ett ANN kan vara mycket svårt att evolvera mot ett mål på ett effektivt sätt. Det finns väldigt många olika saker som kan gå fel och det finns väldigt många tekniker att använda som inte är triviala. Bland annat blev fitnessutvecklingen mycket lättare att analysera när den aldrig minskades av något (endast olika mängd pluspoäng delades ut) och statistik fördes på de olika delarna som påverkade fitnessen. Balanseringen av fitnessutdelningen mellan de olika målen som varit ett genomsyrande problem under hela undersökningen, blev mycket lättare på grund av analyseringsmöjligheterna.

Vissa problem har dock bestått genom hela processen och begränsat resultaten, beteendet som beskrevs i sektion 3.1.2 lyckades tyvärr inte evolveras fram med den teknik som användes. Detta var dock något som förutspåddes till viss del i beskrivningen av beteendet, eftersom en annan liknande undersökning som delade vissa delmål med denna hade misslyckats med samma mål.

Problemet med flockbeteendet beskrivet i sektion 3.1.2 är att processen som används för evolveringen ger ett visst flockbeteende utan att genomet i sig gör det. Ett av de beteenden som belönas i den evolveringen är att agenterna ska ha ett visst avstånd till varandra. Teorin är då att evolveringen ska ta fram ett genom som gör att ANN:et styr agenten ifrån sina grannar. Men eftersom alla tjugo agenter som simuleras samtidigt har lite olika genom (mutationer av varandras gener), rör de sig lite olika även om ingen av deras genom i sig får dem att röra sig från varandra. Så evolveringen tvingas inte att ta fram en lösning för problemet att hålla avstånd eftersom en grupp med agenter med olika genom gör det ändå.

Problemet som förklarats i sektion 5.3.2 finns även kvar, dvs. vissa kriterier i beteendet motsäger varandra. T.ex. ska alla agenter följa spelaren och attackera när de kommer nära.

Men om alla agenter kommer nära innebär det att de befinner sig på nästan samma position, vilket flockbeteendet inte uppmuntrar. Detta gör att ingen av dessa kriterier blir lika bra ihop som de är om de skulle appliceras var för sig.

7.2 Svar på problemställningen

Hur väl löser ett ANN ett givet problem där lösningen evolverats fram, efter att vikter tas bort från nätverket? Svaret skiljer sig väldigt mycket beroende på ANN:et i sig och vilken metod som används för att välja ut vikter att ta bort. Det är tydligt att i denna undersökning med ANN:et som används här, är det fördelaktigt att ta bort vissa vikter eftersom det både höjer ANN:ets fitnessvärde och optimerar nätverket. Vid observation av Figur 19 observeras en ökad fitness fram till att den fjärde vikten tas bort, men fitnessvärdet sjunker heller inte nämnvärt under utgångspunkten (noll vikter borttagna) innan vikt nummer åtta tas bort.

Detta tyder på att (som även förklarats i analysen av pilotstudien sektion 5.4.2) vissa av de gulmarkerade vikterna motarbetar nätverkets uppgift och borde ha värdet 0. Medan de röda faktiskt gör nytta för uppgiften och därmed borde vara kvar.

Fitnessvärdet går heller inte linjärt ner vilket tyder på att vikterna i nätverket har olika stor betydelse för hur hög fitnessvärdet blir. Förhöjningen i av fitnessvärdet i Figur 19 tyder även på att vikter kan motarbeta varandra på ett sådant sätt att när den ena vikten försvinner blir fitnessen sämre pga. att vikten som togs bort neutraliserade den andra viktens dåliga inverkan på nätverket. När den andra vikten sedan tas bort försvinner denna dåliga inverkan och fitnessvärdet stiger åter igen.

Figur 21 illustrerar ett relativt likt resultat. Skillnaden är att här ökar fitnessen mycket mer med första reduktionen medan den minskar tidigare. Att den får så mycket högre fitness vid första reduktioner beror på att algoritmen aktivt sökte efter den reduktionen som skulle ge bäst fitness. Efter det går det dock att spekulera i att kombinationen av reduktionerna från metod 2 ger ett sämre resultat än vid samma antal reduktioner med metod 1 just för att det är en annan kombination. I vilket fall som helst så är det inte uppenbart vilken av metoderna som skulle vara bäst att använda. I vissa situationer kanske den ena är bättre än den andra, men det är inget som denna undersökning kan svara definitivt på.

7.3 Oväntade resultat

Anledningen att från början använda ANN för att styra en agent i ett spel motiverades i sektion 2.5. Bland annat nämns att många agenter styrda med olika ANN med samma struktur kan alla ha ett unikt beteende bara genom att låta deras genom vara lite individuellt muterade.

Under denna undersökning har detta fenomen kunnat observeras ofta. Däremot inte när ett ANN har blivit optimerat med hjälp av reduktionsmetod metod 1 och reduktionen avbrutits innan fitnessen börjat sjunka så lågt att agenten inte längre gör vad den ska. Detta tyder på att dessa borttagna vikter är de som till viss del bidrar till individualiteten i beteendet. När dessa vikter tas bort blir agentens beteende mer exakt och mindre unikt eller mindre "fel"

inom kontexten av agentens uppgift. All individualitet försvinner inte när man reducerar dem, det finns fler aktiva vikter som också skiljer sig mellan mutationer. Men om en vikt i ett ANN får värdet 0.2 från ett genom medan samma vikt i ett annat ANN med ett annat genom får värdet 0.24 kan detta betyda att agenterna får lite olika beteenden. Notera att hur mycket skillnad det blir kan bero på fler saker som vad vikten är kopplad till och hur stor betydelse vikten har för beteendet ren generellt. Men om vikten tas bort helt (alltså 0.2 blir 0.0) skickas värdet inte vidare alls mellan noderna, vilket tar ut en variabel ur ANN helt och hållet. Resultatet som undersökningen har resulterat i antyder på att en koppling finns mellan reduktionen och ANN:ets individualitet hos andra ANN med samma struktur och liknande genom (muterade genom).Individualiteten verkar sjunka ju mer reducerad en ANN struktur blir.

Detta innebär att optimering av ett ANN som används inom spel pga. motiveringarna beskrivet i sektion 2.5, är något som kan orsaka mindre önskade konsekvenser. Om agenterna som användes i detta arbete skulle användas i ett spel för just deras förmåga att bete sig unikt mellan varandra, är en optimering av nätverket som styr dem något som skulle motarbeta hela konceptet av individualitet. Men skulle optimeringen av nätverket gynna spelets prestanda avsevärt om det skulle finnas ett mycket stort antal unika agenter på skärmen samtidigt? Denna balans mellan prestanda och individualitet är helt enkelt en fråga med två sidor som behöver ytterligare testas för att kunna besvaras bättre.

Detta är ett resultat som spelutvecklare kan dra nytta av. Ett ANN går att optimera genom att ta bort vikter. I experimenten presenterade här går ett ANN bättre resultat efter att några vikter reduceras bort vilket även ökar prestandan. Men eftersom individualiteten, som är en av tekniken starka sida, tynar bort allt efter att vikter tas bort är det viktigt för utvecklare att alltid analysera sin spelmekanik och avgöra vilken egenskap som ska prioriteras för att hitta den rätta balansen mellan dem. Resultatet har dock inga direkta etiska eller moraliska aspekter i samhället eftersom arbetet utforskar prestanda som inte har någon etisk eller moralisk anknytning. Däremot relaterar vissa grundläggande koncept som undersökningen krävt till olika moraliska och etiska aspekter, aspekter som till hög grad relaterar till dagens samhälle. Våld i spel och hur detta påverkar unga och gamla spelare. Vissa forskare menar att spel inte påverkar spelare att bli våldsamma eller utföra våldsamma gärningar (Sicart 2005), medan andra påstår det motsatta (DeLisi, Andersson och Gentile 2013). Debatten om våld i spel och dess påverkan på spelare är en relativt ung debatt som själklart inte funnits längre än själva spelindustrin och som hela tiden utvecklas. Mer tid och forskning behövs därför inom ämnet för att kunna bättre fastställa om länken finns och hur i så fall de problem som uppstår i och med detta ska hanteras.

7.4 Framtida arbete

Det mest uppenbara fortsatta arbete på denna undersökning är att analysera fitnessen på reduktion av ANN med mer komplicerade beteenden. Utveckla det till ANN med helt andra uppgifter än vad denna undersökning har testat (som t.ex. ANN för kategorisering eller teckenigenkänning).

Sedan skulle det vara intressant att undersöka hur mycket en reduktion faktiskt kan öka tidseffektivitet hos ett ANN. Titta på vilken typ av ANN som kan tjäna mest tidseffektivitet på en reduktion enligt de metoder som tagits upp. Även undersöka om en reduktion enligt metoderna som tagits upp, kan ge olika resultat på olika evolveringar mot samma beteende.

Det oväntade beteendet beskrivet i sektion 7.3 skulle även det vara mycket intressant att titta närmare på. Jämföra olika reducerade ANN med icke reducerade och se hur individualiteten hos ANN som beskrivs i sektion 2.2 och sektion 2.5 påverkas under olika typer av reduktioner. Jämföra med hur mycket som vinns i individualitet mot prestanda optimering och titta på om en balans finns mellan de både, eller om det beror helt på ändamål.

Vidare kan man se om effekterna av reduktion kan utnyttjas i ett spels upplägg. T.ex. om det eftersökts en fiende som ska blir mer eller mindre intelligent över tid, kan det vara idé att ta bort eller lägga till vikter. Inte heller bara ta bort eller lägga till små vikter eller oviktiga vikter, utan även utforska möjligheterna med en slumpmässig reduktion av ett helt ANN eller reduktion av ett redan reducerat ANN för att öka eller minska intelligensen (fitnessvärdet i detta fall) hos ett ANN.

Referenser

Basu, K.J., Bhattacharyya, D. och Kim, T. (2010) Use of Artificial Neural Network in Pattern Recognition. International Journal of Software Engineering and its Applications. 4 (2), s. 23-34.

Bourg, D.M. & Seemann, G. (2004) AI for Game Developers. 1st edition. O’Reilly Media.

Buckland, M (2002) AI Techniques for Game Programming. Course Technology PTR. Ohio.

Cun, Y.L., Denker, J.S., Solla, S.A. (1990) Optimal Brain Damage: Advances in Neural Information Processing Systems. 2 (1), s. 598-605.

DeLisi, M., Andersson, C. och Gentile, D. (2013) ' Violent video games are a risk factor for criminal behavior and aggression', Iowa State University News Service, 25 Mars, Tillgänglig på Internet:

http://www.news.iastate.edu/news/2013/03/26/violentvideogames [Hämtad 13.09.04]

Felt, N. & Koonce, P. (2012) Evolving Flocking Navigation Controllers for Adaptive Swarms.Tillgänglig på Internet:

http://web.cs.swarthmore.edu/~meeden/cs81/s12/papers/NickPhilPaper.pdf [Hämtad 13.02.05].

Generation5 (2001) Jeff Hannan. generation5. Tillgänglig på Internet:

http://www.generation5.org/content/2001/hannan.asp [Hämtad 13.02.09]

Hassibi, D.B., Stork D.G., och Wolff G.J. (1993). Optimal Brain Surgeon and General Network Pruning. In IEEE International Conference on Neural Networks, 293-299.

Haykin, S. (1998) Neural Networks: A Comprehensive Foundation. 2nd edition. Prentice Hall.

Hertz, J., Krogh, A. och Palmer, R. G. (1991). Introduction to the Theory of Neural Computation Addison-Wesley.

Koster, R. (2004)A Theory of Fun for Game Design: Paraglyph Press; 1 edition.

Larsson, J. & Mänttäri, J. (2011) Applications of Artificial Nerual Networks in Games; An Overview. Tillgänglig på Internet:

http://www.idt.mdh.se/kurser/ct3340/ht11/MINICONFERENCE/FinalPapers/ircse11_s ubmission_5.pdf [Hämtad 13.02.05].

Mitchell, M. (1999) An Introduction to Genetic Algorithms. Fifth Printing. A Bradford Book.

Nicolescu, D. (2010) Evolving a Minimum Input Neural Network Based Controller for the Pac-Man Agent.Annals of the University of Craiova, Mathematics and Computer Science Series. 37 (1), s. 76-85.

Pintér-Bartha, Á. & Sobe, A. & Elmenreich, W. (2012) Towards the light – Comparing Evolved Nerual Network Controller and Finite State Machine Controller. 10th International Workshop on Intelligent Solutions in Embedded Systems. s. 83-87.

Sicart, M (2005), Game, Player, Ethics: A Virtue Ethics Approach to Computer Games, International Review of Information Ethics, 4(1), 13-18

Stanley, K.O., Bryant, B.D. & Miikkulainen, R. (2005) Real-time neuroevolution in the NERO video game. IEEE Transactions on Evolutionary Computation. 9 (6), s. 653– 668.

Yao, X. (1999) Evolving artificial neural networks. Proceedings of the IEEE. 87 (9), s. 1423–

1447.

In document OPTIMERING AV ANN OPTIMIZING ANN (Page 32-38)

Related documents