• No results found

Varje gruppmedlem har skrivit ett individuellt bidrag till kandidatrapporten. Dessa beskrivs kort nedan.

Daniel Covarrubias Gillinhar i appendix A skrivit en jämförelse av parprogrammering på distans med parprogrammering på plats. Utredningen fokuserade på att undersöka skillna- derna på upplevelsen och utförandet mellan parprogrammering på distans och på plats. Gustav Arnevinghar i appendix B jämfört prestanda för olika sätt att spara träningsresultat för Q-learning. Ett antal implementationsförslag testades för att avgöra vilket som skulle vara lämpligast för fortsatt användning.

Joel Alexanderssonhar i appendix C skrivit om ledarskap på distans.

Leon Li Persson har i appendix D skrivit om samtida och framtida risker med AI inom ett militärt sammanhang. En litteraturstudie har gjorts för att identifiera dessa risker – och åtgärder som kan tas för att avvärja eller mitigera dessa.

Lukas Olssonhar i appendix E skrivit om de etiska konsekvenserna av användning av Lethal autonomous weapon systems och hur studenter som studerar data- eller mjukvaruteknik tänker kring det. Detta har gjorts med hjälp av en enkät som studenter har fått svara på.

Martin Banckhar i appendix F skrivit om valen och diskretiseringen av states och actions för Q-matrisen i en Q-learning agent och hur detta påverkar agentens inlärning och prestation.

5.5. Översikt över individuella bidrag

Max Björkanderhar i appendix G skrivit en jämförelse av AI-biblioteken OpenAI Gym och scikit-learn. En utvärdering gjordes av hur de kan användas i studentprojekt och för- och nackdelarna med att använda respektive bibliotek.

I detta avsnitt diskuteras och utvärderas resultatet, systemanatomin, metoden, och potential till vidareutveckling av arbetet.

6.1

Diskussion om resultatet

Efter inlärningen kunde inte ett bra taktiskt beteende observeras hos agenten vilket ses i figur 5.6 då grafen toppar och dalar rätt periodiskt. Grafen når ett lovande belöningsvärde av 7,5 vid ca 150 000 episoder, men detta avtar sedan snabbt igen ner till ett värde av -1 ett tiotusental episoder senare. Belöning definieras sedan tidigare som skillnaden i skada tagen av motståndaren och skada given till motståndaren, där en negativ belöning alltså innebär att AI-agenten mottog mer skada än den själv tillfogade till motståndaren. Av detta kan man konstantera att ett stabilt taktiskt beteende ej uppnås p.g.a. hur oregelbundet belöningen av det glidande medelvärdet växer och avtar.

6.1.1

Förbättringar

Förstärkningsinlärning och Q-inlärning fungerar i teorin och kommer hitta en optimal po- licy för att maximera belöningen för det problemet som är angett – i den mening att den maximerar väntevärdet av den totala belöningen över alla tidssteg som tas. Det kan finnas en mängd med problem som ledde till det mindre än önskvärda resultat som kan observe- ras i figur 5.6. Många beslut som togs vid implementationen var inte självklara. En av dessa problem kan vara att problemformuleringen är angiven på ett suboptimalt sätt med de hyper- parametrar som specificerades. Hyperparametrar här är avdragsfaktor, inlärningsgrad, och utforskingschans, som alla valdes någorlunda oreflekterat efter vad som verkade rimligt från tidigare studier med Q-inlärning.

Val av hyperparametrar skulle kunna förbättras genom att mer systematiskt undersöka dessa med t.ex. hyperparameteroptimeringstekniker såsom grid search och jämföra resultaten med varandra för att sedan använda de värden som ledde till den mest lovande prestationen hos AI-agenten. Detta skulle dock vara oerhört tidskrävande då det tar lång tid att träna AI-agenten och lovande prestation hos agenten ej erhålls förrän ett stort antal episoder in i körningen.

6.2. Systemanatomi

Utöver hyperparametrar var andra värdestilledlningar som kunde göras annorlunda va- let av uppdelning av tillstånd samt belöningsfunktionen. Dessa kan bestämmas på obegrän- sat antal sätt. Likt utvärderingen av hyperparametrar krävs det körning av flera episoder för att få resultat som ger en indikation om belöningsfunktionen och tillståndsindelningarna är välvalda.

Andra tänkbara problem kan vara att någon del av implementationen är felaktig, att in- te nog med episoder kördes för att uppnå optimal konvergering, och att få in ett klockrent önskvärt beteende hos AI-agenten med enbart Q-inlärning inte är tillräckligt. Det suboptima- la resultatet är därför svårt att lokalisera och kan bero på ett flertal anledningar.

För att kunden skulle få ut fullt värde av produkten och kunna applicera det på sitt eget system hade det bästa varit om AI-agenten hade lärt sig ett taktiskt beteende från träning- en. Resultaten hade då pekat på att Q-inlärning kan vara av stort intresse för kunden att undersöka vidare för att kunna implementera i deras simulator. Nu kan inte slutsatsen att fortsätta med Q-inlärning dras. Mer tid för felsökning, alternativt mer tid för att undersöka mer sofistikerade tekniker såsom djup förstärkningsinlärning, hade behövts för att nå dessa resultat.

Något som gjordes för att ge värde för kunden var att ha inplanerade möten med kun- den ifråga där det gicks igenom var projektet befann sig och hur det var tänkt att gå vidare. Detta bidrog till att kunden kunde berätta om det fanns något som de tyckte skulle ändras i planen framåt och vad som skulle prioriteras. Det i sin tur bidrog till att kunden hade en del övergripande kontroll över projektet och kunde få det mer som de ville ha det. Tester har även bidragit till värde för kunden då det har lett till att koden som har utvecklats har varit säkerställt kvalitativ. Detta kan vara av värde för kunden om de bestämmer sig för att utfors- ka mer på ämnet och kan då använda sig av simulatorn om alternativa AI-tekniker utforskas såsom djup Q-inlärning.

6.1.2

Lärdomar

De viktigaste lärdomarna från detta arbete som tas med inför framtiden är hur Scrum som ramverk kan justeras och anpassas för teamet för att projektet ska bedrivas effektivt samti- digt som alla teammedlemmar är nöjda genom att justera parametrar såsom längd på sprints. Även användning av verktyg för att förenkla agil utveckling, såsom GitLabs aktivitetssystem och pipelines för automatiserade tester kommer vara till stor nytta i framtiden. Vana vid pro- jekt i större grupper kommer även att vara till stor nytta då gruppmedlemmarna ej tidigare hade upplevt det till den utsträckning som gavs i detta projekt.

6.1.3

Vidareutveckling

Det finns kvarstående arbete att utföra för att få ett bra taktiskt beteende för AI-modellen. För att förbättra resultatet hade AI-tekniken kunnat utökas så att tekniker såsom djup Q- inlärning, dubbel Q-inlärning, och/eller genetiska algoritmer utnyttjas. Något som hade bli- vit lättare med djup Q-inlärning är att beskrivningen av problemet som modellen ska lösa tar algoritmen hand om själv [37]. Simulatorn som konstruerades i detta projekt var som följd av den pågående pandemin och är något som annars hade varit redundant att lägga ned tid på. Att vidareutveckla denna simulator eller istället försöka överföra AI-modellen till Saabs egna simulatorer, som ursprungligen skulle ha använts, är således ett designval. Tid bör huvud- sakligen läggas ned på att utforska AI-tekniker och försöka uppnå ett bra taktiskt beteende. Förhoppningsvis har detta projekt gjort det lättare för efterkommande utforskning att göras.

6.2

Systemanatomi

Systemanatomin framtogs i början av projektet utav hela projektgruppen. Med hjälp av pro- grammet Miro konstruerades en anatomi som kändes väsentligt översiktlig för upplägget av

produktdesignen. Efter ett tag kom gruppen fram till den systemanatomi som kan ses i figur 5.7. Anatomin har hjälpt att få en gemensam förståelse över hur systemet ska göras vilket är viktigt i projekt så att det inte blir förvirring kring hur saker ska implementeras arkitekturs- mässigt.

Systemanatomin användes dock inte speciellt mycket aktivt utöver den initiala framtag- ningen p.g.a. att det därefter kändes som att gruppen hade rätt bra förståelse för den generella strukturen av produkten – om systemanatomin användes därefter så var det i sådana fall ej gemensamt i grupp utan enskilt. I slutet av projektet kom gruppen överens om att den första versionen av systemanatomin hade varit relevant genom hela projektets gång i den mening att slutprodukten nära reflekterade den. Om den inte hade varit relevant hade den behövts ändras på vid ett senare stadie av projektet för att omstrukturera produktdesignen. Om detta inte görs är det lätt att det är någon i gruppen som inte är med på den nya arkitekturen och börjar implementera den på fel sätt vilket tar tid i onödan.

Related documents