Making Deep Learning Smarter

By now I hope I have managed to demystify the artificial intelligence behind Deep Learning. To put it simply it’s all about exploiting the patterns in the data and we do this by getting clues from examples. Using the clues, we ever so slightly nudge our neural network in a direction that makes its results more correct. Deep learning practitioners and researchers apply that general idea to many different areas to solve problems. Some examples are summarizing reviews, understanding passages of text written in, say, English, building driverless cars, etc. These are activities that, in the past, could only be done by a person because they require a certain level of intelligence that computers just did not possess. Now, computers can perform these activities better and faster than humans in some cases.

Using Deep Learning, we are able to make computers more intelligent. That said, computers are not yet generally smart. When building a neural network, we always have to prepare data and configure the networks to work on the data we have. Neural networks cannot prepare the data for themselves or configure themselves to work on a specific kind of data the way that a person can learn how to work with new data. Moreover, neural networks cannot answer any questions they have not been trained to answer. For instance, a convolutional neural network trained to identify cats in images cannot explain why a particular image is a cat, not a dog, but a person can. Even though Deep Learning has come really far, it just cannot do all the things we can, yet. In my research, I explore ways in which we can make computers a little more generally smarter. I particularly focus on understanding language in a general way. One of the things I will be working on is representing the sentences in a way that shows the meaning of the sentence more clearly. To achieve this I use Trees -not the kind that grows in the ground although there are similarities.

 

Trees

In computer science, trees are a way of representing information. An example shown below is a family tree for all the women in a lineage starting with the great grandmother of the subject and ending with the mother and her sisters.  

Fig 1.0 Family tree

The great grandmother is the root of the tree and she has three children. One of her children, the grandmother also has three children. A sentence can be represented in a similar way. Take the following sentence, “Nancy took the glass”. The sentence is describing the action of taking, so ‘took’ is the root of the tree.

Fig 2.0 A tree representation of the sentence “Nancy took the glass”.

Nancy and glass are both children of the action ‘took’ because they provide more information about the action. Nancy is doing the action (subject) and the action is done on glass (object). Lastly, ‘the’ gives us an idea which glass we are talking about hence it’s a child of glass. A tree like this conveys the meaning of the sentence more clearly than the sentence.

A neural network trained on sentences in the form of a tree may be able to pick up patterns in the meaning of the sentence more than a network trained on regular sentences. If this hypothesis is true, using trees in neural network could get us closer to building software that understands language. In the next three weeks I will be building a tree based neural network to see how well they perform on common benchmarks like question answering and sentence comparison.

Leave a Comment