Running an Artificial Neural Networks on an Arduino Uno -06/12/23

 In this lesson, we used our Arduino to run an Artificial Neural Network which uses Machine Learning Algorithms. This was the perfect project to learn about machine learning and the basics of artificial intelligence. The program was designed to interpret the segments displayed on an LED numerical display to solve the corresponding binary number.

An artificial neural network is a segment of code which learns how to respond to inputs based on examples sets of inputs and outputs. They are very powerful tools and use in autonomous vehicles and facial recognition system and pattern recognition. A good example of it is in handwriting recognition.


One of the key principles, in an artificial neural network is that the network needs to be trained. So, first the program starts with the untrained values. We need to run the serial monitor to see this values.


After that, the program runs in training cycle to solve the answer which is needed and the picture is attached below.


There is a problem with this which can be solved by XOR.


XOR problem is one of the logical operations when performed on binary inputs that yield output for different combinations of input, and for the same combinations of input no output is produced. The outputs produced by the XOR logic are not linearly separable in the hyperplane. 

From the above truth table, it can be say that XOR produces an output for different states of inputs and for the same states of inputs it does not produce any output. 

In order to add an additional layer of input for the program to run through the artificial neural network, hidden nodes were added as a variable in example code to solve the XOR problem.

Additionally, the program itself keeps running through training cycles until the error rate is reduced to the predetermined level. Every time, the AI is trained the number of training cycles will be vary.

This is important historically because, in early days of neural network the researchers were exploring the idea to solve the complex problems using artificial neural network but due to XOR problem they were not able to do it early. This was holding back the development of AI in early days. Solving XOR problem was not just about XOR itself, it demonstrated the power of neural network. It paved the way for neural networks to tackle real world problems like image recognition, natural language processing and more.

The XOR problem played a crucial role in shaping the field of neural networks, emphasizing the need for deeper architectures and non linear activation functions. Its historical importance lies in sparking advancements that led to the neural networks we use today.

Comments

Popular posts from this blog

Building a MIDI Instrument

Introduction to Arduino Uno

Running MPU-92/65 sensor with Arduino to Measure Real time Temperature