Uma estrutura para execução de redes neurais evolutivas na GPU

Detalhes bibliográficos
Ano de defesa: 2019
Autor(a) principal: Mandoju, Jorge Rama Krsna
Orientador(a): Silva, Geraldo Zimbrão da
Banca de defesa: Xexéo, Geraldo Bonorino, Alvim, Leandro Guimaraes Marques
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Rio de Janeiro
Programa de Pós-Graduação: Programa de Pós-Graduação em Engenharia de Sistemas e Computação
Departamento: Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia
País: Brasil
Palavras-chave em Português:
GPU
Área do conhecimento CNPq:
Link de acesso: http://hdl.handle.net/11422/14045
Resumo: [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.
id UFRJ_1e97146bed68b6e0183f0a16d107b8ca
oai_identifier_str oai:pantheon.ufrj.br:11422/14045
network_acronym_str UFRJ
network_name_str Repositório Institucional da UFRJ
repository_id_str
spelling Mandoju, Jorge Rama Krsnahttp://lattes.cnpq.br/3937502490683382http://lattes.cnpq.br/4421942859796369Xexéo, Geraldo BonorinoAlvim, Leandro Guimaraes MarquesSilva, Geraldo Zimbrão da2021-04-05T02:17:45Z2021-04-06T03:00:08Z2019-08http://hdl.handle.net/11422/14045[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.[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.Submitted by Paloma Arruda (palomaoliiveira75@gmail.com) on 2021-02-22T19:34:31Z No. of bitstreams: 1 JorgeRamaKrsnaMandoju.pdf: 3520324 bytes, checksum: f79013235c0f6520638d12823319a972 (MD5)Approved for entry into archive by Moreno Barros (moreno@ct.ufrj.br) on 2021-04-05T02:17:45Z (GMT) No. of bitstreams: 1 JorgeRamaKrsnaMandoju.pdf: 3520324 bytes, checksum: f79013235c0f6520638d12823319a972 (MD5)Made available in DSpace on 2021-04-05T02:17:45Z (GMT). No. of bitstreams: 1 JorgeRamaKrsnaMandoju.pdf: 3520324 bytes, checksum: f79013235c0f6520638d12823319a972 (MD5) Previous issue date: 2019-08porUniversidade Federal do Rio de JaneiroPrograma de Pós-Graduação em Engenharia de Sistemas e ComputaçãoUFRJBrasilInstituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de EngenhariaCNPQ::ENGENHARIASRedes neurais evolutivasGPUCUDAUma estrutura para execução de redes neurais evolutivas na GPUA structure for evolutionary neural networks in GPUinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisabertoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRJinstname:Universidade Federal do Rio de Janeiro (UFRJ)instacron:UFRJLICENSElicense.txtlicense.txttext/plain; charset=utf-81853http://pantheon.ufrj.br:80/bitstream/11422/14045/2/license.txtdd32849f2bfb22da963c3aac6e26e255MD52ORIGINALJorgeRamaKrsnaMandoju.pdfJorgeRamaKrsnaMandoju.pdfapplication/pdf3520324http://pantheon.ufrj.br:80/bitstream/11422/14045/1/JorgeRamaKrsnaMandoju.pdff79013235c0f6520638d12823319a972MD5111422/140452021-04-06 00:00:08.466oai:pantheon.ufrj.br:11422/14045TElDRU7Dh0EgTsODTy1FWENMVVNJVkEgREUgRElTVFJJQlVJw4fDg08KCkFvIGFzc2luYXIgZSBlbnRyZWdhciBlc3RhIGxpY2Vuw6dhLCB2b2PDqihzKSBvKHMpIGF1dG9yKGVzKSBvdSBwcm9wcmlldMOhcmlvKHMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBjb25jZWRlKG0pIGFvIFJlcG9zaXTDs3JpbyBQYW50aGVvbiBkYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gZGUgSmFuZWlybyAoVUZSSikgbyBkaXJlaXRvIG7Do28gLSBleGNsdXNpdm8gZGUgcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vKSBlbSB0b2RvIG8gbXVuZG8sIGVtIGZvcm1hdG8gZWxldHLDtG5pY28gZSBlbSBxdWFscXVlciBtZWlvLCBpbmNsdWluZG8sIG1hcyBuw6NvIGxpbWl0YWRvIGEgw6F1ZGlvIGUvb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIGEgVUZSSiBwb2RlLCBzZW0gYWx0ZXJhciBvIGNvbnRlw7pkbywgdHJhZHV6aXIgYSBhcHJlc2VudGHDp8OjbyBkZSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gY29tIGEgZmluYWxpZGFkZSBkZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogdGFtYsOpbSBjb25jb3JkYSBxdWUgYSBVRlJKIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXNzYSBzdWJtaXNzw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8OjbyBkaWdpdGFsLgoKRGVjbGFyYSBxdWUgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgc2V1IHRyYWJhbGhvIG9yaWdpbmFsLCBlIHF1ZSB2b2PDqiB0ZW0gbyBkaXJlaXRvIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIGEgc3VhIGFwcmVzZW50YcOnw6NvLCBjb20gbyBtZWxob3IgZGUgc2V1cyBjb25oZWNpbWVudG9zLCBuw6NvIGluZnJpbmdpIGRpcmVpdG9zIGF1dG9yYWlzIGRlIHRlcmNlaXJvcy4KClNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCB2b2PDqiBuw6NvIHRlbSBkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBlIGNvbmNlZGUgYSBVRlJKIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRhIHN1Ym1pc3PDo28uCgpTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIHF1ZSBmb2ksIG91IHRlbSBzaWRvIHBhdHJvY2luYWRvIG91IGFwb2lhZG8gcG9yIHVtYSBhZ8OqbmNpYSBvdSBvdXRybyhzKSBvcmdhbmlzbW8ocykgcXVlIG7Do28gYSBVRlJKLCB2b2PDqiBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWxxdWVyIGRpcmVpdG8gZGUgUkVWSVPDg08gb3UgZGUgb3V0cmFzIG9icmlnYcOnw7VlcyByZXF1ZXJpZGFzIHBvciBjb250cmF0byBvdSBhY29yZG8uCgpBIFVGUkogaXLDoSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8ocykgc2V1KHMpIG5vbWUocykgY29tbyBhdXRvcihlcykgb3UgcHJvcHJpZXTDoXJpbyhzKSBkYSBzdWJtaXNzw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZGFzIHBlcm1pdGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EsIG5vIGF0byBkZSBzdWJtaXNzw6NvLgo=Repositório de PublicaçõesPUBhttp://www.pantheon.ufrj.br/oai/requestopendoar:2021-04-06T03:00:08Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)false
dc.title.pt_BR.fl_str_mv Uma estrutura para execução de redes neurais evolutivas na GPU
dc.title.alternative.pt_BR.fl_str_mv A structure for evolutionary neural networks in GPU
title Uma estrutura para execução de redes neurais evolutivas na GPU
spellingShingle Uma estrutura para execução de redes neurais evolutivas na GPU
Mandoju, Jorge Rama Krsna
CNPQ::ENGENHARIAS
Redes neurais evolutivas
GPU
CUDA
title_short Uma estrutura para execução de redes neurais evolutivas na GPU
title_full Uma estrutura para execução de redes neurais evolutivas na GPU
title_fullStr Uma estrutura para execução de redes neurais evolutivas na GPU
title_full_unstemmed Uma estrutura para execução de redes neurais evolutivas na GPU
title_sort Uma estrutura para execução de redes neurais evolutivas na GPU
author Mandoju, Jorge Rama Krsna
author_facet Mandoju, Jorge Rama Krsna
author_role author
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/3937502490683382
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/4421942859796369
dc.contributor.author.fl_str_mv Mandoju, Jorge Rama Krsna
dc.contributor.referee1.fl_str_mv Xexéo, Geraldo Bonorino
dc.contributor.referee2.fl_str_mv Alvim, Leandro Guimaraes Marques
dc.contributor.advisor1.fl_str_mv Silva, Geraldo Zimbrão da
contributor_str_mv Xexéo, Geraldo Bonorino
Alvim, Leandro Guimaraes Marques
Silva, Geraldo Zimbrão da
dc.subject.cnpq.fl_str_mv CNPQ::ENGENHARIAS
topic CNPQ::ENGENHARIAS
Redes neurais evolutivas
GPU
CUDA
dc.subject.por.fl_str_mv Redes neurais evolutivas
GPU
CUDA
description [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.
publishDate 2019
dc.date.issued.fl_str_mv 2019-08
dc.date.accessioned.fl_str_mv 2021-04-05T02:17:45Z
dc.date.available.fl_str_mv 2021-04-06T03:00:08Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/11422/14045
url http://hdl.handle.net/11422/14045
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Rio de Janeiro
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Engenharia de Sistemas e Computação
dc.publisher.initials.fl_str_mv UFRJ
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia
publisher.none.fl_str_mv Universidade Federal do Rio de Janeiro
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRJ
instname:Universidade Federal do Rio de Janeiro (UFRJ)
instacron:UFRJ
instname_str Universidade Federal do Rio de Janeiro (UFRJ)
instacron_str UFRJ
institution UFRJ
reponame_str Repositório Institucional da UFRJ
collection Repositório Institucional da UFRJ
bitstream.url.fl_str_mv http://pantheon.ufrj.br:80/bitstream/11422/14045/2/license.txt
http://pantheon.ufrj.br:80/bitstream/11422/14045/1/JorgeRamaKrsnaMandoju.pdf
bitstream.checksum.fl_str_mv dd32849f2bfb22da963c3aac6e26e255
f79013235c0f6520638d12823319a972
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)
repository.mail.fl_str_mv
_version_ 1766886504389410816