Projeto e desenvolvimento de uma arquitetura para mapeamento de redes neurais artificiais em FPGAs

Detalhes bibliográficos
Ano de defesa: 2019
Autor(a) principal: SILVA, João Gabriel Machado da
Orientador(a): BARROS, Edna Natividade da Silva
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso embargado
Idioma: por
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Programa de Pos Graduacao em Ciencia da Computacao
Departamento: Não Informado pela instituição
País: Brasil
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.