Por favor, use este identificador para citar o enlazar este ítem:
http://hdl.handle.net/11422/14045
Especie: | Dissertação |
Título : | Uma estrutura para execução de redes neurais evolutivas na GPU |
Otros títulos: | A structure for evolutionary neural networks in GPU |
Autor(es)/Inventor(es): | Mandoju, Jorge Rama Krsna |
Tutor: | Silva, Geraldo Zimbrão da |
Resumen: | [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. |
Resumen: | [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. |
Materia: | Redes neurais evolutivas GPU CUDA |
Materia CNPq: | CNPQ::ENGENHARIAS |
Programa: | Programa de Pós-Graduação em Engenharia de Sistemas e Computação |
Unidade de producción: | Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia |
Editor: | Universidade Federal do Rio de Janeiro |
Fecha de publicación: | ago-2019 |
País de edición : | Brasil |
Idioma de publicación: | por |
Tipo de acceso : | Acesso Aberto |
Aparece en las colecciones: | Engenharia de Sistemas e Computação |
Ficheros en este ítem:
Fichero | Descripción | Tamaño | Formato | |
---|---|---|---|---|
JorgeRamaKrsnaMandoju.pdf | 3.44 MB | Adobe PDF | Visualizar/Abrir |
Los ítems de DSpace están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.