On Parallel Online Learning for Adaptive Embedded Systems

On Parallel Online Learning for Adaptive Embedded Systems

Tapio Pahikkala (University of Turku, Finland), Antti Airola (University of Turku, Finland), Thomas Canhao Xu (University of Turku, Finland), Pasi Liljeberg (University of Turku, Finland), Hannu Tenhunen (University of Turku, Finland) and Tapio Salakoski (University of Turku, Finland)
DOI: 10.4018/978-1-4666-6034-2.ch011


This chapter considers parallel implementation of the online multi-label regularized least-squares machine-learning algorithm for embedded hardware platforms. The authors focus on the following properties required in real-time adaptive systems: learning in online fashion, that is, the model improves with new data but does not require storing it; the method can fully utilize the computational abilities of modern embedded multi-core computer architectures; and the system efficiently learns to predict several labels simultaneously. They demonstrate on a hand-written digit recognition task that the online algorithm converges faster, with respect to the amount of training data processed, to an accurate solution than a stochastic gradient descent based baseline. Further, the authors show that our parallelization of the method scales well on a quad-core platform. Moreover, since Network-on-Chip (NoC) has been proposed as a promising candidate for future multi-core architectures, they implement a NoC system consisting of 16 cores. The proposed machine learning algorithm is evaluated in the NoC platform. Experimental results show that, by optimizing the cache behaviour of the program, cache/memory efficiency can improve significantly. Results from the chapter provide a guideline for designing future embedded multi-core machine learning devices.
Chapter Preview


The design of adaptive systems is an emerging topic in the area of pervasive and embedded computing. Rather than exhibiting pre-programmed behaviour, it would in many applications be beneficial for systems to be able to adapt to their environment. Isoaho et al. (2010) analyze current key challenges in developing embedded systems. One of the outlined main challenges is self-awareness, meaning that a system should be able to monitor its environment and own state, and based on this optimize its behaviour in order to meet service quality criteria. System security is outlined as another major challenge, as is making best use of parallelism that is increasingly present in modern embedded systems.

In order to meet these goals, a system should automatically learn to model its environment in order to choose correct actions, and over time improve its performance as more feedback is gained. Automatically constructed mathematical model of a system may be used to predict the future behaviour, given as input the current state and planned actions, an approach known as model predictive control. The behaviour patterns of software or human agents may be automatically observed in order to recognize possible security risks. And even more, imagine smart music players that adapt to the musical preferences of their owner, intelligent traffic systems that monitor and predict traffic conditions and re-direct cars accordingly, etc. Thus we motivate the need for a generic approach to learning predictive models in embedded environments, which are typically characterized by properties such as need for fast (and constant) response times, limited amount of memory resources and parallel computing architecture.

Complete Chapter List

Search this Book: