OpenAI Scholarship
As mentioned in an earlier post, for the next three months, I’ll be studying machine learning as part of the first cohort of OpenAI scholars. I’ll be working with the help of my mentor Igor Mordatch and alongside my fellow Scholars.
They’re a dope group of people. Check out their blogs below.
Prior to joining the Scholar program, I was a software dev for a Chicago consultancy called Hashrocket. They are also a dope group of people and you should check them out, too.
Thus far, I’ve completed week one of my studies. I’ve been focused mostly on reviewing the math I’ll need to understand later topics. Below, you can find my syllabus. It will definitely change as as the weeks progress, but it provides an idea of what I’d like to accomplish over the first 8 weeks of the program.
The last 5 weeks will be spent working on a final project (which will be open source). I haven’t yet decided what that project will be. There are a few areas of machine learning that I’m particularly interested in, such as medical applications of ML and machine locomotion, but I’m still pretty uncertain about what I want to do.
Syllabus
Books:
- Ali, Cielen, Meysman - Introducing Data Science (IDS)
- Kirk - Thoughtful Machine Learning with Python (TML)
- Grus - Data Science from Scratch (DSS)
- Bengio, Courville, Goodfellow - Deep Learning (DL)
- Nielsen - Neural Networks and Deep Learning (NNDL)
- Chollet - Deep Learning with Python (DLP)
- Bostrom - Superintelligence: Paths, Dangers, Strategies (SPD)
- Hawkins - On Intelligence: How a New Understanding of the Brain… (OI)
- Bruce - Practical Statistics for Data Scientists (PSDS)
- Raschka - Python Machine Learning (PML)
- Geron - Hands-On Machine Learning with Scikit-Learn and Tensorflow (HML)
- Sutton and Barto - Reinforcement Learning: An Introduction, 2nd edition (RL)
Blogs:
- Jason Brownlee - Machine Learning Mastery (machinelearningmastery.com) (MLM)
- Andy Thomas - Adventures in Machine Learning (adventuresinmachinelearning.com) (AML)
- Arthur Juliani - Reinforcement Learning (https://medium.com/@awjuliani) (AJRL)
- Univ. of California, Berkeley - Berkeley Artificial Intelligence Research (http://bair.berkeley.edu/blog/) (BAIR)
- OpenAI - OpenAI Blog (blog.openai.com) (OPAI)
- Towards Data Science (towardsdatascience.com) (TDS)
- DataCamp (https://www.datacamp.com/community/tutorials/) (DC)
- Daniel Stang - Step by Step Object Detection API Tutorial (DSOD)
Code:
- Deep Learning with Python notebooks: https://github.com/fchollet/deep-learning-with-python-notebooks
Week 1 - Linear algebra, calculus, statistics, python
- Linear algebra, calculus, and principal component analysis
- Coursera - Mathematics for Machine Learning Specialization
- Python
- Python docs
- DSS - ch. 2: A Crash Course in Python
- Statistics (refresher)
- DSS - ch. 5: Statistics
Practice
- FastAI - Lesson 1: Recognizing Cats and Dogs;
- FastAI - Lesson 2: Improving Your Image Classifier
- AML - Python Tensorflow Tutorial: Build a Neural Network
- DC - Tensorflow Tutorial For Beginners
- DC - Convolutional Neural Networks with Tensorflow
- AML - Keras Tutorial: Build a CNN in 11 Lines
- AML - How to Create a Tensorflow Deep Learning Powerhouse on Amazon AWS
Week 2 - numpy, pandas, matplotlib, seaborn; ML best practices; K-nearest neighbors, curse of dimensionality, overfitting
- Numpy, pandas, matplotlib, seaborn
- see notes for Udacity - Introduction to Data Analysis
- ML best practices
- TML - ch. 1: Probably Approximately Correct Software;
- TML - ch. 2: A Quick Introduction to Machine Learning
- KNN, curse of dimensionality
- TML - ch. 3: K-Nearest Neighbors
Practice 1. FastAI - Lesson 3: Overfitting
Week 3 - probability, hypothesis testing, deep learning fundamentals, naive Bayesian classification
- Probability, hypothesis testing
- DSS - ch. 6: Probability, ch. 7: Hypothesis and Inference
- Naive Bayesian Classification
- TML - ch. 4: Naive Bayesian Classification
- Deep learning fundamentals
- DLP - ch. 1: What is Deep Learning?
Practice 1. FastAI - Lesson 4: Embeddings 2. AML - Recurrent Neural Networks and LSTM Tutorial in Python and Tensorflow 3. AML - Keras LSTM Tutorial
Week 4 - gradient descent, decision trees, bias-variance tradeoff, neural networks math basics
- Gradient descent
- DSS - ch. 8: Gradient Descent
- Decision trees
- TML - ch. 5: Decision Trees and Random Forests
- Overfitting, bias-variance tradeoff, feature selection
- DSS - ch. 11: Machine Learning
- Neural networks math basics
- DLP - ch. 2: The Mathematical Building Blocks of Neural Networks
Practice 1. FastAI - Lesson 5: NLP 2. AML - Word2Vec Word Embedding Tutorial in Python and Tensorflow 3. AML - Word2Vec Keras Tutorial
Week 5 - simple linear regression, multiple regression, logistic regression, reinforcement learning
- Simple linear regression
- DSS - ch. 14: Simple Linear Regression
- Multiple regression
- DSS - ch. 15: Multiple Regression
- Logistic regression
- DSS - ch. 16: Logistic Regression
- Reinforcement learning
- HML - ch. 16: Reinforcement Learning
- AML - Reinforcement Learning Tutorial Using Python and Keras
Practice 1. FastAI - Lesson 6: RNNs 2. DLP - ch. 6: Deep Learning for Text and Sequences
Week 6 - clustering, recommendation systems, natural language processing, meta-learning
- Clustering
- TML - ch. 9: Clustering
- DSS - ch. 19: Clustering
- Natural language processing
- DSS - ch. 20 - Natural Language Processing
- Recommendation systems
- DSS - ch. 22: Recommender Systems
- Meta-learning
- AJRL - Learning Policies for Learning Policies: Meta Reinforcement Learning in Tensorflow
- OPAI - Learning a Hierarchy
- TDS - What is Model-Agnostic Meta-Learning?
- Finn, Abbeel, Levine - Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks (https://arxiv.org/abs/1703.03400)
Practice 1. FastAI - Lesson 7: CNN Architectures
Week 7 - generative deep learning, Hadoop, Spark, resampling methods
- Hadoop, Spark
- IDS - ch. 5: First Steps in Big Data
- Generative deep learning
- DLP - ch. 8: Generative Deep Learning
- Resampling methods
- MLM - How to Implement Resampling Methods from Scratch in Python
Practice 1. FastAI - Lesson 8: Object Detection 2. DSOD
Week 8 - Cognition, robotics, more reinforcement learning
- Cognition
- OI, SPD
- Robotics
- Udacity - Artificial Intelligence for Robotics, pts. 1 - 8
- Reinforcement learning
- AJRL - Simple Reinforcement Learning w/ Tensorflow
- Udemy - Artificial Intelligence: Reinforcement Learning in Python
Practice 1. FastAI - Lesson 9: Single Shot Multibox Detector 2. FastAI - Lesson 10: NLP Classification and Transfer Learning
OpenAI Scholar Blogs
- Christine McLeavey: http://christinemcleavey.com/
- Holly Grimm: https://hollygrimm.com/
- Nadja Rhodes: https://iconix.github.io/
- Hannah Davis: http://www.hannahishere.com
- Munashe Shumba: https://everyd-ai.com/
- Sophia Arakelyan: https://buzzrobot.com/
- Dolapo Martins: https://codedolapo.wordpress.com/