Evaluating classification models for resource-constrained hardware

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Lucas Tsutsui da Silva
Orientador(a): Gustavo Enrique de Almeida Prado Alves Batista
Banca de defesa: Anna Helena Reali Costa, Ronaldo Cristiano Prati, Roseli Aparecida Francelin Romero
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade de São Paulo
Programa de Pós-Graduação: Ciências da Computação e Matemática Computacional
Departamento: Não Informado pela instituição
País: BR
Link de acesso: https://doi.org/10.11606/D.55.2020.tde-11112020-180216
Resumo: Machine Learning (ML) is becoming a ubiquitous technology employed in many real-world applications in diverse areas such as agriculture, human health, entomology, and engineering. In some applications, sensors measure the environment while supervised ML algorithms are responsible for interpreting these data to make an automatic decision. Generally, these devices face three main restrictions: power consumption, cost, and lack of infrastructure. Most of these challenges can be better addressed by embedding ML classifiers in the hardware that senses the environment. Thus, we need highly-efficient classifiers suitable to execute in unresourceful hardware. However, this scenario conflicts with the state-of-practice of ML, in which classifiers are frequently implemented in high-level interpreted languages (e.g., Java or Python), make unrestricted use of floating-point operations and assume plenty of resources such as memory, processing and energy. In this work, we present a software tool named Embedded Machine Learning (EmbML) that implements a pipeline to develop classifiers for low-power microcontrollers. This pipeline starts with learning a classifier in a desktop or server computer using popular software packages or libraries as WEKA or scikit-learn. EmbML converts the classifier into a carefully crafted C++ code with support for resource-constrained hardware, such as the avoidance of unnecessary use of main memory and implementation of fixed-point operations for non-integer numbers. Our experimental evaluation on benchmark datasets and a variety of microcontrollers shows that EmbML classifiers achieve competitive results in terms of accuracy, classification time, and memory cost. Compared to classifiers from some existing related tools, ours achieved the best time and memory performances in at least 70% of the cases. Lastly, we conduct experiments in a real-world application to describe the complete pipeline for using EmbML and assessing its classifiers with an intelligent trap to classify and capture flying insects.
id USP_545deb1b183cf4527ba6a6f24ddc1d78
oai_identifier_str oai:teses.usp.br:tde-11112020-180216
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str
spelling info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis Evaluating classification models for resource-constrained hardware Avaliação de modelos de classificação para hardware com limitação de recursos 2020-09-11Gustavo Enrique de Almeida Prado Alves BatistaAnna Helena Reali CostaRonaldo Cristiano PratiRoseli Aparecida Francelin RomeroLucas Tsutsui da SilvaUniversidade de São PauloCiências da Computação e Matemática ComputacionalUSPBR Aprendizado de máquina Classificação Classificador embarcado Classification Embedded classifier Machine learning Scikit- learn Scikit-learn WEKA WEKA Machine Learning (ML) is becoming a ubiquitous technology employed in many real-world applications in diverse areas such as agriculture, human health, entomology, and engineering. In some applications, sensors measure the environment while supervised ML algorithms are responsible for interpreting these data to make an automatic decision. Generally, these devices face three main restrictions: power consumption, cost, and lack of infrastructure. Most of these challenges can be better addressed by embedding ML classifiers in the hardware that senses the environment. Thus, we need highly-efficient classifiers suitable to execute in unresourceful hardware. However, this scenario conflicts with the state-of-practice of ML, in which classifiers are frequently implemented in high-level interpreted languages (e.g., Java or Python), make unrestricted use of floating-point operations and assume plenty of resources such as memory, processing and energy. In this work, we present a software tool named Embedded Machine Learning (EmbML) that implements a pipeline to develop classifiers for low-power microcontrollers. This pipeline starts with learning a classifier in a desktop or server computer using popular software packages or libraries as WEKA or scikit-learn. EmbML converts the classifier into a carefully crafted C++ code with support for resource-constrained hardware, such as the avoidance of unnecessary use of main memory and implementation of fixed-point operations for non-integer numbers. Our experimental evaluation on benchmark datasets and a variety of microcontrollers shows that EmbML classifiers achieve competitive results in terms of accuracy, classification time, and memory cost. Compared to classifiers from some existing related tools, ours achieved the best time and memory performances in at least 70% of the cases. Lastly, we conduct experiments in a real-world application to describe the complete pipeline for using EmbML and assessing its classifiers with an intelligent trap to classify and capture flying insects. Aprendizado de Máquina (AM) está se tornando uma tecnologia ubíqua empregada em muitas aplicações do mundo real em diversas áreas, como agricultura, saúde, entomologia e engenharia. Em algumas aplicações, sensores monitoram o ambiente, enquanto algoritmos de AM supervisionado são responsáveis por interpretar os dados para tomar uma decisão automática. Geralmente, esses dispositivos enfrentam três restrições principais: consumo de energia, custo e falta de infraestrutura. A maioria desses desafios pode ser melhor resolvida com a implementação de classificadores de AM no hardware que monitora o ambiente. Portanto, precisamos de classificadores altamente eficientes, adequados para serem executados em hardware com poucos recursos. No entanto, esse cenário entra em conflito com o estado-da-prática de AM, no qual os classificadores são frequentemente implementados em linguagens interpretadas de alto nível (e.g., Java ou Python), fazem uso irrestrito de operações de ponto flutuante e assumem muita disponibilidade de recursos, como memória, processamento e energia. Neste trabalho, apresentamos uma ferramenta de software chamada Embedded Machine Learning (EmbML) que implementa um pipeline para desenvolver classificadores para microcontroladores de baixa potência. Esse pipeline começa com o aprendizado de um classificador em um computador desktop ou servidor, utilizando pacotes ou bibliotecas de software populares como WEKA ou scikit-learn. A ferramenta EmbML converte o classificador em um código C++ adaptado com suporte para hardware com recursos limitados, como prevenção do uso desnecessário da memória principal e implementação de operações de ponto fixo para números não-inteiros. Nossa avaliação experimental com conjuntos de dados de benchmark e uma variedade de microcontroladores mostra que os classificadores da ferramenta EmbML alcançam resultados competitivos em termos de acurácia, tempo de classificação e custo de memória. Comparados aos classificadores de algumas ferramentas relacionadas existentes, os nossos obtiveram o melhor desempenho de tempo e memória em pelo menos 70% dos casos. Por fim, realizamos experimentos em uma aplicação real para descrever o pipeline completo de uso da ferramenta EmbML e avaliar seus classificadores com uma armadilha inteligente para classificar e capturar insetos alados. https://doi.org/10.11606/D.55.2020.tde-11112020-180216info:eu-repo/semantics/openAccessengreponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USP2023-12-21T18:44:13Zoai:teses.usp.br:tde-11112020-180216Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212020-11-11T23:08:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.en.fl_str_mv Evaluating classification models for resource-constrained hardware
dc.title.alternative.pt.fl_str_mv Avaliação de modelos de classificação para hardware com limitação de recursos
title Evaluating classification models for resource-constrained hardware
spellingShingle Evaluating classification models for resource-constrained hardware
Lucas Tsutsui da Silva
title_short Evaluating classification models for resource-constrained hardware
title_full Evaluating classification models for resource-constrained hardware
title_fullStr Evaluating classification models for resource-constrained hardware
title_full_unstemmed Evaluating classification models for resource-constrained hardware
title_sort Evaluating classification models for resource-constrained hardware
author Lucas Tsutsui da Silva
author_facet Lucas Tsutsui da Silva
author_role author
dc.contributor.advisor1.fl_str_mv Gustavo Enrique de Almeida Prado Alves Batista
dc.contributor.referee1.fl_str_mv Anna Helena Reali Costa
dc.contributor.referee2.fl_str_mv Ronaldo Cristiano Prati
dc.contributor.referee3.fl_str_mv Roseli Aparecida Francelin Romero
dc.contributor.author.fl_str_mv Lucas Tsutsui da Silva
contributor_str_mv Gustavo Enrique de Almeida Prado Alves Batista
Anna Helena Reali Costa
Ronaldo Cristiano Prati
Roseli Aparecida Francelin Romero
description Machine Learning (ML) is becoming a ubiquitous technology employed in many real-world applications in diverse areas such as agriculture, human health, entomology, and engineering. In some applications, sensors measure the environment while supervised ML algorithms are responsible for interpreting these data to make an automatic decision. Generally, these devices face three main restrictions: power consumption, cost, and lack of infrastructure. Most of these challenges can be better addressed by embedding ML classifiers in the hardware that senses the environment. Thus, we need highly-efficient classifiers suitable to execute in unresourceful hardware. However, this scenario conflicts with the state-of-practice of ML, in which classifiers are frequently implemented in high-level interpreted languages (e.g., Java or Python), make unrestricted use of floating-point operations and assume plenty of resources such as memory, processing and energy. In this work, we present a software tool named Embedded Machine Learning (EmbML) that implements a pipeline to develop classifiers for low-power microcontrollers. This pipeline starts with learning a classifier in a desktop or server computer using popular software packages or libraries as WEKA or scikit-learn. EmbML converts the classifier into a carefully crafted C++ code with support for resource-constrained hardware, such as the avoidance of unnecessary use of main memory and implementation of fixed-point operations for non-integer numbers. Our experimental evaluation on benchmark datasets and a variety of microcontrollers shows that EmbML classifiers achieve competitive results in terms of accuracy, classification time, and memory cost. Compared to classifiers from some existing related tools, ours achieved the best time and memory performances in at least 70% of the cases. Lastly, we conduct experiments in a real-world application to describe the complete pipeline for using EmbML and assessing its classifiers with an intelligent trap to classify and capture flying insects.
publishDate 2020
dc.date.issued.fl_str_mv 2020-09-11
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.uri.fl_str_mv https://doi.org/10.11606/D.55.2020.tde-11112020-180216
url https://doi.org/10.11606/D.55.2020.tde-11112020-180216
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade de São Paulo
dc.publisher.program.fl_str_mv Ciências da Computação e Matemática Computacional
dc.publisher.initials.fl_str_mv USP
dc.publisher.country.fl_str_mv BR
publisher.none.fl_str_mv Universidade de São Paulo
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1786376757146812416