Recently i completed the Deep Learning Specialization offered by Andrew Ng’s deeplearning.ai through Coursera. It consists of 5 courses starting covering basic Feed-Forward Networks to CNN’s for computer vision and sequence models like RNN’s and LSTMs.In this post i thought of sharing my experience of taking them and suggestions for people interested in taking them.
The 5 courses can be grouped into 3 parts where first 3 courses are introduction to basic feed-forward networks and practical issues like hyper-parameter tuning and DL project work flow.4th course deals with CNN’s applied to computer vision with discussion of classical architectures like LeNet and AlexNet. Assignments contain interesting applications like neural style transfer and object detection. 5th course which was recently released discusses sequence models like RNN’s and LSTM’s with application to speech recognition and Natural language processing.He explains word embeddings describing the network architecture like skip gram used to create them. He also discusses sequence to sequence models applied to machine translation.
Andrew Ng doesn’t assume any background knowledge and starts with logistic regression explaining gradient descent and back-propagation to demonstrate Feed-forward neural networks as stacked logistic regression units.Course consists of multiple choice questions and programming assignments in jupyter notebooks using Python. DL specific libraries like Tensorflow and Keras are used initially algorithms are implemented from scratch using numpy library in python.I feel it is important to understand the intuition behind the algorithms by implementing it ourselves and only later specialised libraries should be used to speed-up model building.
I would suggest some books/courses to be used with this course for more detailed study. Michael Nielsen’s ebook Neural Networks and Deep Learning takes same approach as Ng and explains using implementation in Python. It can be used for companion for first course for more detailed discussion of back-prop and deep networks. Deep Learning with Python explains implementing DL models using Keras library in Python. Most of the models discussed in the course are implemented in the book.It will serve as a good companion for doing programming exercises especially for course 4 and 5. Deep learning is a comprehensive book on DL, second part of the course as detailed discussion on the topics covered in the courses. Practical Deep Learning For Coders, Part 1, taught by Jeremy Howard offered by fast.ai takes a top-down approach which makes it a good complementary course to take after finishing Ng’s courses. There are courses by topic universities about applications of DL to computer vision and Natural language Processing. For example Convolutional Neural Networks for Visual Recognition by Stanford and Neural Networks for NLP by CMU.
Overall I feel the courses are worth the effort and completing them will give a solid foundation in applying deep learning models. I wish the best for anybody who wants to take these courses and let this be a first step in the wonderful journey of learning Deep Learning.
Source: Deep Learning on Medium