Understanding Neural Networks with Theano
Jaidev Deshpande (~jaidevd) |
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
- Intermediate knowledge of Python - classes, functions, control statements
- Basic knowledge of the
- Basic differential calculus
This is a working repository of the notebooks to be used in the workshop: https://github.com/jaidevd/pydelhi_theano
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.