Otimização de redes neuronais convolucionais em FPGA com redução do tamanho dos operandos

Detalhes bibliográficos
Autor(a) principal: Gonçalves, Ana Teresa Alberto
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