Evolutionary algorithms have achieved great performance among a wide range of optimization problems. In this degree project, the network optimization problem has been reformulated and solved in an evolved way. A feasible evolutionary framework has been designed and implemented to train neural networks in supervised learning scenarios. Under the structure of evolutionary algorithms, a well-defined fitness function is applied to evaluate network parameters, and a carefully derived form of approximate gradients is used for updating parameters. Performance of the framework has been tested by training two different types of networks, linear affine networks and convolutional networks, for a flash call verification task.Under this application scenario, whether a flash call verification will be successful or not will be predicted by a network, which is inherently a binary classification problem. Furthermore, its performance has also been compared with traditional backpropagation optimizers from two aspects: accuracy and time consuming. The results show that this framework is able to push a network training process to converge into a certain level. During the training process, despite of noises and fluctuations, both accuracies and losses converge roughly under the same pattern as in backpropagation. Besides, the evolutionary algorithm seems to have higher updating efficiency per epoch at the first training stage before converging. While with respect to fine tuning, it doesn’t work as good as backpropagation in the final convergence period. / Evolutionära algoritmer uppnår bra prestanda för ett stort antal olika typer av optimeringsproblem. I detta examensprojekt har ett nätverksoptimeringsproblem lösts genom omformulering och vidareutveckling av angreppssättet. Ett förslag till ramverk har utformats och implementerats för att träna neuronnätverk i övervakade inlärningsscenarier. För evolutionära algoritmer används en väldefinierad träningsfunktion för att utvärdera nätverksparametrar, och en noggrant härledd form av approximerade gradienter används för att uppdatera parametrarna. Ramverkets prestanda har testats genom att träna två olika typer av linjära affina respektive konvolutionära neuronnätverk, för optimering av telefonnummerverifiering. I detta applikationsscenario förutses om en telefonnummerverifiering kommer att lyckas eller inte med hjälp av ett neuronnätverk som i sig är ett binärt klassificeringsproblem. Dessutom har dess prestanda också jämförts med traditionella backpropagationsoptimerare från två aspekter: noggrannhet och hastighet. Resultaten visar att detta ramverk kan driva en nätverksträningsprocess för att konvergera till en viss nivå. Trots brus och fluktuationer konvergerar både noggrannhet och förlust till ungefär under samma mönster som i backpropagation. Dessutom verkar den evolutionära algoritmen ha högre uppdateringseffektivitet per tidsenhet i det första träningsskedet innan den konvergerar. När det gäller finjustering fungerar det inte lika bra som backpropagation under den sista konvergensperioden.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-283039 |
Date | January 2020 |
Creators | Yang, Yini |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2020:699 |
Page generated in 0.0026 seconds