Proposta de implementação em Hardware de Rede Neural Profunda baseada em Stacked Sparse Autoencoder
Aprendizagem Profunda, FPGA, Stacked Sparse Autoencoder, Matriz Sistólica.
As técnicas de aprendizagem profunda (Deep Learning) aplicáveis a problemas de diversas áreas vêm ganhando grande destaque no âmbito da pesquisa mundial nos últimos anos. No entanto, os algoritmos com aprendizagem profunda possuem um custo computacional elevado, dificultando sua utilização em várias aplicações comerciais. Por outro lado, novas alternativas vêm sendo estudadas para acelerar algoritmos complexos, e entre elas, as baseadas em computação reconfigurável vêm apresentando resultados bastante significativos. Sendo assim, este trabalho tem como objetivo a implementação em hardware de uma rede neural para utilização de algoritmos com aprendizagem profunda. O hardware proposto foi desenvolvido em Field Programmable Gate Array (FPGA) e suporta Redes Neurais Profundas (Deep Neural Network - DNN) treinadas com a técnica Stacked Sparse Autoencoder (SSAE). Para permitir DNNs com muitas entradas e camadas na FPGA, foi utilizada a técnica de matriz sistólica (systolic array) em todo hardware desenvolvido. Os detalhes da arquitetura desenvolvida na FPGA são evidenciados, bem como, os dados de ocupação em hardware e o tempo de processamento para duas implementações distintas. Resultados mostram que as implementações conseguem atingir throughputs elevados, permitindo a utilização de técnicas de Deep Learning em problemas de dados massivos.