Deploying artificial intelligence in resource-constrained devices for human activity recognition
Ano de defesa: | 2023 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | eng |
Instituição de defesa: |
Pontif?cia Universidade Cat?lica do Rio Grande do Sul
Escola Polit?cnica Brasil PUCRS Programa de P?s-Gradua??o em Ci?ncia da Computa??o |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | https://tede2.pucrs.br/tede2/handle/tede/11415 |
Resumo: | Artificial intelligence (AI) has proven highly effective in solving complex tasks such as human activity and speech recognition. However, introducing accuracy-driven AI models has brought new challenges regarding their applicability in resource-constrained systems. In Human Activity Recognition (HAR), current state-of-the-art approaches often rely on complex multi-layer LSTM networks. The literature suggests that LSTM networks are well-suited for handling temporal-series data, a crucial aspect of HAR. Most existing works in the literature focus primarily on achieving the highest possible accuracy, with only a few considering the overall computational cost associated with running the inference phase. In HAR, lowpower IoT devices, such as wearable sensor arrays, are frequently used as data-gathering devices. However, we observed a limited effort to deploy AI technology directly on these devices. Instead, the prevailing approach involves using edge or cloud computing architectures, where the end device?s role is to collect and send data to edge/cloud devices. Popular voice assistants like Amazon?s Alexa and Google Assistant commonly employ this architectural approach. However, in real-life applications, especially in industries like healthcare, relying solely on edge/cloud devices is often not feasible, as these devices may not always be available or accessible. This work aims to provide a Convolutional Neural Network tuned for resource-scarce embedded systems, using optimization and efficient neural network modeling techniques. After tuning the CNN model in the Pytorch framework, we present an equivalent C model. We employ optimization techniques such as integer representation to avoid floating point units (FPUs), parameter quantization, and dataset compression. The results show that compared to the baseline reference CNN, the optimized model reduced the CNN model 2.34 times and improved accuracy from 74.9% to 85.2%. Such an optimized model may run on resource-constrained devices without requiring FPUs and large memories to store the CNN parameter |