Middleware for Smart Campus applications based in Federated Learning - Santos, Lucas Emanuel B. Dos; Ramos, Rychelly G. S.; Gomes, Ruan D.; Lins, Paulo Ribeiro; Santos, Aldri Luiz Dos (Proceedings of the Brazilian Symposium on Multimedia and the Web (WebMedia), 2022)
Federated Learning is a collaborative and distributed approach to creating Machine Learning models using data from several devices in an Internet of Things (IoT) network, maintaining anonymity and privacy, with potential to reduce the computational overhead to build these models and cope with the low communication capacity of these networks. In a Federated Learning system, a centralized service (aggregator) generates an arbitrary global model and sends it to the distributed components (workers), which train this model locally with their data. Then the workers send their local models to the aggregator, which unifies the local models into a new global model, in a process that can be repeated as often as necessary. In this context, this article proposes a middleware to simplify the development and deployment of Federated Learning models to IoT applications, focusing on Smart Campus scenarios. Using the abstraction provided by the middleware, the applications can easily authenticate as a new node, use the available models, and collaborate on models creation or evolution, without worrying about specific implementation details regarding the communication between the components, and the use of Machine Learning algorithms and frameworks. As a case study to validate the middleware concept and its initial implementation, an application for forecasting energy consumption is described, using an open dataset from different scenarios as input. In the evaluation described in this article, the Federated Learning model allowed a 60% reduction in the number of iterations to outperform a Long Short-Time Memory model trained by a standard Machine Learning system, with a R2 score of 0.98.