Repository logo
 
No Thumbnail Available
Publication

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

Use this identifier to reference this record.
Name:Description:Size:Format: 
Dissertação.pdf2.52 MBAdobe PDF Download

Abstract(s)

As 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)

Description

Trabalho final de Mestrado para obtenção do grau de Mestre em Engenharia de Eletrónica e Telecomunicações

Keywords

Rede neuronal convolucional Convolutional neural network Redução do tamanho dos dados Datawidth reduction Sistema embebido Embedded system FPGA

Citation

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.

Research Projects

Organizational Units

Journal Issue

Publisher

Instituto Superior de Engenharia de Lisboa

CC License