Machine learning is a fascinating field. Roboticists should invest the time and effort in understanding the fundamentals of machine learning. When it comes to deep learning, it’s possible to get started quickly by using a library with pre-trained models. However, building your own models (however simple they might be in the beginning) is a great way to learn.
There are many resources for getting started with deep learning so this list is in no way exhaustive. These are resources I found to be most helpful in getting started:
- Nielsen’s Neural Networks and Deep Learning book, available here. The book begins by explaining what neural networks are and builds from there. It’s written in a very practical way and encourages working on an interesting project to apply the concepts as you learn.
- The Stanford Convolutional Neural Networks for Visual Recognition course gives a thorough introduction to CNNs which are popular for image recognition tasks.
- The NVIDIA course on Fundamentals of Accelerated Computing with CUDA is a good way to get started with learning GPU programming. There is also an introductory course on Deep Learning for Computer Vision.
- The Deep Learning Book by Goodfellow, Bengio and Courville is a great reference for a more in depth look into this subject. The book is available here.