If you are building a robot driven by Raspberry Pi and want to use image recognition and object detection you may want to look into Googles Mobile Nets platform which lets you do use a several mobile-first computer vision models for TensorFlow, combined with an Intel Movidius Neural Compute Stick on a Rasrberry PI 3. The MobileNets platform is designed to be run on resource conservative devices while maintaining accuracy and the latter will give you an order of magnitude more compute power than running the detection on the raspberrys CPU.
Also this lecture on Deep Reinforcement Learning from Stanford CS231n
And this playlist: Introduction to Reinforcement Learning by Deep Mind
If you are interested in creating Games in Unity, this is also something you shall check out https://github.com/Unity-Technologies/ml-agents
And this: Playlist (Unity Machine Learning)
This Lecture from MIT was also interesting (and the DeepTraffic assignment was fun)
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.
You heard of DeepMinds AlphaGo that beat worlds best Go player in the game everyone said computers would still need ten years to beat humans in.
That version trained on millions of expert human gameplays and then trained on itself through reinforcement learning.
This version skips all human gameplay and learns by playing against itself through a novel reinforcement learning method. It only has the rules of the game and starts to play against itself, making adjustments and keeping the versions that improve.
Blog Post: https://deepmind.com/blog/alphago-zero-learning-scratch/
Research Page: https://deepmind.com/research/alphago/
If you would like to replicate the research, there is an open source project that is based on the paper https://github.com/gcp/leela-zero. However, in order to get the same results as AplhaGo Zero, you would need to have the same weights, and in order to achieve similar weights, you would need to have access to the same computing power as they. It would take 1700 years on commodity computers. The projects aim is to make a distributed effort to repeat the work.
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.
The “YOLO9000: Better, Faster, Stronger” paper describes the improvements to the YOLO, You only look once, architecture that enables realtime object detection and classification. It can classify over 9000 object categories and outperforms Faster RCNN with ResNet and SSD while being significantly faster. They train on both COCO dataset for detection simultaneously with ImageNet for Classification and combine it with a wordtree so that they can also fallback to “dog” if they cannot classify for instance a specific dog breed.
The first version, and architecture can be seen in this paper.
Here is a video presentation: https://www.youtube.com/watch?v=GBu2jofRJtk
Here is a good tutorial explaining how convolutions work:
Here is an example of a convolution with half (one) padding and stride 2