Efficient Implementation of LinearUCB through Algorithmic Improvements and Vector Computing Acceleration for Embedded Learning Systems
Marco Angioli, Marcello Barbirotta, Abdallah Cheikh, Antonio Mastrandrea, Francesco Menichelli, Mauro Olivieri
TL;DR
The paper tackles embedding LinearUCB contextual bandits on energy-limited edge devices by pairing algorithmic updates (Sherman-Morrison and Woodbury) with vector-accelerated hardware. By avoiding full matrix inversions and exploiting incremental inverse updates, the Disjoint and Hybrid variants achieve substantial reductions in execution time and memory use while maintaining numerical stability. Empirical results across multiple embedded platforms demonstrate up to tens of times speedups and significant energy savings, with vector acceleration providing additional gains that scale with matrix size. The combined approach broadens the practical applicability of online, edge-based learning in real-time, low-power IoT environments.
Abstract
As the Internet of Things expands, embedding Artificial Intelligence algorithms in resource-constrained devices has become increasingly important to enable real-time, autonomous decision-making without relying on centralized cloud servers. However, implementing and executing complex algorithms in embedded devices poses significant challenges due to limited computational power, memory, and energy resources. This paper presents algorithmic and hardware techniques to efficiently implement two LinearUCB Contextual Bandits algorithms on resource-constrained embedded devices. Algorithmic modifications based on the Sherman-Morrison-Woodbury formula streamline model complexity, while vector acceleration is harnessed to speed up matrix operations. We analyze the impact of each optimization individually and then combine them in a two-pronged strategy. The results show notable improvements in execution time and energy consumption, demonstrating the effectiveness of combining algorithmic and hardware optimizations to enhance learning models for edge computing environments with low-power and real-time requirements.
