Embedded artificial neural networks optimized for low-cost and low-size-memory devices
Autor(a) principal: | |
---|---|
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 |