Talking to Machines : Optimizing Neural Networks with Theano
With recent advances in the field of Deep Learning, computers have become much better at challenging human level tasks. And these are no longer restricted to detecting objects, or learning languages. Visual Question Answering, is one such interesting area of research where machines can learn to answer questions from images, by training Deep Neural Networks. For instance,
The questions which followed :
Query: Is the dog sleeping? Model: Yes Query: Is the dog awake? Model: No
And while some of this often looks like 'black box' magic, we lose sight of the fact that the ideas are based on extensive research with rigorous mathematical foundation. The talk aims at introducing some of these concepts through Theano, a Python library, extensively used just not in the Deep Learning community, but the scientific community generally.
In the discussion, we delve deeper into optimizing Deep Neural Network architectures with Theano, with focus on the VQA task mentioned above. This helps exploring how several state-of-the-art approaches like Convolution Neural Networks (CNNs) and Recurrent Neural Networks(RNNs) come together in an architecture to develop interesting algorithms.
Topics of discussion :
- Neural Networks in Machine Learning
- Theano and Symbolic Algebra for optimizing deep neural networks
- The VQA paradigm
Familiarity with the following would definitely help appreciate the talk :
- Introductory Machine Learning
- Symbolic Algebra ( focus on Symbolic Differentiation )
- Introductory Calculus, Linear Algebra
- Containers in Python
- Convolution Neural Networks ~ Recurrent Neural Networks
The primary takeaway from the talk would be to bridge the differences in theory and practice . Also, to reinforce the realization that well-developed libraries take care of several run-time and compile-time optimizations which often results in significant difference in performance.
Neural Networks :
- Official Theano documentation
- Getting started with Theano
- Theano : A Python framework for fast computation of mathematical expressions
Deep Learning References :
Deep Learning and Robotics enthusiast, presently final year undergraduate student at IIT Kharagpur. Works in the intersection of Robotics and Machine Learning. While trying to keep up with the rapid advancements in learning-based approaches, I spend a considerable amount of my time tinkering with quadcopters at the ARK Lab, or building my own swarm of robots at the SIK Lab.
Previously I have worked on theoretical machine learning at the Johns Hopkins University. More recently, I am exploring Deep Learning approaches for language modeling, at the MILA Lab, University of Montreal.