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, <figure style="text-align:center"> <img src="" title="Sleeping dog" style="width:auto; height:350px; border:solid 1px #ccc"/> <figcaption> Is the dog sleeping? </figcaption> </figure>

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
  • Symbolic Algebra in optimization
  • Introducing Theano
  • Basics on RNNs, CNNs
  • The VQA paradigm
  • Using Theano for optimizing Deep neural networks
  • Introduction to Blocks, Keras, Lasagne for self exploration

Workshop outline :

  • Recap : Basic Neural Networks with Theano
  • Under the hood : Theano optimizations
  • The VQA Problem
  • Compile and train end-to-end networks
  • Observations and results with VQA
  • Experiments and Visualizations on pre-trained model
  • Introduction to Keras
  • Training own models on MNIST for character recognition


While most of the topics are introduced in the talk from scratch, familiarity with the following would definitely help :

  • Introductory Machine Learning
  • Symbolic Algebra ( focus on Symbolic Differentiation )
  • Introductory Calculus, Linear Algebra
  • Containers in Python
  • Convolution Neural Networks ~ Recurrent Neural Networks
For hands-on :

Content URLs:

Workshop Resources
  • Outline
  • Worksop slides and iPython notebooks will be available here
Neural Networks :
Theano :
Deep Learning References :

Speaker Info:

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.

Speaker Links:

Section: Scientific Computing
Type: Workshops
Target Audience: Intermediate
Last Updated: