Fei-Fei Li | Convolutional Neural Networks for Visual Recognition

Fei-Fei Li | Convolutional Neural Networks for Visual Recognition

李飞飞现为美国斯坦福大学教授、斯坦福大学人工智能实验室与视觉实验室负责人、谷歌云人工智能和机器学习首席科学家,斯坦福以人为本人工智能研究院共同院长。
Stanford Vision Lab
斯坦福大学CS231n:用于视觉识别的卷积神经网络

课程内容

litu
litu

中文版课程中文
英文版课程English

适用人群

有一定数学与计算机基础,希望了解深度学习与神经网络的同学。

课程概述 Course Description

Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification, localization and detection. Recent developments in neural network (aka “deep learning”) approaches have greatly advanced the performance of these state-of-the-art visual recognition systems. This course is a deep dive into details of the deep learning architectures with a focus on learning end-to-end models for these tasks, particularly image classification. During the 10-week course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision. The final assignment will involve training a multi-million parameter convolutional neural network and applying it on the largest image classification dataset (ImageNet). We will focus on teaching how to set up the problem of image recognition, the learning algorithms (e.g. backpropagation), practical engineering tricks for training and fine-tuning the networks and guide the students through hands-on assignments and a final course project. Much of the background and materials of this course will be drawn from theImageNet Challenge.

Prerequisites

Proficiency in Python, high-level familiarity in C/C++
All class assignments will be in Python (and use numpy) (we provide a tutorialherefor those who aren’t as familiar with Python), but some of the deep learning libraries we may look at later in the class are written in C++. If you have a lot of programming experience but in a different language (e.g. C/C++/Matlab/Javascript) you will probably be fine.
College Calculus, Linear Algebra(e.g. MATH 19 or 41, MATH 51)
You should be comfortable taking derivatives and understanding matrix vector operations and notation.
Basic Probability and Statistics(e.g. CS 109 or other stats course)
You should know basics of probabilities, gaussian distributions, mean, standard deviation, etc.
Equivalent knowledge of CS229 (Machine Learning)
We will be formulating cost functions, taking derivatives and performing optimization with gradient descent.