Implementação e validação de um algoritmo de rede neural utilizando um SOC FPGA
Data
Autores
Título da Revista
ISSN da Revista
Título de Volume
Resumo
A execução de modelos de rede neural mais próximo à geração de dados tem sido cada vez mais procurada devido a preocupações com latência, privacidade e custos relacionados à quantidade de dados transmitidos por sensores, para servidores em nuvem. A implementação do conceito de edge AI se mostra um desafio devido à alta carga de processamento envolvido e também às restrições energéticas. Dessa forma, esse trabalho aborda a utilização de FPGAs (Field-Programmable Gate Array) como auxiliar a um SoC (System-on-a-Chip) em operações de redes neurais, removendo a carga do microprocessador e a delegando para um componente especializado, aumentando a eficiência energética do dispositivo. Ainda, este trabalho apresenta os conceitos necessários para utilizar um SoC-FPGA (Cyclone V), assim como a implementação de um layer totalmente conectado de uma rede neural para realizar inferência no FPGA e a comunicação necessária entre o SoC e o FPGA. Para validar o sistema, foi feita uma classificação binária entre dois tipos de flores presentes no dataset Iris.
The execution of neural network models closer to where the data is produced, known as edge AI, is being desired due to concerns on latency, privacy and costs related to the quantity of data transmitted over sensors to cloud servers. Processing data directly on the device, using AI algorithms, is still a huge challenge due to the high processing load and energy restrictions involved. One possible approach to deal with this complex task is the utilization of FPGAs (Field-Programmable Gate Array). This work addresses the use of FPGAs as an auxiliary to a SoC (System-on-a-Chip) in neural network operations. The aim is to remove the load from the microprocessor and delegate to a specialized component, so increasing the device energy efficiency. It also presents the concepts required to make use of an SoC-FPGA (Cyclone V), as well as an implementation of a fully connected layer to run inference in the FPGA and the required communication between the SoC and the FPGA. In order to validate the system, a binary classification was performed among two types of flowers on the Iris dataset.
The execution of neural network models closer to where the data is produced, known as edge AI, is being desired due to concerns on latency, privacy and costs related to the quantity of data transmitted over sensors to cloud servers. Processing data directly on the device, using AI algorithms, is still a huge challenge due to the high processing load and energy restrictions involved. One possible approach to deal with this complex task is the utilization of FPGAs (Field-Programmable Gate Array). This work addresses the use of FPGAs as an auxiliary to a SoC (System-on-a-Chip) in neural network operations. The aim is to remove the load from the microprocessor and delegate to a specialized component, so increasing the device energy efficiency. It also presents the concepts required to make use of an SoC-FPGA (Cyclone V), as well as an implementation of a fully connected layer to run inference in the FPGA and the required communication between the SoC and the FPGA. In order to validate the system, a binary classification was performed among two types of flowers on the Iris dataset.
Descrição
Citação
ALDEBRAND, Mikael Ferraz. Implementação e validação de um algoritmo de rede neural utilizando um SOC FPGA. 2022. Trabalho de Conclusão de Curso (Bacharelado em Engenharia Eletrônica) – Instituto Federal de Santa Catarina, Florianópolis, 2022
