Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs

Detalhes bibliográficos
Autor(a) principal: SILVA, João Gabriel Machado da
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFPE
Texto Completo: https://repositorio.ufpe.br/handle/123456789/35856
Resumo: As técnicas de aprendizagem profunda tiveram um grande impacto em áreas como reconhecimento de padrões, robótica, visão computacional, processamento de linguagem natural, entre outras, tornando-se o estado da arte para diversos problemas nessas áreas. Esta grande quantidade de aplicações estão sendo implementadas em equipamentos portáteis o que leva à necessidade de soluções que tenham bom desempenho e baixo consumo de energia. Este trabalho apresenta um fluxo de desenvolvimento de Redes Neurais Artificiais (RNAs) Perceptron Multicamadas (MLP) Profundas, baseado em FPGAs, visando o aumento de desempenho em aplicações como aquelas descritas acima. Para isto foi definida uma arquitetura para uma RNA-MLP profunda configurável e de fácil instanciação, com geração automática dos módulos de processamento. A arquitetura foi implementada na linguagem de hardware SystemVerilog e permite o processamento de aplicações de alto desempenho através de um pipeline eficiente. Adicionalmente, a solução proposta foi prototipada em uma plataforma que suporta a aceleração da RNA-MLP em FPGA integrada com aplicações de aprendizagem. Para isso foi preciso atender aos requisitos de tempo, grande quantidade de entradas, quantidade de blocos lógicos, utilização de pinos. A arquitetura proposta foi comparada com algumas arquiteturas propostas na literatura de forma a mostrar seu diferencial. Comparações de qualidade e tempo de execução com outros trabalhos foram feitas usando conjuntos de dados de imagens como MNIST, Fashion-MNIST comumente usadas na literatura para comparações em aprendizagem profunda. O tratamento de consumo de energia não é abordado neste trabalho. Além disso, o desempenho da solução prototipada em FPGA foi comparado com uma solução em GPU utilizando Keras, uma biblioteca de rede neural de código aberto escrita em Python, e alcançou uma aceleração média de 59x no subconjunto de testes do conjunto de dados MNIST e Fashion-MNIST.
id UFPE_49818630f1c30f0cc0d96710401a6120
oai_identifier_str oai:repositorio.ufpe.br:123456789/35856
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling SILVA, João Gabriel Machado dahttp://lattes.cnpq.br/0636493916249721http://lattes.cnpq.br/6291354144339437BARROS, Edna Natividade da Silva2019-12-18T17:15:26Z2019-12-18T17:15:26Z2019-03-15SILVA, João Gabriel Machado da Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs. 2019. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2019.https://repositorio.ufpe.br/handle/123456789/35856As técnicas de aprendizagem profunda tiveram um grande impacto em áreas como reconhecimento de padrões, robótica, visão computacional, processamento de linguagem natural, entre outras, tornando-se o estado da arte para diversos problemas nessas áreas. Esta grande quantidade de aplicações estão sendo implementadas em equipamentos portáteis o que leva à necessidade de soluções que tenham bom desempenho e baixo consumo de energia. Este trabalho apresenta um fluxo de desenvolvimento de Redes Neurais Artificiais (RNAs) Perceptron Multicamadas (MLP) Profundas, baseado em FPGAs, visando o aumento de desempenho em aplicações como aquelas descritas acima. Para isto foi definida uma arquitetura para uma RNA-MLP profunda configurável e de fácil instanciação, com geração automática dos módulos de processamento. A arquitetura foi implementada na linguagem de hardware SystemVerilog e permite o processamento de aplicações de alto desempenho através de um pipeline eficiente. Adicionalmente, a solução proposta foi prototipada em uma plataforma que suporta a aceleração da RNA-MLP em FPGA integrada com aplicações de aprendizagem. Para isso foi preciso atender aos requisitos de tempo, grande quantidade de entradas, quantidade de blocos lógicos, utilização de pinos. A arquitetura proposta foi comparada com algumas arquiteturas propostas na literatura de forma a mostrar seu diferencial. Comparações de qualidade e tempo de execução com outros trabalhos foram feitas usando conjuntos de dados de imagens como MNIST, Fashion-MNIST comumente usadas na literatura para comparações em aprendizagem profunda. O tratamento de consumo de energia não é abordado neste trabalho. Além disso, o desempenho da solução prototipada em FPGA foi comparado com uma solução em GPU utilizando Keras, uma biblioteca de rede neural de código aberto escrita em Python, e alcançou uma aceleração média de 59x no subconjunto de testes do conjunto de dados MNIST e Fashion-MNIST.CNPqDeep learning techniques imposed a significant impact in areas such as pattern recognition, robotics, computer vision, natural language processing, among others, making it state of the art for various problems in these areas. Besides, this large number of applications are being implemented in portable equipment which leads to the need for solutions that have good performance and low power consumption. This work presents a flow of development of Artificial Neural Networks (ANNs) Multilayer Perceptron (MLP) Deep, based on FPGAs, aiming the increase of performance in applications like those described above. For this, we are proposing architecture for a deep configurable ANN-MLP with easy instantiation with the automatic generation of the processing modules was defined. The architecture was implemented in the SystemVerilog hardware language and allowed the processing of high-performance applications through an efficient pipeline. In addition, the proposed solution was prototyped in a platform that supports the acceleration of an ANN-MLP in FPGAs in an integrated way with learning applications running in software. For this, it was necessary to meet the requirements of time, a large number of inputs, a number of logical blocks, and use of pins. A comparison between the proposed architecture and some architectures proposed in the literature showed the differential of our design. Quality and time-to-execution comparisons with other works were done using public data sets of images such as MNIST, Fashion-MNIST commonly used in the research for comparisons in deep learning. The treatment of energy consumption is not approached in this work. Also, the performance of the solution prototyped in FPGA was compared to a GPU solution using Keras, a Python open source neural network library, and achieved a mean acceleration of 59.2x in the test using subsets of the MNIST and Fashion-MNIST datasets.porUniversidade Federal de PernambucoPrograma de Pos Graduacao em Ciencia da ComputacaoUFPEBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/embargoedAccessInteligência artificialRedes neurais artificiasAprendizagem profundaProjeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesismestradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETEXTDISSERTAÇÃO João Gabriel Machado da Silva.pdf.txtDISSERTAÇÃO João Gabriel Machado da Silva.pdf.txtExtracted texttext/plain179922https://repositorio.ufpe.br/bitstream/123456789/35856/4/DISSERTA%c3%87%c3%83O%20Jo%c3%a3o%20Gabriel%20Machado%20da%20Silva.pdf.txt57e793cb6fbc1e515d9f97f2ece098d5MD54THUMBNAILDISSERTAÇÃO João Gabriel Machado da Silva.pdf.jpgDISSERTAÇÃO João Gabriel Machado da Silva.pdf.jpgGenerated Thumbnailimage/jpeg1370https://repositorio.ufpe.br/bitstream/123456789/35856/5/DISSERTA%c3%87%c3%83O%20Jo%c3%a3o%20Gabriel%20Machado%20da%20Silva.pdf.jpg99106731e2488b297f2fb9a3cc48695dMD55ORIGINALDISSERTAÇÃO João Gabriel Machado da Silva.pdfDISSERTAÇÃO João Gabriel Machado da Silva.pdfapplication/pdf4759976https://repositorio.ufpe.br/bitstream/123456789/35856/1/DISSERTA%c3%87%c3%83O%20Jo%c3%a3o%20Gabriel%20Machado%20da%20Silva.pdff7d5ab5c1b6c3b7addc4a69fedc056e9MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/35856/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82310https://repositorio.ufpe.br/bitstream/123456789/35856/3/license.txtbd573a5ca8288eb7272482765f819534MD53123456789/358562019-12-19 02:15:56.784oai:repositorio.ufpe.br:123456789/35856TGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKClRvZG8gZGVwb3NpdGFudGUgZGUgbWF0ZXJpYWwgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgKFJJKSBkZXZlIGNvbmNlZGVyLCDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIChVRlBFKSwgdW1hIExpY2Vuw6dhIGRlIERpc3RyaWJ1acOnw6NvIE7Do28gRXhjbHVzaXZhIHBhcmEgbWFudGVyIGUgdG9ybmFyIGFjZXNzw612ZWlzIG9zIHNldXMgZG9jdW1lbnRvcywgZW0gZm9ybWF0byBkaWdpdGFsLCBuZXN0ZSByZXBvc2l0w7NyaW8uCgpDb20gYSBjb25jZXNzw6NvIGRlc3RhIGxpY2Vuw6dhIG7Do28gZXhjbHVzaXZhLCBvIGRlcG9zaXRhbnRlIG1hbnTDqW0gdG9kb3Mgb3MgZGlyZWl0b3MgZGUgYXV0b3IuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKTGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKCkFvIGNvbmNvcmRhciBjb20gZXN0YSBsaWNlbsOnYSBlIGFjZWl0w6EtbGEsIHZvY8OqIChhdXRvciBvdSBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMpOgoKYSkgRGVjbGFyYSBxdWUgY29uaGVjZSBhIHBvbMOtdGljYSBkZSBjb3B5cmlnaHQgZGEgZWRpdG9yYSBkbyBzZXUgZG9jdW1lbnRvOwpiKSBEZWNsYXJhIHF1ZSBjb25oZWNlIGUgYWNlaXRhIGFzIERpcmV0cml6ZXMgcGFyYSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGUEU7CmMpIENvbmNlZGUgw6AgVUZQRSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZGUgYXJxdWl2YXIsIHJlcHJvZHV6aXIsIGNvbnZlcnRlciAoY29tbyBkZWZpbmlkbyBhIHNlZ3VpciksIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIsIG5vIFJJLCBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vL2Fic3RyYWN0KSBlbSBmb3JtYXRvIGRpZ2l0YWwgb3UgcG9yIG91dHJvIG1laW87CmQpIERlY2xhcmEgcXVlIGF1dG9yaXphIGEgVUZQRSBhIGFycXVpdmFyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXN0ZSBkb2N1bWVudG8gZSBjb252ZXJ0w6otbG8sIHNlbSBhbHRlcmFyIG8gc2V1IGNvbnRlw7pkbywgcGFyYSBxdWFscXVlciBmb3JtYXRvIGRlIGZpY2hlaXJvLCBtZWlvIG91IHN1cG9ydGUsIHBhcmEgZWZlaXRvcyBkZSBzZWd1cmFuw6dhLCBwcmVzZXJ2YcOnw6NvIChiYWNrdXApIGUgYWNlc3NvOwplKSBEZWNsYXJhIHF1ZSBvIGRvY3VtZW50byBzdWJtZXRpZG8gw6kgbyBzZXUgdHJhYmFsaG8gb3JpZ2luYWwgZSBxdWUgZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBhIHRlcmNlaXJvcyBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2Ugb3MgZGlyZWl0b3MgZGUgb3V0cmEgcGVzc29hIG91IGVudGlkYWRlOwpmKSBEZWNsYXJhIHF1ZSwgbm8gY2FzbyBkbyBkb2N1bWVudG8gc3VibWV0aWRvIGNvbnRlciBtYXRlcmlhbCBkbyBxdWFsIG7Do28gZGV0w6ltIG9zIGRpcmVpdG9zIGRlCmF1dG9yLCBvYnRldmUgYSBhdXRvcml6YcOnw6NvIGlycmVzdHJpdGEgZG8gcmVzcGVjdGl2byBkZXRlbnRvciBkZXNzZXMgZGlyZWl0b3MgcGFyYSBjZWRlciDDoApVRlBFIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgTGljZW7Dp2EgZSBhdXRvcml6YXIgYSB1bml2ZXJzaWRhZGUgYSB1dGlsaXrDoS1sb3MgbGVnYWxtZW50ZS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBlc3NlIG1hdGVyaWFsIGN1am9zIGRpcmVpdG9zIHPDo28gZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRvIGRvY3VtZW50byBlbnRyZWd1ZTsKZykgU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8gcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVRlBFLCBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWlzcXVlciBvYnJpZ2HDp8O1ZXMgZXhpZ2lkYXMgcGVsbyByZXNwZWN0aXZvIGNvbnRyYXRvIG91IGFjb3Jkby4KCkEgVUZQRSBpZGVudGlmaWNhcsOhIGNsYXJhbWVudGUgbyhzKSBub21lKHMpIGRvKHMpIGF1dG9yIChlcykgZG9zIGRpcmVpdG9zIGRvIGRvY3VtZW50byBlbnRyZWd1ZSBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZG8gcHJldmlzdG8gbmEgYWzDrW5lYSBjKS4KRepositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-12-19T05:15:56Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs
title Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs
spellingShingle Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs
SILVA, João Gabriel Machado da
Inteligência artificial
Redes neurais artificias
Aprendizagem profunda
title_short Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs
title_full Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs
title_fullStr Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs
title_full_unstemmed Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs
title_sort Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs
author SILVA, João Gabriel Machado da
author_facet SILVA, João Gabriel Machado da
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/0636493916249721
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/6291354144339437
dc.contributor.author.fl_str_mv SILVA, João Gabriel Machado da
dc.contributor.advisor1.fl_str_mv BARROS, Edna Natividade da Silva
contributor_str_mv BARROS, Edna Natividade da Silva
dc.subject.por.fl_str_mv Inteligência artificial
Redes neurais artificias
Aprendizagem profunda
topic Inteligência artificial
Redes neurais artificias
Aprendizagem profunda
description As técnicas de aprendizagem profunda tiveram um grande impacto em áreas como reconhecimento de padrões, robótica, visão computacional, processamento de linguagem natural, entre outras, tornando-se o estado da arte para diversos problemas nessas áreas. Esta grande quantidade de aplicações estão sendo implementadas em equipamentos portáteis o que leva à necessidade de soluções que tenham bom desempenho e baixo consumo de energia. Este trabalho apresenta um fluxo de desenvolvimento de Redes Neurais Artificiais (RNAs) Perceptron Multicamadas (MLP) Profundas, baseado em FPGAs, visando o aumento de desempenho em aplicações como aquelas descritas acima. Para isto foi definida uma arquitetura para uma RNA-MLP profunda configurável e de fácil instanciação, com geração automática dos módulos de processamento. A arquitetura foi implementada na linguagem de hardware SystemVerilog e permite o processamento de aplicações de alto desempenho através de um pipeline eficiente. Adicionalmente, a solução proposta foi prototipada em uma plataforma que suporta a aceleração da RNA-MLP em FPGA integrada com aplicações de aprendizagem. Para isso foi preciso atender aos requisitos de tempo, grande quantidade de entradas, quantidade de blocos lógicos, utilização de pinos. A arquitetura proposta foi comparada com algumas arquiteturas propostas na literatura de forma a mostrar seu diferencial. Comparações de qualidade e tempo de execução com outros trabalhos foram feitas usando conjuntos de dados de imagens como MNIST, Fashion-MNIST comumente usadas na literatura para comparações em aprendizagem profunda. O tratamento de consumo de energia não é abordado neste trabalho. Além disso, o desempenho da solução prototipada em FPGA foi comparado com uma solução em GPU utilizando Keras, uma biblioteca de rede neural de código aberto escrita em Python, e alcançou uma aceleração média de 59x no subconjunto de testes do conjunto de dados MNIST e Fashion-MNIST.
publishDate 2019
dc.date.accessioned.fl_str_mv 2019-12-18T17:15:26Z
dc.date.available.fl_str_mv 2019-12-18T17:15:26Z
dc.date.issued.fl_str_mv 2019-03-15
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.citation.fl_str_mv SILVA, João Gabriel Machado da Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs. 2019. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2019.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/35856
identifier_str_mv SILVA, João Gabriel Machado da Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs. 2019. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2019.
url https://repositorio.ufpe.br/handle/123456789/35856
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/embargoedAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv embargoedAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.publisher.program.fl_str_mv Programa de Pos Graduacao em Ciencia da Computacao
dc.publisher.initials.fl_str_mv UFPE
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/35856/4/DISSERTA%c3%87%c3%83O%20Jo%c3%a3o%20Gabriel%20Machado%20da%20Silva.pdf.txt
https://repositorio.ufpe.br/bitstream/123456789/35856/5/DISSERTA%c3%87%c3%83O%20Jo%c3%a3o%20Gabriel%20Machado%20da%20Silva.pdf.jpg
https://repositorio.ufpe.br/bitstream/123456789/35856/1/DISSERTA%c3%87%c3%83O%20Jo%c3%a3o%20Gabriel%20Machado%20da%20Silva.pdf
https://repositorio.ufpe.br/bitstream/123456789/35856/2/license_rdf
https://repositorio.ufpe.br/bitstream/123456789/35856/3/license.txt
bitstream.checksum.fl_str_mv 57e793cb6fbc1e515d9f97f2ece098d5
99106731e2488b297f2fb9a3cc48695d
f7d5ab5c1b6c3b7addc4a69fedc056e9
e39d27027a6cc9cb039ad269a5db8e34
bd573a5ca8288eb7272482765f819534
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1802310842522271744