Tamanho da fonte:
REDE NEURAL ARTIFICIAL SINTETIZADA EM FPGA PARA DETECÇÃO DE CÂNCER DE MAMA E ESTRESSE POR DESGASTE
Última alteração: 2021-09-28
Resumo
https://youtu.be/w3QNeP2WqmI
As redes neurais se dedicam a implementar modelos matemáticos que se aproximem à neurônios biológicos, essas implementações se dão através do agrupamento de unidades simples de processamento através de um algoritmo de aprendizagem. Porém, redes que possuem muitos neurônios podem tornar o processamento matemático via software demorado, contudo, uma rede neural pode ser treinada em hardware fazendo o uso de paralelismo em diversas operações. Neste âmbito, os dispositivos FPGAs podem ser úteis, pois permitem a sintetização através de ferramentas de software e Linguagem de Descrição de Hardware. Neste trabalho, foi implementado o modelo perceptron multicamadas em hardware utilizando a linguagem VHDL. O circuito foi sintetizado e gravado no dispositivo FPGA Cyclone II 2C35 utilizando o kit de desenvolvimento Altera DE2 juntamente com alguns periféricos para treinar a base de dados “detecção de câncer de mama e estresse por desgaste”. Para o treinamento, foi desenvolvido uma biblioteca de ponto fixo para os cálculos matemáticos e um controlador de memória para comunicar com a sram da placa DE2 da Altera (local onde será armazenado a base de dados). Com o controlador, foi possível recuperar os dados da memória, fazer a propagação dos dados pela rede neural, a retropropagação e salvar os pesos. Para validação dos testes, foi calculado o erro do treinamento da rede neural por época e comparado com os resultados implementados em Java. A rede neural realizou com sucesso o treinamento da base de dados. Como resultado, houve uma diferença no erro de treinamento da rede neural comparado com o implementado em JAVA devido a resolução do ponto fixo utilizado no dispositivo FGPA ser menor. Porém, em ambos os casos, o erro tendeu a zero conforme se incrementam as épocas. Por fim, constatou-se na experiência que utilizando dispositivos FPGA’s mais novos e de maior capacidade (blocos lógicos) é possível melhorar a performance nos resultados.
As redes neurais se dedicam a implementar modelos matemáticos que se aproximem à neurônios biológicos, essas implementações se dão através do agrupamento de unidades simples de processamento através de um algoritmo de aprendizagem. Porém, redes que possuem muitos neurônios podem tornar o processamento matemático via software demorado, contudo, uma rede neural pode ser treinada em hardware fazendo o uso de paralelismo em diversas operações. Neste âmbito, os dispositivos FPGAs podem ser úteis, pois permitem a sintetização através de ferramentas de software e Linguagem de Descrição de Hardware. Neste trabalho, foi implementado o modelo perceptron multicamadas em hardware utilizando a linguagem VHDL. O circuito foi sintetizado e gravado no dispositivo FPGA Cyclone II 2C35 utilizando o kit de desenvolvimento Altera DE2 juntamente com alguns periféricos para treinar a base de dados “detecção de câncer de mama e estresse por desgaste”. Para o treinamento, foi desenvolvido uma biblioteca de ponto fixo para os cálculos matemáticos e um controlador de memória para comunicar com a sram da placa DE2 da Altera (local onde será armazenado a base de dados). Com o controlador, foi possível recuperar os dados da memória, fazer a propagação dos dados pela rede neural, a retropropagação e salvar os pesos. Para validação dos testes, foi calculado o erro do treinamento da rede neural por época e comparado com os resultados implementados em Java. A rede neural realizou com sucesso o treinamento da base de dados. Como resultado, houve uma diferença no erro de treinamento da rede neural comparado com o implementado em JAVA devido a resolução do ponto fixo utilizado no dispositivo FGPA ser menor. Porém, em ambos os casos, o erro tendeu a zero conforme se incrementam as épocas. Por fim, constatou-se na experiência que utilizando dispositivos FPGA’s mais novos e de maior capacidade (blocos lógicos) é possível melhorar a performance nos resultados.
Palavras-chave
Redes neurais. FPGA. Linguagem VHDL.