OpenAI Scholarship

Saturday June 23, 2018 at 01:59 pm CDT

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

  1. Linear algebra, calculus, and principal component analysis
    1. Coursera - Mathematics for Machine Learning Specialization
  2. Python
    1. Python docs
    2. DSS - ch. 2: A Crash Course in Python
  3. Statistics (refresher)
    1. DSS - ch. 5: Statistics

Practice

  1. FastAI - Lesson 1: Recognizing Cats and Dogs;
  2. FastAI - Lesson 2: Improving Your Image Classifier
  3. AML - Python Tensorflow Tutorial: Build a Neural Network
  4. DC - Tensorflow Tutorial For Beginners
  5. DC - Convolutional Neural Networks with Tensorflow
  6. AML - Keras Tutorial: Build a CNN in 11 Lines
  7. 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

  1. Numpy, pandas, matplotlib, seaborn
    1. see notes for Udacity - Introduction to Data Analysis
  2. ML best practices
    1. TML - ch. 1: Probably Approximately Correct Software;
    2. TML - ch. 2: A Quick Introduction to Machine Learning
  3. KNN, curse of dimensionality
    1. TML - ch. 3: K-Nearest Neighbors

Practice 1. FastAI - Lesson 3: Overfitting


Week 3 - probability, hypothesis testing, deep learning fundamentals, naive Bayesian classification

  1. Probability, hypothesis testing
    1. DSS - ch. 6: Probability, ch. 7: Hypothesis and Inference
  2. Naive Bayesian Classification
    1. TML - ch. 4: Naive Bayesian Classification
  3. Deep learning fundamentals
    1. 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

  1. Gradient descent
    1. DSS - ch. 8: Gradient Descent
  2. Decision trees
    1. TML - ch. 5: Decision Trees and Random Forests
  3. Overfitting, bias-variance tradeoff, feature selection
    1. DSS - ch. 11: Machine Learning
  4. Neural networks math basics
    1. 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

  1. Simple linear regression
    1. DSS - ch. 14: Simple Linear Regression
  2. Multiple regression
    1. DSS - ch. 15: Multiple Regression
  3. Logistic regression
    1. DSS - ch. 16: Logistic Regression
  4. Reinforcement learning
    1. HML - ch. 16: Reinforcement Learning
    2. 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

  1. Clustering
    1. TML - ch. 9: Clustering
    2. DSS - ch. 19: Clustering
  2. Natural language processing
    1. DSS - ch. 20 - Natural Language Processing
  3. Recommendation systems
    1. DSS - ch. 22: Recommender Systems
  4. Meta-learning
    1. AJRL - Learning Policies for Learning Policies: Meta Reinforcement Learning in Tensorflow
    2. OPAI - Learning a Hierarchy
    3. TDS - What is Model-Agnostic Meta-Learning?
    4. 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

  1. Hadoop, Spark
    1. IDS - ch. 5: First Steps in Big Data
  2. Generative deep learning
    1. DLP - ch. 8: Generative Deep Learning
  3. Resampling methods
    1. 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

  1. Cognition
    1. OI, SPD
  2. Robotics
    1. Udacity - Artificial Intelligence for Robotics, pts. 1 - 8
  3. Reinforcement learning
    1. AJRL - Simple Reinforcement Learning w/ Tensorflow
    2. 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