Skip to main content

Posts

Showing posts with the label Neural Networks

Helping the Blind See

The Sense of Vision is taken for granted by us in our day to day life, but only a visually impaired person can understand the true value and necessity of Vision. But soon AI based computer vision systems can help the blind and visually impaired to navigate. Tech giants like Google, Baidu, Facebook, Microsoft are working on a range of products that apply Deep Learning for the Visually Impaired. One of them being Image Captioning technology wherein the system describes the content of an image.  To accelerate further research and to boost the possible applications of this technology, Google made the latest version of their Image Captioning System available as an open source model in Tensorflow. It’s called “Show And Tell: A Neural Image Caption Generator”. The project can be found at https://github.com/tensorflow/models/tree/master/im2txt and the full paper can be found at https://arxiv.org/abs/1609.06647 The Show and Tell model is an example of an encoder-decoder neural ...

From Cats to Convolutional Neural Networks

Widely used in image recognition, Convolutional Neural Networks (CNNs) consist of multiple layers of neuron collection which look at small window of the input image, called receptive fields. The history of Convolutional Neural Networks begins with a famous experiment “Receptive Fields of Single Neurons in the Cat’s Striate Cortex” conducted by Hubel and Wiesel. The experiment confirmed the long belief of neurobiologists and psychologists that the neurons in the brain act as feature detectors. The first neural network model that drew inspiration from the hierarchy model of the visual nervous system proposed by Hubel and Wiesel was Neocognitron invented by Kunihiko Fukushima, and had the ability of performing unsupervised learning. Kunihiko Fukushima’s approach was commendable as it was the first neural network model having the capability of pattern recognition similar to human brain. The model gave a lot of insight and helped future understanding of the brain. A successful ad...

Implement XOR in Tensorflow

XOR is considered as the 'Hello World' of Neural Networks. It seems like the best problem to try your first TensorFlow program. Tensorflow makes it easy to build a neural network with few tweaks. All you have to do is make a graph and you have a neural network that learns the XOR function. Why XOR? Well, XOR is the reason why backpropogation was invented in the first place. A single layer perceptron although quite successful in learning the AND and OR functions, can't learn XOR (Table 1) as it is just a linear classifier, and XOR is a linearly inseparable pattern (Figure 1). Thus the single layer perceptron goes into a panic mode while learning XOR – it can't just do that.  Deep Propogation algorithm comes for the rescue. It learns an XOR by adding two lines L1 and L2 (Figure 2). This post assumes you know how the backpropogation algorithm works. Following are the steps to implement the ne...

Why Tensorflow

You have a lot of data which you want to make sense of, learn patterns, but you don't have the necessary expertice to develop algorithms that will learn through the data. Ofcourse you can develop your own machine learning algorithms to make sense of the data. There might be benifits in developing your own algorithms, proprietary being one, but you might have to invest time and money. What if you have access to ready made machine learning algorithms which you just have to use in your products? Google's Tensorflow offers such tried and tested algorithms using APIs that you just have to call in your programs. All you have to provide is data, and Tensorflow will take care of the intelligence to learn. Tensorflow adds the following capabilities to your products 1. Access to machine learning algorithms such as Neural Networks. 2. Increase performance of your models using multiple CPUs and GPUs without change in code. 3. Do numerical computations using data flow g...