Theano & Keras: Teaching Python to 'learn' English

Ameya Prabhu (~ameya)


19

Votes

Description:

The main intention of the talk is to introduce people to Theano and Keras, one the most prominent deep learning frameworks used across the world. The talk is aimed to be a walkthrough to enable audience to design deep learning algorithms using Theano and develop deep-learning applications using Keras, which is built on top of Theano.

We will be exploring the various aspects of Theano such as automatic symbolic differentiation and enabling calculations to be performed on a GPU which is upto 140x faster than with CPU among others.
Then we will explore Keras & proceed to discuss example applications.

The way through which the power of these libraries is demonstrated is through their applications. This talk will serve as a guide to one interesting application: Language Modeling using these libraries, along with various nuances in coding introducing methods to optimize the code and increasing the performance gains by running it on your GPU.

Here are the main points we are going to focus during the talk:- <ul> <li> What is Theano? </li> <li> How Theano works - How is it unique? (Automatic differentiation and representation of code compiled by Theano). </li> <li> How to integrate your python code with GPU: Performing data-intensive calculations up to 140x faster than with CPU </li> <li> A brief discussion on Theano & its applications. </li> <li> Introduction to Keras - How to develop your deep learning modules in less than 200 lines of code! </li> <li> Amazing applications: Coding a module to 'teach' Python English! We’ll train RNNs to generate English text character by character and ponder the question “How is that even possible?” </li> <li> Walkthrough of various other applications and sample codes using Theano and Keras. </li> </ul>

This talk aims to introduce people to Deep Learning using Python and various applications across domains, featuring NLP: An upcoming area of research with huge potentials in Industry.

Prerequisites:

<ul> <li> NumPy and Scikit-learn. </li> <li> Linear Algebra and Basic Calculus. </li> <li> Willingness to get into the world of Deep Learning. </li> </ul>

Understanding of Machine Learning algorithms is favorable.

Content URLs:

<b>Theano</b>: <ul> <li> <a href="http://nbviewer.jupyter.org/github/craffel/theano-tutorial/blob/master/Theano%20Tutorial.ipynb">[1]</a> : A short, well written coding guide. </li> <li> <a href="http://deeplearning.net/software/theano/"> [2] </a>: The meta-guide containing most of the useful links and references. </li> <li> <a href=" www.archive.org/details/Scipy2010-JamesBergstra-TransparentGpuComputingWithTheano"> [3] </a>: An introductory talk on Theano in Scipy conference held at Texas in 2010 </li> </ul> <b> Keras </b>: This is a very well-maintained library, documentation, guidelines and walkthroughs available on: http://keras.io/

<b>Language Modeling</b>: <a href="http://karpathy.github.io/2015/05/21/rnn-effectiveness/">A blog </a> by Andrej Karpathy (A great resource to understand the sheer power of language modeling using RNNs)

Speaker Info:

I am a free software enthusiast and researcher in Computer Vision and Natural Language processing at <a href="http://cvit.iiit.ac.in/">Center for Visual Information Technology (CVIT)</a> at <a href="https://www.iiit.ac.in/">IIIT-Hyderabad</a>. I have completed my 2nd year of BTech studying Computer Science and Engineering at IIIT-H.

<b>Past projects</b>: I developed a system for sketch based image retrieval using Convolutional Neural Networks and Cluster Canonical Correlation Analysis. I presented my work <a href="https://researchweb.iiit.ac.in/~koustav.ghosal/files/Ghosal_Prabhu_DG_Namboodiri_SBIR_CR_431.pdf">"Learning Clustered Subspaces for Sketch Based Image Retrieval"</a> at <a href="http://acpr2015.org/">Asian Conference on Pattern Recognition (ACPR), 2015</a>. Currently, I am currently working in Deep Learning in Sentiment Analysis and developing language models, exploring ways to co-relate the two domains of images and text.

I also work in deep multi-task learning, architecture design for neural nets, non-convex optimization and machine learning, mostly using Theano and Scikit-learn. I am currently learning cryptography, information retrieval and distributed computing and many other topics in related fields in my courses.

Speaker Links:

<a href="https://github.com/DrImpossible?tab=repositories"> Github </a><br/> <a href="https://www.linkedin.com/in/ameya-prabhu-28a812105"> LinkedIn </a><br/> <a href="https://iiit.academia.edu/APrabhu"> Academia </a>

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