Arquitetura Adaptável para Execução de Redes Neurais Artificiais em Dispositivos FPGA
Resumo
Dentro do campo de Inteligências Artificiais, as Redes Neurais Artificiais (RNA) recebem destaque pela capacidade de aprender através de processos de treinamento e sua pluralidade de aplicações, que vão desde a classificação de padrões até o cálculo de funções. A implementação de algoritmos em hardware permite a paralelização de etapas e, então, a aceleração de processamento. Este trabalho propõe uma arquitetura de hardware de propósito geral para a execução de RNA em dispositivos FPGA. Implementada através da linguagem VHDL, a arquitetura proposta processa uma camada em média a cada 3 ciclos de clock. Simulada no dispositivo EP3C25F324C6, foi atingida a frequência de clock de 106.53 MHz e necessários 65.5 Kb de memória.
Referências
Dondon, P., Carvalho, J., Gardere, R., Lahalle, P., Tsenov, G., and Mladenov, V. (2014) Implementation of a feed-forward artificial neural network in VHDL on FPGA. In 12th Symposium on Neural Network Applications in Electrical Engineering (NEUREL), pages 37–40. IEEE.
Fan Yang and Paindavoine, M. (2003). Implementation of an RBF neural network on embedded systems: real-time face tracking and identity verification. IEEE Transactions on Neural Networks, 14(5):1162–1175.
Goodfellow, I., Bengio, Y., and Courville, A. (2016). Deep learning. MIT press, Series: Adaptive computation and machine learnng series.
Haykin, S. S. (2009). Neural networks and learning machines. Pearson Education, Upper Saddle River, NJ, third edition.
Kandel, E. R. and Mack, S. (2014). Principles of neural science. McGraw-Hill Medical, fifth edition edition.
Lozito, G.-M., Laudani, A., Riganti-Fulginei, F., and Salvini, A. (2014). FPGA implementations of feed forward neural network by using floating point hardware accelerators. Vysoká škola báňská-Technická univerzita Ostrava.
Marouf, M., Popovic-Bozovic, J., and Popovic, I. (2012). FPGA implementation of neural network as processing element in ice detector. In 11th Symposium on Neural Network Applications in Electrical Engineering, pages 81–84. IEEE.
Mitchell, T. M. (1997). Machine Learning. McGraw-Hill Science/Engineering/Math.
Mitra, S. and Chattopadhyay, P. (2016). Challenges in implementation of ANN in embedded system. In 2016 International Conference on Electrical, Electronics, and Optimization Techniques (ICEEOT), pages 1794–1798. IEEE.
Nielsen, M. A. (2015). Neural networks and deep learning, volume 25. Determination press San Francisco, CA, USA:.
Nwankpa, C. E., Ijomah, W., Gachagan, A., and Marshall, S. (2018). Activation functions: Comparison of trends in practice and research for deep learning. arXiv preprint arXiv:1811.03378 [cs.LG].
Omondi, A. R., Rajapakse, J. C., and Bajger, M. (2006). FPGA Neurocomputers, pages 1–36. Springer US, Boston, MA.
Rojas, R. (1996). Neural networks: a systematic introduction. Springer Science & Business Media.