Thursday, April 12, 2018

Artificial Neural Networks

When you read about artificial neural network (ANN), the first thing you learn is that an artificial neural network is like the human brain: it can be trained to perform a certain task. Like how our brain is composed of neurons, that process information received either from the outer world or from other neurons, ANN has artificial neurons that work the same way. In the case of a human brain, when a person touches a kettle of boiling water, input is the touch sensation, and output is a signal from the brain, to remove the hand from the kettle. Similarly, for an ANN that is trained for image recognition, when input is an image of a furry puppy, the output is the word “puppy" or “dog", depending on how it was trained.

Figure 1 - Artificial Neural Network (ANN)


Figure 2 - Biological Neuron

Although, in recent years, ANN has been proven to achieve exceptional results in a particular task, it is yet to reach the capabilities of a human brain, where a single network performs multiple tasks. An ANN is created and trained for a purpose, and with enough data and training, no doubt, it can outperform human brains in executing a task. AlphaGo can be taken as an example, which is the first computer program to defeat a human world champion of the game Go. Other such tasks, where ANN has shown better results, include image and object recognition, and voice recognition. However, the challenge for ANN lies in training one network that can learn and carry out multiple tasks. It would be absolutely amazing to see an ANN that is powerful enough to recognise a person, learn to play computer games, and write songs as well, and I believe, that is the next stepping stone for ANN.

At nsquared, we are excited to be working with cognitive services and machine learning systems, to improve the way we work together better. For an experimental project that I worked on, I created a UWP app that produces drawings of objects using Tensorflow, an open-source machine learning library. In this project, I worked with sketch-rnn, which is a neural network, based on a type of ANN, called recurrent neural network. I used pre-trained models, that were available online, as well as experimented with training my own ANN using existing datasets.

Sabina Pokhrel

References
Burnett, C. (2018). Artificial neural network. [image] Available at: https://commons.wikimedia.org/wiki/File:Artificial_neural_network.svg [Accessed 28 Mar. 2018].

DeepMind. (2018). AlphaGo | DeepMind. [online] Available at: https://deepmind.com/research/alphago/ [Accessed 28 Mar. 2018].

Looxix (2018). Neuron - annotated. [image] Available at: https://commons.wikimedia.org/wiki/File:Neuron_-_annotated.svg [Accessed 28 Mar. 2018].

Steinberg, R. (2018). 6 areas where artificial neural networks outperform humans. [online] VentureBeat. Available at: https://venturebeat.com/2017/12/08/6-areas-where-artificial-neural-networks-outperform-humans/ [Accessed 28 Mar. 2018].

GitHub. (2018). tensorflow/magenta. [online] Available at: https://github.com/tensorflow/magenta/tree/master/magenta/models/sketch_rnn [Accessed 12 Apr. 2018].

No comments: