Please use this identifier to cite or link to this item:
http://hdl.handle.net/11422/14045
Type: | Dissertação |
Title: | Uma estrutura para execução de redes neurais evolutivas na GPU |
Other Titles: | A structure for evolutionary neural networks in GPU |
Author(s)/Inventor(s): | Mandoju, Jorge Rama Krsna |
Advisor: | Silva, Geraldo Zimbrão da |
Abstract: | [PT] Em neuroevolução, redes neurais são treinadas utilizando algoritmos evolutivos ao invés de utilizar o método do gradiente descendente. Uma das vantagens em relação ao método do gradiente descendente, é que torna possível além de definir o valor dos pesos de uma rede neural, também sua estrutura. Na otimização de redes neurais evolutivas com mesmo peso, são avaliadas todas as redes neurais de uma população para verificar qual é o valor da função fitness que cada rede neural irá possuir e com este valor, verificar quais são as redes neurais que irão passar para a próxima geração. O GPU (Graphic Processor Unit) é bastante utilizado nos treinos de redes neurais, devido a sua alta capacidade de paralelismo [1]. Porém, devido a sua arquitetura ser diferente de um processador comum, alguns algoritmos precisam ser executados de maneira diferente para aproveitar o aumento de desempenho que a arquitetura pode oferecer. Neste trabalho é criada uma arquitetura que seja capaz de diminuir o tempo de treino das redes neurais evolutivas através da junção dos pesos de toda população por camada fazendo com que cada camada represente os pesos de toda população. Desta forma é possível vetorizar as funções de avaliação de redes neurais. No treino para classificar o dataset MNIST, esta estrutura conseguiu obter um ganho de desempenho de até 64% nas redes neurais MLP e um speedup de 20 no cálculo do fitness. |
Abstract: | [EN] In neuroevolution, neural networks are trained using evolutionary algorithms instead of the gradient descent method. One of the advantages over the gradient descent method is that it makes it possible not only to define the value of the weights of a neural network, but also its structure. In the optimization of evolutionary neural networks with the same weight, all neural networks of a population are evaluated to verify what is the value of the fitness function that each neural network will possess and with this value, to verify which are the neural networks that will move on to the next generation. The GPU (Graphic Processor Unit) is widely used in neural network training due to its high parallelism capability [1]. However, because their architecture is different from a common processor, some algorithms need to be executed differently to take advantage of the increased performance that the architecture can provide. In this work an architecture is created that is able to reduce the training time of evolutionary neural networks by joining the weights of all population by layer making each layer represent the weights of the entire population. In this way it is possible to vectorize the evaluation functions of neural networks. In training to classify the MNIST dataset, this structure has achieved a performance gain of up to 64% in neural networks MLP and a speedup of 20 in fitness calculation. |
Keywords: | Redes neurais evolutivas GPU CUDA |
Subject CNPq: | CNPQ::ENGENHARIAS |
Program: | Programa de Pós-Graduação em Engenharia de Sistemas e Computação |
Production unit: | Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia |
Publisher: | Universidade Federal do Rio de Janeiro |
Issue Date: | Aug-2019 |
Publisher country: | Brasil |
Language: | por |
Right access: | Acesso Aberto |
Appears in Collections: | Engenharia de Sistemas e Computação |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
JorgeRamaKrsnaMandoju.pdf | 3.44 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.