Understand the basics of deep learning using Keras Sequential and Functional API. The content assumes a base of Machine Learning. The idea is to organize the scripts to implement Keras while building an inuition of deep learning in parallel.
Part 1 covers the important concepts including the importance of the choice of loss functions, optimizers and metrics.
Next, a simple Sequential model is built in Keras for sentiment anaysis of the IMDB reviews data set. The focus is to understand the Keras layout in general from importing data, compiling and finally fitting the model.
Finally, strategies to battle overfitting, a common problem in Deep Learning are investigated and implemented in Python.
Part 2 takes a cursory look at the basics of computer vision using Keras. The goal is to understand Convolutional 2D, MaxPooling layers and why CNN works well with images.
The understanding will then be extrapolated to using 1D Covnets for text later.
Part 3 looks at preprocessing raw text for neural networks in depth. Start with one hot econding, explore embedding layer in Keras and then re-use pre-trained word embeddings from the Glove corpus.
The gradual improvement in accuracy shows the advantage of using pre-trained words embeddings for a relatively smaller corpus.
Part 4 introduces Recurrent Neural Networks (RNN) for sequential data. Start from a Simple RNN, understand LSTMs, stacked RNNs and finally, bidirectional RNNs for use in various scenarios.
Understand how RNNs can be effectively used for both long and short sequences.
All the examples in this project are taken from 'Deep Learning with Python' by Francois Chollet.
Any re-use of the code in this repositry should cite the above book.