Effektivisering av topologi- og hyperparametersøk i dype nevrale nettverk
Master thesis
Permanent lenke
http://hdl.handle.net/11250/2629589Utgivelsesdato
2019Metadata
Vis full innførselSamlinger
Sammendrag
Den enorme utviklingen innen beregningskraft muliggjør bruk av nevrale nettverk til å løse mer utfordrende oppgaver enn tidligere. Dette resulterer i stadig dypere og mer kompliserte nettverk som gjør designprosessen utfordrene. På grunn av disse utfordringene har det blitt utviklet systemer som automatiserer deler av denne prosessen. Et problem med disse systemene er at de gjerne tar uker å kjøre, selv med enorme mengder beregningskraft.
Denne oppgaven utforsker hvordan man kan redusere tiden systemene bruker ved å dra nytte av menneskelig ekspertise. Systemet utviklet i denne oppgaven lar brukeren konstruere søkerommet som skal utforskes ved hjelp av en prosess vi kaller genomifisering. Brukeren får dermed mulighet til å velge hvilke deler av designprosessen som skal overlates til maskinen, og hvilke deler som overlates til brukeren. Videre undersøkes forskjellen i systemets ytelse ved bruk av tilfeldig søk og evolusjon som søkealgoritmer. Deretter undersøker vi hvilken effekt størrelsen på søkerommet har for de ulike søkestrategiene.
Systemet ble testet ved å søke etter nevrale nettverksarkitekturer for klassifisering i CIFAR-10. I tillegg ble systemet testet på et forsterkende læringsproblem. Eksperimentet gikk ut på la systemet søke etter arkitekturer for tre nevrale nettverk, hvor disse tre nettverkene tilsammen utgjorde en verdensmodell for en DQN-agent. I hvert av eksperimentene ble søkerom med ulik størrelse og søkealgoritme utforsket. For både de store og små søkeromene finner evolusjon bedre løsninger enn tilfeldig søk, men forskjellen er mindre i de mer begrensede søkerommene. Begrensning av søket med menneskelig ekspertise har generelt en positiv effekt på resultatene, spesielt dersom tilfeldig søk brukes som søkestrategi. The immense development in computational power enables the use of neural networks to solve more challenging problems. This results in deeper and more complex networks that complicate the design process. Due to these challenges, systems have been developed that automate parts of this process. However, these systems often take weeks to run, even on large clusters of computers.
This thesis explores how one might reduce the runtime of these systems by leveraging human expertise. The system developed in this thesis allows the user to choose which parts of the design process to automate using a process called genomification. The user is able to choose which parts of the design process that should be handcrafted and which part to leave to the machine. We then examine the difference in performance when using random search versus evolution as a search algorithm. Finally, we examine the effect the size of the search space has on the performance of the system for each search strategy.
The system was tested by searching for neural architectures for classification in CIFAR-10. The system was also tested on a reinforcement learning problem. In this experiment, the system was used to create three neural network architectures. The three networks together constituted a world model that could be used by a DQN-agent. In each of the experiments, search spaces with different size aswell as different algorithms were tested. Evolution found better architectures than random search for both small and large search spaces, but the difference was significantly smaller in the limited search spaces. Limiting the search space with human expertise generally had a positive effect on the results, especially when using random search as a search strategy.