## 3 Machine Learning on the Internet of Things: State of the Art and Implications
### Existing ML Implementations for IoT  
To give an understanding of the existing concepts of ML application in IoT for security, a literature study has been performed. It can be seen that this perspective has drawn enough attention in the scientific community. [PERSON] [33] studied an application of Deep Learning for network attack detection using a large-scale data simulation approach. The authors successfully used a data set with 64.2 million data points to train the Deep Neural Network for the detection of IoT routing attacks. Further, [PERSON] et al. [34] used 4000 data samples containing device ID, sensor value, and time stamp of each data transmission to train ANN for detection of abnormalities in the IoT network. [PERSON] et al. [35] presented an extensive overview of the literature related to the application of ML and DL for security in IoT. Multiple challenges and opportunities have been mentioned, also include the fact the IoT devices have limited capacities. [PERSON] et al. [36] performed another extensive literature review where it was given a detailed description of possible attacks on the IoT infrastructure and network layers and now different data can be used to ensure the IoT security through training ML and DL methods in particular. Another literature review byAndrovec et al. [37] presented findings such as the most commonly used ML methods in IoT are SVM and ANN, while 62% of reviewed research works focus on network attacks, intrusion detection in particular. [PERSON] et al. [38] discussed current challenges in the age of IoT and Software-Defined networks. One of the aspects is the development of secure-by-design IoT components, where authors emphasized that it is necessary to create a dynamic framework that is capable of providing application-independent protection of cybersecurity. While many relevant works have been published in recent years, the authors of those do not consider applications of the ML methods on IoT nodes, yet rather train the models on regular computers.  
From a software design perspective, one would need to incorporate the current development approaches and consider existing auxiliary libraries available for MCU. On the IoT gateway side, there can be seen multiple ML libraries, supported by the fact that those have more computational capabilities. Embedded Learning Library (ELL) by Microsoft provides a wide range of functionality to support the classification of data such that audio or images [39]. [PERSON] et al. [40] presented demonstrated a practical demonstration of how popular TensorFlow can be used on the Raspberry Pi platform for distributed data analytics. Another example is an ML kit on Orange Pi available from ready-to-use Operating Systems (OS) software components [41]. The general pattern that we can see is that IoT gateways usually run on Linux-alike OS and any ML libraries available for PC also can be installed on IoT gateways. A single research paper that focuses on developing resource-aware ML methods for boards with 2 KBytes RAM like Arduino is written by [PERSON] et al. [42].  
At the IoT level, we can see that there are very few works available for single-board micro-controllers such as available for Arduino [43; 44]. There is also Q-behave [45], ML library for Arduino, while it is dedicated to training an Arduino to learn simple patterns from the user and not exactly an implementation of community-accepted ML models. On the other hand, there are implementations of ANN such as ArduinoANN [46] or Neurona [47]. So, there can be seen a few, mostly experimental, implementations, yet no widely-used software products.