Repository logo
 
No Thumbnail Available
Publication

Otimização de redes neuronais convolucionais em FPGA utilizando técnicas de compressão

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

Abstract(s)

Uma Rede Neuronal Convolucional (Convolutional Neural Network - CNN) é uma classe de redes profundas aplicada ao processamento e classificação de imagens. Uma CNN con-siste em várias camadas de nós interligados entre si. A sua capacidade de classificação ad-vém do treino das suas ligações ou pesos, obtidos por um processamento de adaptação ou aprendizagem através de um conjunto de padrões de treino. Após treinadas, conseguem classificar imagens através de um processo de inferência. Existem atualmente vários modelos ou redes CNN de classificação de imagens, com pro-babilidades de erro bastante baixas, mas que são computacionalmente muito exigentes e requerem bastante memória para armazenar os pesos da rede. Como tal, são geralmente executadas em plataformas de elevado desempenho. No entanto, a utilização deste tipo de algoritmos em sistemas embebidos tem despertado bastante interesse, pois permitirá a execução de algoritmos junto dos sistemas de aquisição de dados, permitindo decisões inteligentes junto dos sensores e evita a comunicação dos dados para um servidor central de execução de CNN. Esta dissertação teve como objetivo a redução da complexidade das redes CNN, através de métodos de corte dos pesos e de compressão de dados, de modo a permitir a execução das CNN em FPGA de baixo custo com aplicação em sistemas embebidos sem comprometer a precisão da rede. Os métodos foram aplicados à arquitetura LiteCNN tendo-se conseguido melhorar os tempos de execução em cerca de 85% para redes com elevada quantidade de pesos nas camadas totalmente conectadas.
A Convolutional Neural Network (CNN) is a class of deep networks applied to image pro-cessing and classification. A CNN consists of several layers of interconnected nodes. Their ability to classify comes from training their connections or weights, obtained by an adaptation or learning process through a set of training standards. After being trained, they can classify images through an inference process. There are currently several CNN image sorting networks, with very low error probabilities, but which are computationally demanding and require a lot of memory to store network weights. As such, they are usually executed on high-performance platforms. However, there has been an increased interest in the use of this type of algorithm in em-bedded systems, since it will allow the execution of algorithms near the data acquisition sys-tems, allowing intelligent decisions near the sensors and avoiding the communication of data to a CNN execution central server. The aim of this dissertation was to reduce the complexity of CNN networks, by means of weight-cutting and data-compression methods, in order to allow the execution of CNNs in low-cost FPGAs for embedded computing without compromising network accuracy. The methods were applied to the LiteCNN architecture and managed to improve execution times by about 85% for networks with higher number of weights on fully-connected layers.

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 Compressão Compression Corte Pruning Caffe FPGA

Citation

PERES, Tiago Alexandre Mateus - Otimização de redes neuronais convolucionais em FPGA utilizando técnicas de compressão. 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