The following tutorials, videos, blogs, and papers are excellent resources for additional study before, during, and after the class. Note: 6.S094 is designed for people who are new to programming, machine learning, and robotics. The following are optional resources for longer-term study of the subject.
The following tutorials help introduce Python, TensorFlow, and the two autonomous driving simulations described in the class.
- (Optional) Setting Up Docker and TensorFlow [ for Linux ] [ for Windows 10 Professional ]
[ for Windows 10 Home / Windows 7 ] [ for Max OS X ] – This is the easiest way to follow along with the Python/TensorFlow tutorials below.
- (Optional) Implementing the Perceptron Algorithm in Python – There are other Jupyter (aka iPython) notebooks in this repo that would be useful for you to follow (including the traffic light classification notebook).
- (Optional) Installing OpenCV to the TensorFlow Docker Image
- DeepTraffic: Solving Traffic with Deep Reinforcement Learning
- DeepTesla: End-to-End Steering Model
- Python: Interactive Python Tutorial is a fast-paced, broad-ranging, and fun interactive introduction and overview of Python.
- Machine Learning with Python: Practical Machine Learning Tutorial with Python Introduction is an in-depth but very accessible introduction to machine learning. You can skip ahead to the Neural Networks part if you’re already comfortable with basics of regression, classification, clustering, and general data wrangling.
- Neural Networks with Python: A gentle introduction to Neural Networks from Andy Thomas.
- TensorFlow: Explore the official docs and tutorials from TensorFlow team or follow a gentle intro to TensorFlow from Andy Thomas.
- Self-Driving Cars: The Wikipedia article on autonomous cars is a quick overview of the technology and policy side, and The First Look at How Google’s Self-Driving Car Handles City Streets is an fun write-up on the real-world result of one of its implementations.
Deep Learning Details
- Deep Learning Book – An excellent comprehensive textbook on deep learning. Up to this point, the review of deep learning fundamentals have been spread across multiple books, papers, and blogs. Now it’s all together in one place.
- CS231n Convolutional Neural Networks for Visual Recognition – While this Stanford class is presumably focused on computer vision, it happens to have the hands down best introduction to deep learning I’ve seen anywhere both in its notes and its video lectures.
- Andrej Karpathy blog – One of the instructors of CS231n keeps a great blog with should be required reading for all interested in machine learning because its very digestable, entertaining, and doesn’t hold back on the messy details.
Deep Reinforcement Learning
- Demystifying Deep Reinforcement Learning
- Pong from Pixels
- DeepMind Blog: Deep Reinforcement Learning
Recurrent Neural Networks
- WildML Recurrent Neural Networks Tutorial
- Tensorflow RNN Tutorial
- The Unreasonable Effectiveness of Recurrent Neural Networks
- Anyone Can Learn To Code an LSTM-RNN in Python
Autonomous Vehicles and ADAS
- Stanley: The Robot that Won the DARPA Grand Challenge (PDF) – A 2006 paper from the Stanford team behind Stanley, the autonomous car that won the 2005 DARPA Grand Challenge.
- Tartan Racing: A Multi-Modal Approach to the DARPA Urban Challenge – A 2007 paper from the CMU team that won the 2007 DARPA Urban Challenge.
- The First Look at How Google’s Self-Driving Car Handles City Streets