Please use this identifier to cite or link to this item: https://repositorio.ufrn.br/handle/123456789/30829
Title: Embedded artificial neural networks optimized for low-cost and low-size-memory devices
Authors: Guimarães, Caio José Borba Vilar
Keywords: MLP;AI;8-bits;Microcontroller;Artificial neural networks;Embedded systems
Issue Date: 22-Oct-2020
Publisher: Universidade Federal do Rio Grande do Norte
Citation: GUIMARÃES, Caio José Borba Vilar. Embedded artificial neural networks optimized for low-cost and low-size-memory devices. 2020. 63f. Dissertação (Mestrado em Engenharia Elétrica e de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2020.
Portuguese Abstract: Redes Neurais Artificiais (RNAs) são sistemas bioinspirados com um alto nível de paralelização e beira a infinidade de aplicações. Entretanto, o esforço computacional associado a essa tecnologia requer que hardwares usados em suas aplicações sejam de alta capacidade de processamento, o que implica em altos custos e formatos de encapsulamento que ocupam muito espaço. Este trabalho apresenta uma implementação de uma Rede Neural Artificial (RNA) do tipo Perceptron de Multiplas Camadas (MLP) para microcontroladores µCs de 8-bits em dois cenários diferentes com trainamento e inferência embarcados. Sâo apresentadas análises de convergência de treinamento, tempo para inferência e ocupação de código-fonte nas memórias internas do microcontrolador. Uma técnica de otimização de armazenamento de pesos sinápticos na memória de programa é apresentada, com o intuito de aumentar a capacidade de aplicações de RNAs com arquiteturas maiores. O objetivo deste trabalho é apresentar uma implementação de RNA e a viabilidade deste tipo de aplicação em dispositivos de baixo custo e baixa capacidade de armazenamento em memória, conhecidos como microcontroladores. Este trabalho apresenta duas aplicações de RNA-MLP de uma operação XOR e um sistema que previne colisões para um robô virtual, analisados em três mapas virtuais. Além, disso, é implementada uma classificação de dígitos numéricos do dataset MNIST, com inferência em 1,6 segundos e 50 neurônios em um µC com 256kB de memória de programa e 8kB de memória de trabalho.
Abstract: Artificial Neural Networks (ANNs) are bio-inspired systems with a high level of parallelization and almost infinite applications. However, due to the associated high computational power requirements, most application demands powerful processing characteristics and consequently, high-costs and not-so-small form-factors. This work presents an implementation of a Multilayer Perceptron (MLP) for 8-bit microcontrollers in two different scenarios, embedded training, and inference. Analysis of training convergence, inference time duration, and program code occupation into the internal memories and a technique to optimize this implementation to fit bigger MLP architectures. The aim of this work is to provide an overview of the feasibility of ANNs on this low-cost, low-size-memory devices, known as microcontrollers. This work shows a successful implementation of an MLP on a microcontroller with a linear behavior between the increase in hyperparameter values and the time-to-inference and code size. Also, an optimization to include more synaptic weights is presented for this same implementation, showing that even so the same behavior persists, validating further both implementations of the same solution proposal.
URI: https://repositorio.ufrn.br/handle/123456789/30829
Appears in Collections:PPGEE - Mestrado em Engenharia Elétrica e de Computação

Files in This Item:
File Description SizeFormat 
Embeddedartificialneural_Guimaraes_2020.pdf5,93 MBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.