Embedded artificial neural networks optimized for low-cost and low-size-memory devices

Detalhes bibliográficos
Autor(a) principal: Guimarães, Caio José Borba Vilar
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/handle/123456789/30829
Resumo: 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.
id UFRN_439227ea065ea5d2af9b7f5ff5105450
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/30829
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Guimarães, Caio José Borba Vilarhttp://lattes.cnpq.br/9887103888040909Mcdanel, BradCorrea, Edgard de FariaSilveira, Luiz Felipe de QueirozFernandes, Marcelo Augusto Costa2020-12-04T20:03:49Z2020-12-04T20:03:49Z2020-10-22GUIMARÃ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.https://repositorio.ufrn.br/handle/123456789/30829Redes 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.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.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESUniversidade Federal do Rio Grande do NortePROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃOUFRNBrasilMLPAI8-bitsMicrocontrollerArtificial neural networksEmbedded systemsEmbedded artificial neural networks optimized for low-cost and low-size-memory devicesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNTEXTEmbeddedartificialneural_Guimaraes_2020.pdf.txtEmbeddedartificialneural_Guimaraes_2020.pdf.txtExtracted texttext/plain99083https://repositorio.ufrn.br/bitstream/123456789/30829/2/Embeddedartificialneural_Guimaraes_2020.pdf.txt3ddd1314948c291178b994631f7de4c6MD52THUMBNAILEmbeddedartificialneural_Guimaraes_2020.pdf.jpgEmbeddedartificialneural_Guimaraes_2020.pdf.jpgGenerated Thumbnailimage/jpeg1475https://repositorio.ufrn.br/bitstream/123456789/30829/3/Embeddedartificialneural_Guimaraes_2020.pdf.jpg3b9b761fdd57400d3d3d833cee0f754dMD53ORIGINALEmbeddedartificialneural_Guimaraes_2020.pdfapplication/pdf6070333https://repositorio.ufrn.br/bitstream/123456789/30829/1/Embeddedartificialneural_Guimaraes_2020.pdf1ed2e64daed161b15c0265bae6a546adMD51123456789/308292020-12-06 05:07:05.406oai:https://repositorio.ufrn.br:123456789/30829Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2020-12-06T08:07:05Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv Embedded artificial neural networks optimized for low-cost and low-size-memory devices
title Embedded artificial neural networks optimized for low-cost and low-size-memory devices
spellingShingle Embedded artificial neural networks optimized for low-cost and low-size-memory devices
Guimarães, Caio José Borba Vilar
MLP
AI
8-bits
Microcontroller
Artificial neural networks
Embedded systems
title_short Embedded artificial neural networks optimized for low-cost and low-size-memory devices
title_full Embedded artificial neural networks optimized for low-cost and low-size-memory devices
title_fullStr Embedded artificial neural networks optimized for low-cost and low-size-memory devices
title_full_unstemmed Embedded artificial neural networks optimized for low-cost and low-size-memory devices
title_sort Embedded artificial neural networks optimized for low-cost and low-size-memory devices
author Guimarães, Caio José Borba Vilar
author_facet Guimarães, Caio José Borba Vilar
author_role author
dc.contributor.authorID.pt_BR.fl_str_mv
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/9887103888040909
dc.contributor.advisorID.pt_BR.fl_str_mv
dc.contributor.referees1.none.fl_str_mv Mcdanel, Brad
dc.contributor.referees1ID.pt_BR.fl_str_mv
dc.contributor.referees2.none.fl_str_mv Correa, Edgard de Faria
dc.contributor.referees2ID.pt_BR.fl_str_mv
dc.contributor.referees3.none.fl_str_mv Silveira, Luiz Felipe de Queiroz
dc.contributor.referees3ID.pt_BR.fl_str_mv
dc.contributor.author.fl_str_mv Guimarães, Caio José Borba Vilar
dc.contributor.advisor1.fl_str_mv Fernandes, Marcelo Augusto Costa
contributor_str_mv Fernandes, Marcelo Augusto Costa
dc.subject.por.fl_str_mv MLP
AI
8-bits
Microcontroller
Artificial neural networks
Embedded systems
topic MLP
AI
8-bits
Microcontroller
Artificial neural networks
Embedded systems
description 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.
publishDate 2020
dc.date.accessioned.fl_str_mv 2020-12-04T20:03:49Z
dc.date.available.fl_str_mv 2020-12-04T20:03:49Z
dc.date.issued.fl_str_mv 2020-10-22
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/handle/123456789/30829
identifier_str_mv 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.
url https://repositorio.ufrn.br/handle/123456789/30829
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.program.fl_str_mv PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/30829/2/Embeddedartificialneural_Guimaraes_2020.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/30829/3/Embeddedartificialneural_Guimaraes_2020.pdf.jpg
https://repositorio.ufrn.br/bitstream/123456789/30829/1/Embeddedartificialneural_Guimaraes_2020.pdf
bitstream.checksum.fl_str_mv 3ddd1314948c291178b994631f7de4c6
3b9b761fdd57400d3d3d833cee0f754d
1ed2e64daed161b15c0265bae6a546ad
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1802117857162559488