Resumen: | A inteligência artificial (IA) tem se mostrado eficaz na resolução de tarefas complexas, como o reconhecimento de atividades humanas e de fala. No entanto, a introdução de modelos de IA orientados para a precisão trouxe novos desafios em relação à sua aplicabilidade em sistemas com recursos limitados. No reconhecimento de atividades humanas (RAH), as abordagens estado-da-arte frequentemente dependem de redes complexas com múltiplas camada, do tipo LSTM. A literatura sugere que as redes LSTM são adequadas para tratar dados de séries temporais, um aspecto crucial do RAH. A maioria dos trabalhos na literatura se concentra principalmente em alcançar a maior precisão possível, com apenas alguns considerando o custo computacional associado à execução da fase de inferência. No RAH, dispositivos de Internet das Coisas (IoT) de baixo consumo, como matrizes de sensores vestíveis, são frequentemente usados como dispositivos de coleta de dados. No entanto, observamos um esforço limitado para implantar a tecnologia de IA diretamente nesses dispositivos. Em vez disso, a abordagem predominante envolve o uso de arquiteturas de computação em borda ou em nuvem, em que o papel do dispositivo final é coletar e enviar dados para dispositivos em borda/nuvem. Assistentes de voz populares, como o Alexa da Amazon e o Assistente do Google, comumente empregam essa abordagem arquitetural. No entanto, em aplicações do mundo real, especialmente em setores como saúde, depender exclusivamente de dispositivos em borda/nuvem muitas vezes não é viável, pois esses dispositivos nem sempre estão disponíveis ou acessíveis. Este trabalho tem como objetivo fornecer uma Rede Neural Convolucional ajustada para uso em sistemas embarcados com recursos limitados, utilizando técnicas de otimização e modelagem eficiente de redes neurais.Após ajustar o modelo de CNN no framework PyTorch, apresentamos um modelo equivalente em C. Utilizamos técnicas de otimização, como representação inteira para evitar unidades de ponto flutuante (FPUs), quantização de parâmetros e compressão de conjunto de dados. Os resultados mostram que, em comparação com a CNN de referência, o modelo otimizado reduziu o tamanho do modelo de CNN em 2,34 vezes e melhorou a precisão de 74% para 85,2%. Este modelo otimizado pode ser executado em dispositivos com recursos limitados sem exigir FPUs e grandes memórias para armazenar os parâmetros da CNN. 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. |