Understanding Neural Networks with Theano
Submitted by Jaidev Deshpande (@jaidevd) on Monday, 10 April 2017
Theano is not only a powerful tool to build and run deep and shallow neural networks, it is also a wonderful learning resource. Since it works primarily on symbolic mathematical expressions, it can help us understand how learning in neural networks can be interpreted in terms of equations, vectors, variables and Python functions.
In this tutorial, participants will get a (very) brief background on the mathematics of neural networks and how to use theano to convert this knowledge into a Python program that can train and use a neural network.
Broadly the topics covered will be as follows:
- Constructing simple neural networks in Python
- Vectorizing neural networks in NumPy
- Simplifying the neural network construction with Theano
- Extending simple neural networks into deep networks
The workshop will proceed with four different Jupyter notebooks, each of them highlighting and providing exercises on different aspects of neural networks. The details can be found here:
- Intermediate knowledge of Python - classes, functions, control statements
- Basic knowledge of the numpy.ndarray object
- Basic differential calculus
I am a data scientist based in New Delhi. I currently work at Juxt SmartMandate Analytic Solutions as Practice Lead in data science. I have been an active member of the Delhi, Pune and Mumbai Python users’ groups and am also an organizer of the SciPy India conference.
My background is in statistical signal processing and applications of machine learning in signal processing. I am currently working on various projects involving NLP, recommender systems and deep learning for computer vision.