System Design Questions

A distilled compilation of my notes for Stanford's CS231n: Convolutional Neural Networks for Visual Recognition.
Stanford's CS231n is one of the best ways to dive into the fields of AI/Deep Learning, and in particular, into Computer Vision. If you plan to excel in another subfield of AI (say, Natural Language Processing or Reinforcement Learning), we still recommend that you start with CS231n, because it helps build intuition, fundamental understanding and hands-on skills.
Facebook Newsfeed
computer vision overview; historical context; course logistics
Facebook Status Search
backpropagation; multi-layer perceptrons; the neural viewpoint
Live Commenting
history; convolution and pooling; convnets outside vision
Facebook Messenger/WhatsApp
AlexNet, VGG, GoogLeNet, ResNet, etc.
similar to fb newsfeed
Facebook/Yelp Proximity Server
the data-driven approach; k-nearest neighbor; linear classification I
Typeahead Suggestions/Autocomplete
linear classification II; higher-level representations, image features
Top N Trending Topics/Songs
optimization, stochastic gradient descent
Facebook Privacy Settings
CPUs, GPUs, TPUs; PyTorch, TensorFlow; dynamic vs static computation graphs
Facebook/LinkedIn People You May Know (PYMK)
Web Crawler
activation functions; data processing; batch normalization; transfer learning
update rules; hyperparameter tuning; learning rate scheduling; data augmentation
Course Info
Course description:
The in-line diagrams are taken from the CS231n lecture slides, unless specified otherwise.
If you found our work useful, please cite it as:
  author        = {Chadha, Aman},
  title         = {Distilled Notes for Stanford CS231n: Convolutional Neural Networks for Visual Recognition},
  howpublished  = {\url{}},
  year          = {2020},
  note          = {Accessed: 2020-07-01},
  url           = {}

A. Chadha, Distilled Notes for Stanford CS231n: Convolutional Neural Networks for Visual Recognition,, 2020, Accessed: July 1 2020.