An Introduction to the Artificial Neural Network
The artificial neural network (ANN) is increasing in popularity, with big data by its side. Learn what an ANN is and how it compares to biological neural networks.
Join the DZone community and get the full member experience.Join For Free
I hated biology in my school days but I loved mathematics. After a long period of time, I now finally get to learn something that combines both mathematics and biology together: artificial neural networks (ANN), which are inspired by biological neural networks. Though you might find it weird, that is how I would like to define the artificial neural network. When we say biology here, it is basically the study of the brain or perhaps the nervous system. Artificial intelligence mimics how the nervous system works. Artificial neural networks are getting hugely popular these days, with big data by their side. In fact, one of my colleagues says that you cannot do artificial neural network or any other machine learning algorithm without big data. But of course, I didn’t believe him and decided to try it myself. So, this blog is about my first interaction with ANNs.
This blog is definitely not going to be sufficient for explaining everything about ANNs, but I hope it will give you a good idea about it. Now, let's begin with a crash course on the biological neural network and learn its terminology, followed by the terminology of ANNs.
When our senses get any feeling (like when you touch something), sensory input gets the data and sends it to the nervous system. The nervous system is densely packed with nervous tissues of cells. These cells are called neurons. These neurons process the data received from the sensory input and instruct the body to do something, like remove the hand from a hot stove. The removing of the hand part is called the motor output. We certainly aren't going to get deep into sensory input and motor output, but we will go a bit through the neurons and how they work.
A neural network is constructed with various neurons. In the above image, we have a network of two neurons. As you can see, there are different terms denoting different parts of the neurons. Dendrites are the input points for the neurons. The data transferred to the neurons either from sensory input points or from other neurons are received at the dendrites. The cell body processes the data and creates output in the form of an electrical pulse or some sort of chemical and sends it through the axons to the other neurons or to the motor output. Within the network, when neurons are communicating with each other (i.e. when the axon carries the electrical or chemical data to the other neuron), it drops the data in a place from where the dendrites receive them. This joining point of axons and dendrites is called the synapse. The synapse is a point where the output of one neuron is transformed so that i can be accepted by the next neuron.
Alright, that's the basics of a neural network. We are ready to learn about artificial neural networks now.
The above diagram is basically a comparison between the biological neural network and artificial neural network. This particular ANN has three layers of networks: the input layer, the middle layer, and the output layer. We can consider each circle to be a neuron, so each neuron accepts input, process it, produces the output. When the output produced in the first neuron is passed to the next neuron, a weight gets multiplied to it. Then, the new value gets accepted by the next neuron as its input. The input and output of the ANN can be compared to dentrites and axons of biological neural networks. Weight multiplication can be compared to synapses.
There are around 100 billion neurons in human brain and each neuron is connected to approximately 10,000 neurons. Interestingly, the biological neurons can switch in 0.001 seconds, which is quite slow in comparison to computer switching of 10^-10. Still, biological neurons can make complex decisions pretty quickly. In order to recognize a known person, it takes around 0.1 seconds, and you can imagine how many neurons have to be fired for that. Even after switching among so many neurons within 0.1 seconds, the performance of the brain is quite fast. Surprising, right? Well, the speculation is that the working of neurons is quite parallel in the human brain. New neural network algorithms are being improved to be parallel, though.
In future blogs in this series, we are going to use Scala and Akka, which would give us more power to do be parallel. Hopefully, you are as excited about this as I am!
To summarize, we have gone through what biological neurons are, how they work, and different terms of the biological network. We also compared biological and artificial neural networks. Finally, we discussed how human brains can make complex decisions quickly. In my next blog, we will go through an example of neural networks in Scala and dive deeper into the artificial neural network.
Published at DZone with permission of Pranjut Gogoi. See the original article here.
Opinions expressed by DZone contributors are their own.