ICN Research Group J.K.Choi Internet-Draft N.K.Kim Intended status: Informational J.S.Han Expires: September 12, 2019 M.K.Kim KAIST G.M.Lee Liverpool John Moores University March 11, 2019 Requirements and Challenges for User-level Service Managements of IoT Network by utilizing Artificial Intelligence draft-choi-icnrg-aiot-00 Abstract This document describes the requirements and challenges to employ artificial intelligence (AI) into the constraint Internet of Things (IoT) service environment for embedding intelligence and increasing efficiency. The IoT service environment includes heterogeneous and multiple IoT devices and systems that work together in a cooperative and intelligent way to manage homes, buildings, and complex autonomous systems. Therefore, it is becoming very essential to integrate IoT and AI technologies to increase the synergy between them. However, there are several limitations to achieve AI enabled IoT as the availability of IoT devices is not always high, and IoT networks cannot guarantee a certain level of performance in real-time applications due to resource constraints. This document intends to present a right direction to empower AI in IoT for learning and analyzing the usage behaviors of IoT devices/systems and human behaviors based on previous records and experiences. With AI enabled IoT, the IoT service environment can be intelligently managed in order to compensate for the unexpected performance degradation often caused by abnormal situations. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Choi, et,al. Expires September 12, 2019 [Page 1] Internet-Draft IoT with Artificial Intelligence March 2019 Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on September 12, 2019 Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction ................................................ 3 2. Challenging Issues of IoT network ............................ 6 2.1. Untrusted and incorrect IoT devices ..................... 6 2.2. Traffic burstiness of IoT network ....................... 6 2.3. Management overheads of heterogeneous IoT sensors ........ 7 3. Overview of AI/ML-based IoT services ......................... 9 4. Requirements for AI/ML-based IoT services ................... 11 4.1. Requirements for AI/ML-based IoT data collection and delivery ........................................................... 11 4.2. Requirements for intelligent and context-aware IoT services12 5. State of arts of the artificial intelligence/machine learning technologies for IoT services .................................. 12 5.1. Machine learning and artificial intelligence technologies review ..................................................... 12 Choi, et,al. Expires September 12, 2019 [Page 2] Internet-Draft IoT with Artificial Intelligence March 2019 5.1.1. Supervised learning for IoT ....................... 12 5.1.2. Unsupervised learning for IoT ..................... 13 5.1.3. Reinforcement learning for IoT .................... 14 5.1.4. Neural Network based algorithms for IoT ........... 15 5.2. Technologies for lightweight and real-time intelligence . 17 6. IANA Considerations ........................................ 18 7. Acknowledgements ........................................... 18 8. Contributors ............................................... 18 9. Informative References ...................................... 19 1. Introduction The document explains the effects of applying artificial intelligence/machine learning (AI/ML) algorithms in the Internet of Thing (IoT) service environments. IoT applications will be deployed in heterogeneous and different areas such as the energy, transportation, automation and manufacturing industries as well as the information and communication technology (ICT) industry. Many IoT sensors and devices can connect to an IoT service environment where IoT objects cannot interoperate with each other and can interact with different applications. The IoT service may not run in a single administrative domain. If market demand exists, the cross-domain service scenarios for IoT applications could be widely deployed. Future IoT applications occur at multiple domains of heterogeneity with various time scales. The IoT service requirements for common architectures and public APIs poses some challenges to the underlying service environment and networking technologies. Some IoT applications require significant security and privacy as well as significant resource and time constraints. These mission-critical applications can be separated from many common IoT applications that current technology may not provide. It means that IoT service requirements are difficult to classify common requirements and functional requirements depending on IoT service scenario. Recently, artificial intelligence technologies can help the context- aware IoT service scenarios apply rule-based knowledge accumulation. The IoT service assumes that many sensing devices are connected to single or multiple IoT network domains. Each sensor sends small packets to the IoT servers periodically or non-periodically. Choi, et,al. Expires September 12, 2019 [Page 3] Internet-Draft IoT with Artificial Intelligence March 2019 Detection data contains periodic status information that monitors whether the system is in a normal state or not. In some cases, alert information is included for quick processing. Most IoT applications can operate in two modes. One is a simple monitoring mode and the other is an abnormal mode for rapid processing. In a simple monitoring phase, the IoT device periodically sends sensing data to the server. If the measured data is outside the normal range, the IoT service can change the operating mode to an abnormal phase and activate future probes. Alarm conditions should be promptly notified to responsible persons. For mission-critical applications, reliable communication with robust QoS requirements in terms of error and latency is required. Periodic data accumulation from IoT devices is cumbersome. Under normal conditions, the IoT data is simply accumulated without further action. In an unusual situation, incoming IoT data can cause an urgent action to notify the administrator of the problem. Streaming data traffic from thousands of IoT devices is annoying to store in the database because it is not easy to extract unidentified or future incidents. Only a significant portion of the incoming data stream can be stored in a real-time database that is time-sensitive and capable of rapid query processing. A combination of different IoT detection data, including location, time, and status, allows you to sort and categorize a portion of streaming data when an additional inspection is required, and perform real-time processing. One of the missions of the IoT database is to be able to extract preliminary symptoms of unexpected accidents from a large amount of streaming data. If some transmitted data is important to invoke the corresponding action, there are some questions about whether the incoming data is correct. If the incoming data contains accurate and time-critical events, appropriate real-time control and management can be performed. However, if the incoming data is inaccurate or intentionally corrupted, additional accidents may occur. In these cases, incoming data can trigger to initiate additional inspections to protect against future unacceptable situations. But, if time-critical data is missed due to errors in the sensing devices and the delivery protocol, there is no reason to configure IoT networks and devices at a high cost. Choi, et,al. Expires September 12, 2019 [Page 4] Internet-Draft IoT with Artificial Intelligence March 2019 It is not easy to analyze data collected through IoT devices installed to monitor complex IoT service environments. If the sensor malfunctions, the data of the sensor cannot be trusted. Additional investigation should be done if abnormal status from specific sensors is collected. The data of the redundant sensor installed in the same area should be received or combined with other sensor information adjacent to the sensor to determine the abnormal state. For sensors installed in a specific area, sensing records will remain for a certain period of time. IoT service operators can look at the operational history of the sensor for a period of time to determine what problems were encountered when data was collected. When an abnormal situation occurs, IoT sensor should investigate whether it noticed normal operations and notified the IoT service operator. If the abnormal situation is not properly detected, the operator should analyze whether it was caused by malfunction of the IoT sensor or other reasons. In the IoT service environment, it is possible to analyze the situation accurately by applying recent artificial intelligence and machine learning technologies. If there is an operational record of the past, it is possible to determine when an abnormal situation arises. Most problems are likely to be repeated, so if the past learning experience is accumulated, the anomaly of IoT services can be easily and immediately identified. In addition, when information gathered from various sensors is synthesized, it is possible to accurately determine whether abnormal situations have occurred. Various types of IoT sensors are installed with certain purposes. It expects that all the IoT sensors intend to monitor the occurrence of special abnormal situations in advance. Therefore, it should be set in advance what actions are required when a specific anomaly occurs. The appropriate work is performed on the abnormal situation according to the procedure, predefined by the human. By using artificial intelligence and machine learning algorithms, the appropriate actions are taken when an abnormal situation is detected from various IoT sensors. Choi, et,al. Expires September 12, 2019 [Page 5] Internet-Draft IoT with Artificial Intelligence March 2019 2. Challenging Issues of IoT network This section describes the challenging issues of data sensing, collection, transfer, and intelligent decision from untrusted data quality and unexpected situations of IoT service environments. 2.1. Untrusted and incorrect IoT devices IoT traffic is similar to traditional Internet traffic with small packet sizes. Mobile IoT traffic can cause some errors and delays because wireless links are unstable and signal strength may be degraded with device mobility. If the signal strength of the IoT device with a power limit is not so strong, the reception quality of the IoT server may not be sufficient to obtain the measurement data. For mission-critical applications, such as smart-grid and factory- automation, expensive IoT sensors with self-rechargeable batteries and redundant hardware logic may be required. However, unexpected abnormal situations may occur due to sensor malfunctions. There are trade-offs between implementation cost and efficiency for cost- effective IoT services. When smart-grid and factory-automation applications are equipped with IoT devices, the acceptable quality from IoT solutions can be required. Sometimes, expensive and duplicated IoT solutions may be needed. 2.2. Traffic burstiness of IoT network IoT traffic includes two types of traffic characteristic: periodic with small packet sizes and bursty with high bandwidth. Under normal conditions, the IoT traffic periodically transmits status information with a small bandwidth, several kilobits/sec. However, in an abnormal state, IoT devices need a high bandwidth, up to several tens of megabits/sec, in order to identify actual events and investigate accurate status information. In addition, traffic volume can explosively increase in response to emergencies. For example, in the case of smart-grid application, the bandwidth of several kilobits/sec is usually used, and when an urgent situation occurs, a broadband channel is required up to several tens of megabits/sec. Choi, et,al. Expires September 12, 2019 [Page 6] Internet-Draft IoT with Artificial Intelligence March 2019 The other traffic can be integrated at an IoT network to increase bandwidth efficiency. If an emergency situation occurs in the IoT service, IoT traffic volumes suddenly increase, in which case network processing capacity may be not sufficient. If the IoT service is integrated with voice and video applications, the problem can become more complex. As time goes by, traffic congestion and bottlenecks are frequent in some areas. In addition, if an existing service policy changes (for example, prioritizing certain traffic or suddenly changing the route), other unexpected problems may be encountered. Various congestion control and load balancing algorithms with the help of artificial intelligence can be applied to handle time-varying traffic on a network. Until now, much research has been done on traffic variability in an integrated network service environment. All networks have their own traffic characteristics, depending on geographical area, number of subscribers, subscribers' preferences, and types of applications used. In the case of IoT traffic, the normal bandwidth is very small. If the IoT traffic volume increases abruptly in an abnormal situation, the network may suffer unacceptable delay and loss. If emergency situations detected by IoT networks occur in a smart grid or intelligent transportation system, the processing power of the IoT network alone cannot solve the problem and the help of existing network resources is inevitable. 2.3. Management overheads of heterogeneous IoT sensors Traffic management in an integrated network environment is not easy. In order to operate the network steadily, a network operator has its own know-hows and experiences. If there are plenty of network resources, it is easy to set up a bypass route even if network failure or congestion occurs in a specific area. For operating network steadily, network resources may be designed to be over- provisioned in order to cope with various possible outages. A network operator predicts the amount of traffic generated by the corresponding equipment and grasps to what extent a transmission bandwidth is required. If traffic fluctuation is very severe, the network operator can allocate network resources in advance. In case Choi, et,al. Expires September 12, 2019 [Page 7] Internet-Draft IoT with Artificial Intelligence March 2019 of frequent failures or severe traffic fluctuation, some network resources are separated in order not to affect normal traffic. More than a billion IoT devices are expected to connect to smartphones, tablets, wearables, and vehicles. Therefore, IoT services are targeted at mobile applications. In particular, intelligent transportation systems need the help of IoT technology to provide traffic monitoring and prevent public or private traffic accidents. IoT technology can play an important role in reducing traffic congestion, saving people's travel time and costs, and providing a pleasant journey. The IoT service has troublesome administrative problems to configure an IoT network which consists of IoT servers, gateways, and many sensing devices. The small-sized but large-numbered IoT devices may incur administrative overhead since all the IoT devices should be initialized and the bootstrapping information of IoT resources should be loaded into the IoT service environments. Whenever some IoT devices are newly added and some devices have to be removed, the dynamic reconfiguration of IoT resources is essential. In addition, the IoT device's preinstalled software should be regularly inspected and upgraded according to its version. Frequent upgrades and changes to some IoT devices may require autonomic management and bootstrapping techniques. Network management generally assumes that all network resources operate reliably with acceptable quality. In most failure situations, the network operator decides to switch to a redundant backup device or bypass the failed communication path. If some IoT devices are not stable, duplicate IoT devices can be installed for the same purpose. If IoT resources are not duplicated, various mechanisms are needed to reduce the damage. Therefore, it is necessary to prioritize the management tasks to be performed first when an abnormality occurs in the IoT service environment. However, managing duplicate networks can cause another problem. If two IoT devices are running at the same time, the recipient can get redundant information. If two or more unusual situations occur at the same time, it is difficult to solve the problem since tasks for urgent processing should be distinguished from tasks that can be performed over time. Choi, et,al. Expires September 12, 2019 [Page 8] Internet-Draft IoT with Artificial Intelligence March 2019 In addition, the operations manager's mistakes or misunderstanding of problem situations can lead to other unexpected complications. Therefore, artificial intelligence technologies can help what kind of network management work is required when an unexpected complicated situation occurs even though a procedure for an abnormal situation is already prepared. 3. Overview of AI/ML-based IoT services In this section, successful applications of artificial intelligence in IoT domains are provided. The common property of IoT applications and services is that they require fast analytics rather than later analytics with piled data. Recently, neural-network-based artificial intelligence technologies are widely used across many IoT applications. Simple IoT applications include dynamic contexts that share common features among social relations at the same administration domain. IoT devices in the same domain can provide their service contexts to the IoT server. When a dynamic change occurs in an IoT service context, the IoT device needs real-time processing to activate urgent events, alert notifications, update, and reconnect contexts. The IoT service must support real-time interactions between the IoT device and the system in the same domain. The IoT service contexts must be shared between physical objects and social members in the same domain as well. Artificial intelligence technologies have been shown promising in many areas, including IoT. For example, contextual information for a car-sharing business must interact with customers, car owners, and car sharing providers. All entities in the value chain of a car sharing business must share the corresponding situation to pick up, board, and return shared cars. Communication networks and interactive information, including registration and payment, can be shared tightly among the entities. Home IoT service environment can be equipped with sensors for theft detection, door lock, temperature, fire detection, gas detection, short circuit, air condition to name a few. Office IoT service environments, including buildings such as Choi, et,al. Expires September 12, 2019 [Page 9] Internet-Draft IoT with Artificial Intelligence March 2019 shopping centers and bus/airport terminals, have their own sensors, including alarm sensors. When an alarm signal is detected by the sensor, the physical position and occurrence time of the sensor is determined in advance. All signals from various sensors are analyzed comprehensively to make the right decision. If some sensors frequently malfunction, the situation can be grasped more accurately by analyzing the information of the adjacent sensor. In particular, when installing multiple sensors in a particular building (e.g., surveillance camera, location monitoring, temperature, etc.), a much wider range of sensors can be used when utilizing artificial intelligence and machine learning technologies. (Smart home) Smart home concept span over multiple IoT applications, health, energy, entertainment, education, etc. It involves voice recognition, natural language processing, image-based object recognition, appliance management, and many more artificial intelligence technologies integrated with IoT. Smart connected- devices monitor the house to provide better control over home supplies and expenses. The energy consumption and efficiency of home appliances are monitored and analyzed with deep learning based technologies, such as artificial neural network, long-short-term- memory, etc. (Smart city) Smart city, as well, contains multiple IoT domains, transportation, infrastructure, energy, agriculture, etc. Since heterogeneous data from different domains are gathered in smart cities, various artificial intelligence approaches are studied in smart-city application. Public transportation behaviors and crowd movements patterns are important issues, and they are often dealt with neural network based methods, long-short-term-memory and convolutional neural network. (Smart energy) As two-way communication energy infrastructure is deployed, smart grid has become a big IoT application, which requires intelligent data processing. The traditional energy providers are highly interested in recognizing local energy consumption patterns and forecasting the needs in order to make appropriate decisions on real-time. Moreover, the energy consumers, as well, want analyzed information on their own energy consumption behaviors. Recently, many Choi, et,al. Expires September 12, 2019 [Page 10] Internet-Draft IoT with Artificial Intelligence March 2019 works on energy consumption prediction, energy flexibility analysis, etc. are actively ongoing. Most works are based on the latest deep learning technologies, such as multi-layered-perceptron, recurrent neural network, long-short-term-memory, autoencoder, etc. (Smart transportation) The intelligent transportation system is another source of big data in IoT domains. Many use cases, such as traffic flow and congestion prediction, traffic sign recognition, vehicle intrusion detection, etc., have been studied. Moreover, a lot of advanced artificial intelligence technologies are required in autonomous and smart vehicles, which require many intelligent sub- tasks, such as pedestrian's detection, obstacle avoidance, etc. (Smart healthcare) IoT and artificial intelligence are integrated into the healthcare and wellbeing domain as well. By analyzing food images with convolutional neural network on mobile devices, dietary intakes can be measured. With voice signal captured from sensor devices, voice pathologies can be detected. Moreover, recurrent neural network and long-short-term-memory technologies are actively being studied for early diagnosis and prediction of diseases with time series medical data. (Smart agriculture) To manage a vast area of land, IoT and artificial intelligence technologies are recently used in agriculture domains. Deep neural network and convolutional neural network are utilized for crop detection or classification and disease recognition in the plants. Moreover, for automatic farming with autonomous machine operation, obstacle avoidance, fruit location, and many more sub- tasks are handled with advanced artificial intelligence technologies. 4. Requirements for AI/ML-based IoT services (to be included) 4.1. Requirements for AI/ML-based IoT data collection and delivery (to be included) Choi, et,al. Expires September 12, 2019 [Page 11] Internet-Draft IoT with Artificial Intelligence March 2019 4.2. Requirements for intelligent and context-aware IoT services (to be included) 5. State of arts of the artificial intelligence/machine learning technologies for IoT services In this section, well-known machine learning and artificial intelligence technologies applicable to IoT applications are reviewed. 5.1. Machine learning and artificial intelligence technologies review The classical machine learning models can be divided into three types, supervised, unsupervised, and reinforcement learnings. Therefore, in this subsection, machine learning and artificial intelligence technology reviews are done in four different categories: supervised, unsupervised, reinforcement, and neural-network-based. 5.1.1. Supervised learning for IoT Supervised learning is a task-based type of machine learning, which approximates function describing the relationship and causality between input and output data. Therefore, the input data needs to be clearly defined with proper output data since supervised learning models learn explicitly from direct feedback. (K-Nearest Neighbor) Given a new data point in K-Nearest Neighbor (KNN) classifier, it is classified according to its K number of the closest data points in the training set. To find the K nearest neighbors of the new data point, it needs to use a distance metric which can affect classifier performance, such as Euclidean, Mahalanobis or Hamming. One limitation of KNN in applying for IoT network is that it is unscalable to large datasets because it requires the entire training dataset to classify a newly incoming Choi, et,al. Expires September 12, 2019 [Page 12] Internet-Draft IoT with Artificial Intelligence March 2019 data. However, KNN required less processing power capability compared to other complex learning methods. (Naive Bayes) Given a new data point in Naive Bayes classifiers, it is classified based on Bayes' theorem with the "naive" assumption of independence between the features. Since Naive Bayes classifiers don't need a large number of data points to be trained, they can deal with high-dimensional data points. Therefore, they are fast and highly scalable. However, since its "naive" assumptions are somewhat strong, a certain level of prior knowledge on the dataset is required. (Support Vector Machine) Support Vector Machine (SVM) is a binary and non-probabilistic classifier which finds the hyperplane maximizing the margin between the classes of the training dataset. SVM has been the most pervasive machine learning technology until the study on neural network technologies are advanced recently. However, SVM still has advantages over neural network based and probabilistic approaches in terms of memory usage and capability to deal with high-dimensional data. In this manner, SVM can be used for IoT applications with severe data storage constraint. (Regression) Regression is a method for approximating the relationships of the dependent variable, which is being estimated, with the independent variables, which are used for the estimation. Therefore, this method is widely used for forecasting and inferring causal relationships between input data and output data in time- sensitive IoT application. (Random Forests) In random forests, instead of training a single decision tree, a group of trees is trained. Each tree is trained on a subset of the training set using a randomly chosen subset of M input variables. Random forests considering various tree structures have very high accuracy, so it can be utilized in the accuracy-critical IoT applications. 5.1.2. Unsupervised learning for IoT Unsupervised learning is a data-driven type of machine learning which finds hidden structure in unlabeled dataset without feedback during Choi, et,al. Expires September 12, 2019 [Page 13] Internet-Draft IoT with Artificial Intelligence March 2019 the learning process. Unlike supervised learning, unsupervised learning focuses on discovering patterns in the data distributions and gaining insights from them. (K-means clustering) K-means clustering aims to assign observations into K number of clusters in which each observation belongs to the cluster having the most similarities. The measure of similarity is the distance between K cluster centers and each observation. K-means is a very fast and highly scalable clustering algorithm, so it can be used for IoT applications with real-time processing requirements such as smart transportation. (Density-based spatial clustering of applications with noise) Density-Based approach to Spatial Clustering of Applications with Noise (DBSCAN) is a method that clusters dataset based on the density of its data samples. In this model, dense regions which include data samples with many close neighbors are considered as clusters, and data samples in low-density regions are classified as outliers [Kriegal]. Since this method is robust to outliers, DBSCAN is efficient data clustering method for IoT network environments with untrusted big datasets in practice. 5.1.3. Reinforcement learning for IoT Reinforcement learning is a reactive type of machine learning that learn a series of actions in a given set of possible states, actions, and rewards or penalties. It can be seen as the exploring decision- making process and choosing the action series with the most reward or the least penalty which can be cost, priority, time to name a few. Reinforcement learning can be helpful for selecting action of IoT device by providing a guideline. (Q-learning) Q-Learning is a model-free, off-policy reinforcement learning algorithm based on the well-known Bellman Equation. The goal is to learn an action-selection policy maximizing the Q-value, which tells an agent what action to take. It can be used for IoT device to determine which action it should take according to conditions. Choi, et,al. Expires September 12, 2019 [Page 14] Internet-Draft IoT with Artificial Intelligence March 2019 (State-Action-Reward-State-Action) Though State-Action-Reward-State- Action (SARSA) is a much similar algorithm to Q-learning, the main difference is that it is an on-policy algorithm in which agent interacts with the environment and updates the policy based on actions taken. It means that the Q-value is updated by an action performed by the current policy instead of the greed policy that maximizes Q-value. In this perspective, it is relevant when an action of one IoT device will greatly influence the condition of the environment. (Deep Q Network) Deep Q network (DQN) is developed to solve the exploration problem for unseen states. In the case of Q-learning, the agent is not capable of estimating value for unseen states. To handle this generality problem, DQN leverages neural network technology. As a variation of the classic Q-Learning algorithm, DQN utilizes a deep convolutional neural net architecture for Q-function approximation. In real environments not all possible states and conditions are not able to be observed. Therefore, DQN is more relevant than Q-learning or SARSA in real applications such as IoT. Since DQN could be used within only discrete action space, it can be utilized for traffic routing in the IoT network. (Deep Deterministic Policy Gradient) DQN has solved generality and exploration problem of the unseen or rare states. Deep Deterministic Policy Gradient (DDPG) takes DQN into the continuous action domain. DDPG is a deterministic policy gradient based actor-critic, model- free algorithm. The actor decides the best action for each state and critic is used to evaluate the policy, the chosen action set. In IoT applications, DDPG can be utilized for the tasks that require controlled in continuous action spaces, such as energy-efficient temperature control, computation offloading, network traffic scheduling, etc. 5.1.4. Neural Network based algorithms for IoT (Recurrent Neural Network) Recurrent Neural Network (RNN) is a discriminative type of supervised learning model that takes serial or time-series input data. RNN is specifically developed to address Choi, et,al. Expires September 12, 2019 [Page 15] Internet-Draft IoT with Artificial Intelligence March 2019 issue of time dependency of sequential time-series input data. It processes sequences of data through internal memory, and it is useful in IoT applications with time-dependent data, such as identifying time-dependent patterns of sensor data, estimating consumption behavior over time, etc. (Long Short Term Memory) As an extension of RNN, Long Short Term Memory (LSTM) is a discriminative type of supervised learning model that is specialized for serial or time-series input data as well [Hochreiter]. The main difference of LSTM from RNN is that it utilizes the concept of gates. It actively controls forget gates to prevent the long term time dependency from waning. Therefore, compared to RNN, it is more suitable for data with long time relationship and IoT applications requiring analysis on the long lag of dependency, such as activity recognition, disaster prediction, to name a few [Chung]. (Convolutional Neural Network) Convolutional neural network (CNN) is a discriminative type of supervised learning model. It is developed specifically for processing 2-dimensional image data by considering local connectivity, but now generally used for multidimensional data such as multi channel sound signals, IoT sensor values, etc. As in CNN neurons are connected only to a small subset of the input and share weight parameters, CNN is much more sparse compared to fully connected network. However, it needs a large training dataset, especially for visual tasks. In CNN, a new activation function for neural network, Rectified Linear Unit (ReLU), was proposed, which accelerates training time without affecting the generalization of the network [Krizhevsky]. In IoT domains, it is often used for detection tasks that require some visual analysis. (Variational Autoencoder) Autoencoder (AE) is a generative type of unsupervised learning model. AE is trained to generate output to reconstruct input data, thus it has the same number of input and output units. It is suitable for feature extraction and dimensionality reduction. Because of its behavior to reconstructing the input data at the output layer, it is often used for machinery fault diagnosis in IoT applications. The most popular type of AE, Variational Autoencoder (VAE) is a generative type of semi-supervised Choi, et,al. Expires September 12, 2019 [Page 16] Internet-Draft IoT with Artificial Intelligence March 2019 learning model. Its assumptions on the structure of the data are weak enough for real applications and its training process through backpropagation is fast [Doersch]. Therefore, VAE is suitable in IoT applications where data tends to be diverse and scarce. (Generative Adversarial Network) Generative Adversarial Network (GAN) is a hybrid type of semi-supervised learning model which contain two neural networks, namely the generative and discriminative networks [Goodfellow]. The generator is trained to learn the data distribution from a training dataset in order to generate new data which can deceive the latter network, so-called the discriminator. Then, the discriminator learns to discriminate the generated data from the real data. In IoT applications, GAN can be used in situations when something needs to be generated from the available data, such as localization, way-finding, and data type conversion. 5.2. Technologies for lightweight and real-time intelligence As the era of IoT has come, some sort of light-weight intelligence is needed to support smart objects. Prior to the era of IoT, most of the works on learning did not consider resource-constrained environments. Especially, deep learning models require many resources such as processing power, memory, stable power source, etc. However, it has been recently shown that the parameters of the deep learning models contain redundant information, so that some parts of them can be delicately removed to reduce complexity without much degradation of performance [Ba], [Denil]. In this section, the technologies to achieve real-time and serverless learning in IoT environments are introduced. (network compression) Network compression is a method to convert a dense network into a sparse one. With this technology the network can be reduced in its size and complexity. By pruning irrelevant parts or sharing redundant parameters, the storage and computational requirements can be decreased [Han]. After pruning, the performance of the network is examined and the pruning process is repeated until the performance reaches the minimum requirements for the specific applications and use cases. As many parameters are removed or shared, Choi, et,al. Expires September 12, 2019 [Page 17] Internet-Draft IoT with Artificial Intelligence March 2019 the memory required is reduced, as well as computational burden and energy. Especially as most energy in neural network is used to access memory, the consumed energy dramatically drops. Although its main limitation is that there is not a general solution to compress all kinds of network, but it rather depends on the characteristics of each network. However, network compression is still the most widespread method to make deep learning technologies to be lightweight and IoT-friendly. (approximate computing) Approximate computing is an approach to support deep learning in smart devices [Venkataramani], [Moons]. It is based on the facts that the results of deep learning do not need to be exact in many IoT applications but still valid if the results are in an acceptable range. By integrating approximate computing into deep learning, not only the execution time but also the energy consumption are reduced [Mohammadi]. Based on the optimal trade-off between accuracy and run-time or energy consumption, the network can be adjustably approximated. The network approximate technology can be well-used in such situations when the response time is more important than sophisticatedly analyzed results. Although it is a technology to facilitate real-time and lightweight intelligence, the process of training models and converting it to approximate network require some amount of resource. Therefore, the approximated model can be deployed on smart devices but the learning and approximation processes still need to take places on resource rich platforms. 6. IANA Considerations This document requests no action by IANA. 7. Acknowledgements 8. Contributors Choi, et,al. Expires September 12, 2019 [Page 18] Internet-Draft IoT with Artificial Intelligence March 2019 9. Informative References [Hochreiter] S. Hochreiter and J. Schmidhuber, "Long short-term memory," Neural Comput., vol. 9, no. 8, pp. 1735-1780, Nov. 1997. [Chung] J. Chung, C. Gulcehre, K. Cho, and Y. Bengio, "Empirical evaluation of gated recurrent neural networks on sequence modeling," arXiv preprint arXiv:1412.3555v1 [cs.NE], 2014. [Krizhevsky] A. Krizhevsky, I. Sutskever, and G. E. Hinton, "ImageNet classification with deep convolutional neural networks," in Proc. Adv. Neural Inf. Process. Syst., 2012, pp. 1097-1105. [Doersch] C. Doersch, "Tutorial on variational autoencoders," arXiv preprint arXiv:1606.05908v2 [stat.ML], 2016. [Goodfellow]. I. Goodfellow et al., "Generative adversarial nets," in Proc. Adv. Neural Inf. Process. Syst., 2014, pp. 2672-2680. [Ba] J. Ba and R. Caruana, "Do deep nets really need to be deep?" in Proc. Adv. Neural Inf. Process. Syst., Montreal, QC, Canada, 2014, pp. 2654-2662. [Denil] M. Denil, B. Shakibi, L. Dinh, N. de Freitas, and M. Ranzato, "Predicting parameters in deep learning," in Proc. Adv. Neural Inf. Process. Syst., 2013, pp. 2148-2156. [Han] S. Han, J. Pool, J. Tran, and W. Dally, "Learning both weights and connections for efficient neural network," in Proc. Adv. Neural Inf. Process. Syst., Montreal, QC, Canada, 2015, pp. 1135-1143. [Venkataramani] S. Venkataramani, A. Ranjan, K. Roy, and A. Raghunathan, "AxNN: Energy-efficient neuromorphic systems using approximate computing," in Proc. Int. Symp. Low Power Electron. Design, ACM, 2014, pp. 27-32. [Moons] B. Moons, B. De Brabandere, L. Van Gool, and M. Verhelst, "Energy- efficient ConvNets through approximate computing," in Proc. IEEE Winter Conf. Appl. Comput. Vis. (WACV), Lake Placid, NY, USA: IEEE, 2016, pp. 1-8. [Mohammadi] Mohammadi, Mehdi, et al. "Deep learning for IoT big data and streaming analytics: A survey," IEEE Communications Surveys & Choi, et,al. Expires September 12, 2019 [Page 19] Internet-Draft IoT with Artificial Intelligence March 2019 Tutorials, 2018, pp. 2923-2960. [Kriegel] Kriegel, HansPeter, et al. "Densitybased clustering," Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, 2011, pp. 231-240. Choi, et,al. Expires September 12, 2019 [Page 20] Internet-Draft IoT with Artificial Intelligence March 2019 Authors' Addresses Jun Kyun Choi (editor) Korea Advanced Institute of Science and Technology (KAIST) 193 Munji Ro, Yuseong-gu, Daejeon Korea Email: jkchoi59@kaist.ac.kr Na Kyoung Kim Korea Advanced Institute of Science and Technology (KAIST) 193 Munji Ro, Yuseong-gu, Daejeon Korea Email: nkim71@kaist.ac.kr Jae Seob Han Korea Advanced Institute of Science and Technology (KAIST) 193 Munji Ro, Yuseong-gu, Daejeon Korea Email: j89449@kaist.ac.kr Min Kyung Kim Korea Advanced Institute of Science and Technology (KAIST) 193 Munji Ro, Yuseong-gu, Daejeon Korea Email: mkkim1778@kaist.ac.kr Gyu Myoung Lee Liverpool John Moores University Barkhill Rd, Merseyside, Liverpool L17 6BD United Kingdom Email: G.M.Lee@ljmu.ac.uk Choi, et,al. Expires September 12, 2019 [Page 21]