Here is a nice collection of Deep Learning resources including tutorials, papers and courses. Enjoy:
“Thanks everyone for an amazing month of January. It’s been an inspiring, life-changing experience for me.” – Lex Fridman
Several more lecture recordings are soon to be released.
Here is the official webpage of the course:
After a long wait, the final and much-anticipated course in the Coursera Deep Learning Specialization series taught by Andrew Ng, called Sequence Models, has now been released.
The first week will be about Recurrent Neural Networks, the second week will address Natural Language Processing & Word Embeddings and the final week will be about Sequence models & Attention mechanism.
Last year the 2017 course of fast.ai was amazing, which taught state of the art deep learning to coders. There are so many goodies in the blog post about the Fast.ai 2018 launch which is available now. This year they held the course using Pytorch instead of Keras and wrote their own library for speeding up development and were the first to add several implementations from papers to the library such as Learning Rate Finder (Smith 2015) and Stochastic Gradient Descent with Restarts (SGDR). With one line of code, you can also get the images that the classifier gets wrong.
17 of the 20 top participants in a kaggle competitors were students in the preview course.
I recommend reading the blog post and taking the course.
There is a new kid on the block in terms of online courses on Deep Learning.
DeepSchool.io is a set of Jupyter notebooks that teach you the basics and different concepts you need in order to get started and being productive in Depp Learning. They are also videos supporting the notebook, although not for every notebook yet.
It differs from fast.ai in that the videos are shorter and the notebooks are mostly self-explanatory.
The goal of the project is to make Deep Learning accessible to everyone, make it practical, make learning open source and fun.
These are the topics covered:
- Lesson 0: Introduction to regression.
- Lesson 1: Penalising weights to fit better (scikit learn intro)
- Lesson 2: Gradient Descent. Using basic optimisation methods.
- Lesson 3: Tensorflow intro: zero layer hidden networks (i.e. normal regression).
- Lesson 4: Tensorflow hidden layer introduction.
- Lesson 5: Using Keras to simplify multi-layer neural nets.
- Lesson 6: Embeddings to deal with categorical data. (Keras)
- Lesson 7: Word2Vec. Embeddings to visualise words. (Tensorflow)
- Lesson 8: Application – Bike Sharing predictions
- Lesson 9: Choosing Number of Layers and more
- Lesson 10: XGBoost – A quick detour from Deep Learning
- Lesson 11: Convolutional Neural Nets (MNIST dataset)
- Lesson 12: CNNs and BatchNormalisation (CIFAR10 dataset)
- Lesson 13: Transfer Learning (Dogs vs Cats dataset)
- Lesson 14: LSTMs – Sentiment analysis.
- Lesson 15: LSTMs – Shakespeare.
- Lesson 16: LSTMs – Trump Tweets.
- Lesson 17: Trump – Stacking and Stateful LSTMs.
- Lesson 18: Fake News Classifier
You can read more here.
The fourth course, Convolutional Neural Networks of Deeplearning.ai has now been released on coursera. People have been waiting for this one, but i think that the delay was to make the material very up to date with current research results. The four weeks of learning deals with:
- Foundations of Convolutional Neural Networks
- Deep convolutional models: case studies
- Object detection
- Special applications: Face recognition & Neural style transfer
This is a playlist of lectures on deep learning. https://www.youtube.com/playlist?list=PLE6Wd9FR–EfW8dtjAuPoTuPcqmOV53Fu
It is from 2015 though.
Pytorch is a dynamic instead of static deep learning library and Jeremy Writes that nearly all of the top 10 Kaggle competition winners now have been using Pytorch.
In the part 2 of fast.ai course the focus was to allow student so read and implement recent research papers, and pytorch made this easier due to its flexibility. It allowed them to try out things you could not do as easily with Tensorflow. It also makes it easier to understand what is going on in the algorithms as with Tensorflow, the computation becomes a black box once you send it to the GPU.
Most models trains faster on Pytorch than on Tensorflow and are easier to debug contributing to faster development iterations.
The reason they built a framework on top of Pytorch is that pytorch comes with less defaults than Keras. They want the course one to be accessible for students with little or no experience in Machine learning. Also they wanted to help avoid common pitfalls (such as not shuffling the data when needed to or vice versa) and get you going much faster, improving where Keras was lacking. They also built in many best practices that Keras was lacking. Jeremy writes that:
“We built models that are faster, more accurate, and more complex than those using Keras, yet were written with much less code.” – Jeremy Howard
The approach is to encapsulate all important data choices such as preprocessing, data augmentation, test/training/validation sets, multiclass/singleclass classification, regression and so on into Object-Oriented Classes.
“Suddenly, we were dramatically more productive, and made far less errors, because everything that could be automated, was automated.” – Jeremy Howard
Jeremy thinks that deep learning will see the same kind of library/framework explosion that front end developers have been used to during that last years. So the library you learn today will probably be obsolete in a year or two.
99,3% accuracy on dogs and cats with 3 lines of code is not bad:
It is an awesome age we live in where the knowledge you need for tomorrow is available for free for everyone (with a computer, and an internet connection). There is more to learn than there is time to learn it in. We all can become experts in our fields. You must, however find places and situations to put your knowledge into practice so that it will not wane away. I think it is awesome that Nvidia has a learning institute with free courses to help you learn cutting edge stuff. By learning from a company focused on the advancing of the field, and who actually has only to gain from us learning us more, will keep you on the frontiers of the field.
You need to put in 20% of your learning time into math in order to get great at machine learning. Linear algebra and statistics are two very imprtant topics to cover. Here is a fast.ai course on Computational Linear Algebra taught in a different way. It is very hands on. You will be programming.