Artificial Intelligence in Internet of Things
Nirupam S D
Chief Technology Officer (CTO) - Data Fusion, Internet of Things (IoT) and Artificial Intelligence
Artificial intelligence is the best solution to manage huge data flows and storage in the IoT network. IoT nowadays becoming more and more popular with the inventions of high speed internet networks and many advanced sensors that can be integrated . The data flows internets now will have sensors data and user data that send and receive from the various sources. With the increase in the number of devices and more and more sensors, some data may be facing problems on the storage, delay, channels limitation and congestion in the networks. To avoid all these problems, there were many algorithms were proposed in the last decade.
Among all the algorithms, Artificial Intelligence still being the best solution to the data mining, manage and control of congestion in the network.
IoT (Internet of Things) is a current technology to send a received the sensor data via internet networks. It is same like normal data communication except that in IoT, sensors and microcontrollers are usually used. The sending and receiving of data do not rely on the computer but relies on the microcontroller and portable communication devices such as cell phone, communication pad or even the smartwatch. With IoT, most of the sensors data can be directly routed into the server. This usually is done when the MCUs is attached to WiFi and there is a connection between microcontroller and Wi-Fi.
Unlike in traditional internet system, to send or receive data, the user must know the TCP/IP address and hence do the necessary setting in the network before transmission. Similarly, for WiFi connection, like in a portable computer, the user has to do connection with WiFi and ensure the service provider provide the channels, then the communication will be available.
In IoT, the WiFi setting usually is done through a programming. For example, MCU program call for WiFi ESP command to have communication links will enable the ESP WiFi to make a necessary connection to the network. This can bypass a lot of steps in the internet setting. Configure the connection or setting through a program is much easier and convenient.
A simple IoT system should comprise of self optimizing network and software defined networks. The self optimizing network helps to optimize the network for huge data transmission and reception. Normally in this optimizing network, time and the free channel will be computed and assigned to the user who wants to send and receive the data. The Self-optimizing network can be done automatically by a router and system update the router's table. The system will compute and determine the shortest path for the data to flows. In software defined networks, a specific software will be used to program the data to send and received. μC programming language and Python are two examples of software defined networks. Both of the compilers can instruct the data send, store and received from the receivers.
The principle of Artificial intelligence
In order for the Artificial Intelligence system applied into the IoT networks, certain terms and principles must understand. For Artificial intelligence, there are two commonly used techniques - neural network and fuzzy logic.
Neural network system, which comprises of input x1 to x3. All these inputs basically content weights by themselves, but they are not shown in the diagram. The middle circle component is the transfer function. It is a mathematical solution for the inputs. The solution will process the inputs then produce only one output. The decision making may be as below
∑ Xn > 1000 = 1
Or
∑ Xn < 1000 = 0
The output either release 1 or 0 based on the transfer function and the decision making. In more advanced Artificial Intelligence system, weight functions may be introduced to control the inputs. These weight functions produced weigh values that are parts of the parameters to control the input. The new output is reproduced from the input plus the control parameters in the transfer function. In some cases, the control parameters are adjusted so that the input signals can be trained. When input signals are trained, then the next inputs will be compared to the trained values. Finally the "yes" or "no" answer will appear at the output.
Take an example of Voice recognition module. The module comprises a microphone and the processor. When the user wants to recognize the speech, he or she will record his or her voice into the module. The module uses an Artificial Intelligent technique to make user keep on recording the voice until the subsequence voice, one or two or three are matched with the first voice recorded. If this happens, we said that the voice is successfully trained. Once the voice is successfully trained, the user can use his or her voice to activate any devices.
In other words, all the signals coming from input must be trained before they can be used as references in the library. Another commonly used technique in the Artificial Intelligence is Fuzzy logic. Fuzzy logic uses a set of rule to determine a single output. Fuzzy different from traditional logic where digital 1 or 0 is produced. Fuzzy can analyze more detail on a certain condition and make the final decision on the output. Take an example below
If the heat is hot = turn ON fan speed 40 rpm
If the heat is moderate hot = turn ON fan speed 100 rpm
If the heat is very hot = turn ON fan speed 120 rpm
If the heat is extremely hot = turn ON fan speed 200 rpm
As can see from the example above, the condition to adjust the speed of the fan depends on subsequence increment of heat continuous. The decision will not make just a hot and extremely hot. Unlike traditional logic, there would be two speeds, which are 40 rpm and 200 rpm.
The best thing the fuzzy logic is, the programmer and the designer can fine tune the condition and make the decision making more precise.
We also can use traditional logic to represent a fuzzy logic. In terms of programming, the fuzzy always implemented using "if-else" block. Some programs use "switch case" or even the "while" function to program the fuzzy logic. However, using "if-else" function is the most accurate and most practical.
Review the IoT uses in AI
The research of Artificial Intelligence applied to the IoT is no more novel. In the past, there were many proposed ideas about Artificial Intelligence applied to the IoT. One of the ideas proposed is making all devices communicate to each other. This means that from the transport, a user can control home appliances. From the smart phone, the user not only making a call but also can control the home appliances.
The commonly used IoT is the home appliances control. An android or i-phone with suitable Apps is used to control the appliances ON and OFF via internet connection. Apart from that, some of the devices installed with sensors. The sensors then read the signals from natures and convert the signals into electrical varying voltages so that the signals can be processed and send to the receiver (smart phone). The signals are then displayed using an Apps. The information of signals also can be viewed from the internet page.
It is not surprising nowadays many people use voice recognition in IoT to control the appliances. By using voice to control appliances, a recorder with training system must be prepared so that the voice can be recognized.
A well-known IoT device that uses Wi-Fi to control the home appliances is Alexa.
Another use of Artificial Intelligence in IoT is the data mining. Data mining is a technique used to manage the data and reduced the storage space. This means that when the data is getting more and more in the network, there will be a tendency to spend more time to dig out the desired data. In order to reduce such a time to look for the wanted data, data mining technique is employed. The steps involved in data mining are
1. Data integration
2. Data selection
3. Data cleaning
4. Data transformation
5. Data mining
6. Pattern evaluation
The data selection is a process to select a wanted data in a huge storage device. The selection of data may be a small portion or it may involve big portion. Once the data is selected, the system will perform.
In data cleaning process, those repeated data or there is a junk data in the system will be removed. If the repeated data is removed, then there will be a lot more storage space. In data transformation, some data is transformed into a package and send out to the network. Data must be transformed into another format due to two reasons: make the standard data to be able to read by differences workstations. Maximize storage space and cause the system run even faster.
The Artificial Intelligence, in the case of smart home to determine the optimum temperature and humidity, AI detects the maximum temperature and humidity, then make a report to the automatically so that master controller can control cooling fan turn ON and reduce the temperature.
In conclusion, so data is all around us. The Internet of Things (IoT) and sensors have the ability to harness large volumes of data, while artificial intelligence (AI) can learn patterns in the data to automate tasks for a variety of business benefits.
Whether you need an AI application built in-house, or cloud-based services to support your cognitive business, we have range of solutions that augment and accelerate your problem-solving capabilities.
Sr. Director Enterprise Architecture at Staples, Inc.
5 年Great write up on the convergence of IoT, AI and SDN. Also to enable privacy and data protection AI models are now being applied on the edge so that data do not need to leave from where it is being produced or consumed. This also optimizes network bandwidth in addition to data privacy.
Director at Logical Line Marking
6 年Indeed Nirupam, as we keep advancing in business, I think we will be seeing more of AI and IoT being discussed.