CS231n Official Notes Authorized Translation Collection Released

Introduction to CS231n

The full name of CS231n is CS231n: Convolutional Neural Networks for Visual Recognition , which is a convolutional neural network for visual recognition . This course is a course launched by Stanford University's Computer Vision Laboratory . It should be noted that most people who say CS231n refer to the latest version of the 2016 winter semester (January to March).

Course Description : Please allow us to cite the official description on the course homepage below.

Computer vision has gradually become popular in society and is widely used in search and retrieval, image understanding, mobile phone applications, map navigation, medical and pharmaceutical, drones and driverless cars. The core technologies of these applications are visual recognition tasks such as image classification, image localization, and image detection. Recent advances in neural network (aka "deep learning") methods have greatly improved the performance of these state-of-the-art visual recognition systems.


This course will dive into the details of deep learning frameworks, focusing on end-to-end learning models for visual recognition tasks, especially image classification tasks. During the 10-week course, students will learn how to implement, train, and debug their own neural networks, and build a detailed understanding of cutting-edge research directions in the field of computer vision. The final job will consist of training a convolutional neural network with several million parameters and applying it to the largest image classification database (ImageNet). We will focus on teaching how to identify image recognition problems, learning algorithms (such as backpropagation), practical engineering skills in training and fine-tuning networks, and guiding students through hands-on coursework and final courses project. Much of the background knowledge and material for this course comes from the ImageNet Challenge competition.

Course content : Please click here to get the official course schedule and resources. For the course video, please view the playlist created by Andrej Karpathy on Youtube. You can also privately message us to get the cloud disk video resources. By looking at the official course schedule, we can see that the CS231n course resources are mainly composed of three parts : teaching videos and PPT , detailed notes on teaching knowledge and coursework . in:

  • Teaching video 15 lessons . Each class is about 1 hour long, and each class has one PPT.
  • There are a total of 9 notes for the detailed explanation of teaching knowledge . It is not enough to watch the course video, but to deeply understand the course notes can be more solidly learned.
  • Coursework 3 times . Each assignment includes multiple small assignments, and completing the assignments can ensure a deep understanding and realization of the key knowledge of the course.
  • 1 course project . This is more for Stanford students, teaming up to implement course projects.
  • Read more . The extended reading recommended by the course is mostly excerpts or papers of classic works in the field, and is recommended for students who want to study in depth.

Course Evaluation : We like it! Many people like it! Of course some people feel bad. How to do it? Everyone, Soso CS231n is on the Internet, and the evaluation on Zhihu is not good! Personally think : a conscience class for introductory deep learning . Suitable for the vast majority of people who want to learn deep learning knowledge.

Insufficient courses: There are no course notes starting from RCNN later in the course.

Course study method

Three sentence summary:

  • Watch teaching videos to form concepts and discover personal interests.
  • Read the course notes to understand the details and consolidate the foundation for project implementation.
  • Code coursework to implement algorithms, and accumulate experimental skills and experience.

Quoting the diagram of the learning pyramid, everyone understands the meaning:



Our work

  • Completed the translation of all 9 course knowledge detailed notes of CS231n :

Original: [python/numpy tutorial] .

Translation: Python Numpy Tutorial .

We will use the Python programming language for all assignments in this course. Python is a great general-purpose programming language, and with the help of some common libraries (numpy, scipy, matplotlib), it turns into a powerful scientific computing environment. We expect that most of you are familiar with the Python language and the Numpy library, and for those with no Python experience, this tutorial can help you quickly understand the Python programming environment and how to use Python as a scientific computing tool.


原文:[image classification notes]

Translation: Notes on Image Classification (top) (bottom) .

This note is an introductory tutorial for students who are not in the computer vision field. The tutorial will introduce students to image classification problems and data-driven methods. List of contents:
  • Image classification, data-driven methods and processes
  • Nearest Neighbor Classifier
    • k-Nearest Neighbor Translator's Note: The last translation deadline
  • Validation Set, Cross Validation Set and Hyperparameter Tuning
  • The pros and cons of Nearest Neighbor
  • summary
  • Summary: Applying kNN in Practice
  • Extended reading

原文:[linear classification notes]

Translation: Notes on Linear Classification (top) (middle) (bottom) .

We are about to implement a more powerful approach to image classification that extends naturally to neural networks and convolutional neural networks. This method mainly consists of two parts: one is the score function (score function) , which is the mapping of raw image data to category scores. The other is the loss function , which is used to quantify the agreement between the scores of the predicted classification labels and the true labels. The method can be transformed into an optimization problem in which the loss function value is minimized by updating the parameters of the scoring function. Content list:
  • Introduction to Linear Classifiers
  • Linear scoring function
  • Clarifying Linear Classifiers
  • loss function
    • Multiclass SVM
    • Softmax Classifier
    • Comparison of SVM and Softmax
  • Web-based interactive linear classifier prototype
  • summary

Original: [optimization notes] .

Translation: Optimization Notes (top) (bottom) .

This note introduces the third key part of the image classification task: optimization. The content list is as follows:
  • Introduction
  • Loss function visualization
  • optimize
    • Strategy #1: Random Search
    • Strategy #2: Stochastic Local Search
    • Strategy #3: Follow the Gradient
  • Gradient calculation
    • Numerical calculations using finite differences
    • Differential Computing Gradient
  • gradient descent
  • summary

Original: [backprop notes] .

Translation: Backpropagation Notes .

This notebook will help readers develop an intuitive and professional understanding of backpropagation . Backpropagation is a method of recursively computing the gradient of an expression using the chain rule. Understanding the backpropagation process and its subtleties is critical to understanding, implementing, designing, and debugging neural networks. The list of contents is as follows:
  • Introduction
  • Simple expressions and understanding gradients
  • Compound Expressions, Chain Rule, Backpropagation
  • Intuitive understanding of backpropagation
  • Module: Sigmoid Example
  • Backpropagation in Practice: Piecewise Computation
  • Patterns in the return stream
  • Gradient of user vectorized operations
  • summary

Original: Neural Nets notes 1 .

Translation: Neural Network Notes 1 (top) (bottom) .

This note introduces the modeling and structure of neural networks. The list of contents is as follows:
  • A quick introduction to analogies without brains
  • single neuron modeling
    • Biological Motivation and Connection
    • A single neuron as a linear classifier
    • Commonly used activation functions
  • Neural network structure
    • Layer organization
    • Forward Propagation Calculation Example
    • expression ability
    • Set the number and size of layers
  • subsection
  • references

Original: Neural Nets notes 2 .

Translation: Neural Network Notes 2 .

This note introduces data preprocessing, regularization and loss functions. The list of contents is as follows:
  • Set up data and models
    • data preprocessing
    • Weight initialization
    • Batch Normalization
    • Regularization (L2/L1/Maxnorm/Dropout)
  • loss function
  • summary

Original: Neural Nets notes 3 .

Translation: Neural Network Notes 3 (top) (bottom) .

This note explains the dynamic part of a neural network, the process by which a neural network learns parameters and searches for optimal hyperparameters. The content list is as follows:

Gradient Check Sanity Check Check Learning Process
  • loss function
  • Training set and validation set accuracy
  • weight: update ratio
  • Activation data and gradient distribution for each layer
  • Visualization Translator 's Note: Deadline for the last translation
parameter update
  • First-order (stochastic gradient descent) methods, momentum methods, Nesterov momentum methods
  • learning rate annealing
  • second-order method
  • Parameter-wise adaptive learning rate methods (Adagrad, RMSProp)
Hyperparameter Tuning Evaluation
  • model integration
Summarize Extended Citations


Original: ConvNet notes .

Translation: Notes on Convolutional Neural Networks .

Content list:

  • Structure overview
  • Various layers used to build convolutional neural networks
    • convolutional layer
    • Convergence layer
    • normalization layer
    • fully connected layer
    • Convert fully connected layers to convolutional layers
  • Structure of Convolutional Neural Networks
    • Arrangement of layers
    • Layer size setting rules
    • Case study (LeNet/AlexNet/ZFNet/GoogLeNet/VGGNet)
    • Computational Considerations
  • Expand resources

  • Completed translations of 3 coursework pages :

Original: [Assignment #1] .

Translation: Introduction to CS231n Coursework #1 .

Homework content: Implement k-NN, SVM classifier, Softmax classifier and two-layer neural network, and practice a simple image classification process.

Original: [Assignment #2] .

Translation: Introduction to CS231n Coursework #2 .

Assignment content: Practice writing backpropagation code, training neural networks and convolutional neural networks.

Original: [Assignment #3] .

Translation: Introduction to CS231n Coursework #3 .

Assignment: Implement a recurrent network and apply it to image annotation on Microsoft's COCO database. Implement interesting applications such as DeepDream.



Transfer: https://zhuanlan.zhihu.com/p/21930884

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325779900&siteId=291194637