Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10400.21/10194 |
Resumo: | Trabalho final de Mestrado para obtenção do grau de Mestre em Engenharia de Eletrónica e Telecomunicações |
id |
RCAP_4d370b24ca7ed9bbff20663ad2ae3893 |
---|---|
oai_identifier_str |
oai:repositorio.ipl.pt:10400.21/10194 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandosRede neuronal convolucionalConvolutional neural networkRedução do tamanho dos dadosDatawidth reductionSistema embebidoEmbedded systemFPGATrabalho final de Mestrado para obtenção do grau de Mestre em Engenharia de Eletrónica e TelecomunicaçõesAs Redes Neuronais Convolucionais (conhecidas como CNN - Convolutional Neural Networks) são projetadas tendo como inspiração o funcionamento do cérebro e têm obtido grandes avanços nos últimos anos estando a ser amplamente utilizadas na visão computacional, mais especificamente na classificação de imagens. Uma CNN com o propósito de classificação de imagens, após estar implementada e treinada, retorna para cada uma das classes a ser testada a probabilidade dessa imagem pertencer a essa classe. As CNN são computacionalmente bastante exigentes e requerem uma elevada largura de banda de acesso à memória onde são guardados os pesos da rede, sendo geralmente executadas em sistemas de elevado desempenho. Contudo, a execução de CNN em sistemas embebidos próximos do sistema de recolha de dados evita a comunicação dos dados e o seu processamento em tempo real. Assim, é importante o estudo e desenvolvimento de métodos que permitam a execução de CNN em sistemas embebidos com recursos reduzidos com tempos de execução aceitáveis. A FPGA (Field Programmable Gate Array) é um dispositivo cujo hardware pode ser reprogramado de acordo com as necessidades específicas de cada projeto, permitindo uma implementação bastante eficiente de sistemas embebidos. Quando utilizada na implementação de CNN, a sua arquitetura pode ser configurada de forma dedicada conforme as características da CNN a implementar. As CNN são bastante exigentes em termos computacionais e de memória, o que dificulta a sua implementação em FPGA de baixo custo com poucos recursos computacionais e de memória. Para reduzir essas necessidades, pode reduzir-se o tamanho dos operandos através de métodos de quantificação utilizando, por exemplo, vírgula fixa dinâmica e reduzindo o número de bits para representar os dados. O objetivo desta dissertação é investigar sobre o impacto que a redução do tamanho dos operandos da CNN tem sobre a sua precisão, sobre a ocupação de recursos da FPGA e sobre o desempenho do sistema. Com a utilização deste método verificámos que é possível implementar redes CNN de grande dimensão em FPGA de baixa dimensão (e.g. a ZYNQ7020 considerada neste trabalho) com um desempenho que pode atingir os 600 GOPs (Giga Operations per second).Convolutional Neural Networks (CNN) are designed with the inspiration of brain functioning and have made great strides in recent years being widely used in computer vision, more specifically in the classification of images. A CNN for the purpose of image classification, after being implemented and trained, returns to each one of the classes to be tested the probability of that image belonging to that class. The FPGA (Field Programmable Gate Array) is a device that can be programmed according to the specific needs of the project. This feature is very useful in the implementation of CNN in FPGA, since its architecture can be programmed in a dedicated way according to the characteristics of the CNN to be implemented. CNN have high computational and memory requirements not compatible with low cost FPGAs with scarce hardware logic and memory. To reduce these needs, the size of the operands can be reduced using quantization methods, such as dynamic fixed point and reduction of the number of bits to represent the data. The main goal of this thesis is to research about the impact that the reduction of CNN operand size has on its precision, on the occupation of FPGA resources and on the performance of the system. Our research and development concluded that it is possible to implement large CNN in low cost FPGAs (e.g. in a ZYNQ7020 considered in this work) with a performance that may achieve 600 GOPs (Giga Operations per second)Instituto Superior de Engenharia de LisboaVéstias, Mário PereiraRCIPLGonçalves, Ana Teresa Alberto2019-06-25T19:20:46Z2019-03-052019-03-05T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.21/10194TID:202257118porGONÇALVES, Ana Teresa Alberto - Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos. Lisboa: Instituto Superior de Engenharia de Lisboa, 2019. Dissertação de mestrado.info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-08-03T09:59:50Zoai:repositorio.ipl.pt:10400.21/10194Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T20:18:39.855447Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos |
title |
Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos |
spellingShingle |
Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos Gonçalves, Ana Teresa Alberto Rede neuronal convolucional Convolutional neural network Redução do tamanho dos dados Datawidth reduction Sistema embebido Embedded system FPGA |
title_short |
Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos |
title_full |
Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos |
title_fullStr |
Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos |
title_full_unstemmed |
Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos |
title_sort |
Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos |
author |
Gonçalves, Ana Teresa Alberto |
author_facet |
Gonçalves, Ana Teresa Alberto |
author_role |
author |
dc.contributor.none.fl_str_mv |
Véstias, Mário Pereira RCIPL |
dc.contributor.author.fl_str_mv |
Gonçalves, Ana Teresa Alberto |
dc.subject.por.fl_str_mv |
Rede neuronal convolucional Convolutional neural network Redução do tamanho dos dados Datawidth reduction Sistema embebido Embedded system FPGA |
topic |
Rede neuronal convolucional Convolutional neural network Redução do tamanho dos dados Datawidth reduction Sistema embebido Embedded system FPGA |
description |
Trabalho final de Mestrado para obtenção do grau de Mestre em Engenharia de Eletrónica e Telecomunicações |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019-06-25T19:20:46Z 2019-03-05 2019-03-05T00:00:00Z |
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/10400.21/10194 TID:202257118 |
url |
http://hdl.handle.net/10400.21/10194 |
identifier_str_mv |
TID:202257118 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
GONÇALVES, Ana Teresa Alberto - Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos. Lisboa: Instituto Superior de Engenharia de Lisboa, 2019. Dissertação de mestrado. |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Instituto Superior de Engenharia de Lisboa |
publisher.none.fl_str_mv |
Instituto Superior de Engenharia de Lisboa |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799133451085938688 |