Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs
Ano de defesa: | 2019 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso embargado |
Idioma: | por |
Instituição de defesa: |
Universidade Federal de Pernambuco
UFPE Brasil Programa de Pos Graduacao em Ciencia da Computacao |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | 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. |