CS231n课程相关资料

视频课程主讲:斯坦福李飞飞团队

先修课程:斯坦福机器学习(吴恩达)

这门课的宗旨就是:从机器学习者成为计算机视觉算法工程师,参加Kaggle比赛证明自己

课程资料

  1. 课程主页
  2. 英文笔记
  3. 中文笔记
  4. 课程视频
  5. 实验环境推荐使用Linux或者Mac系统,以下环境搭建方法皆适用:
    Docker环境配置
    本地环境配置
  6. 作业链接
  7. 作业参考

重要??一些的资源:

  1. 深度学习斯坦福教程
  2. 廖雪峰python3教程
  3. github教程
  4. 莫烦机器学习教程
  5. 深度学习经典论文
  6. 斯坦福cs229代码(机器学习算法python徒手实现)
  7. 导师博客(机器学习深度学习专题)
  8. AI比赛经验+开源代码汇总

知识要求(学习的过程中可以遇到问题后再复习)

  • 了解python基础知识
  • 了解高等数学、概率论、线性代数知识
  • 了解基础机器学习算法:梯度下降、线性回归、逻辑回归、Softmax、SVM、PAC(先修课程斯坦福cs229 或者周志华西瓜书)
  • 具有英语4级水平(深度学习学习材料、论文基本都是英文,一定要阅读英文原文,进步和提高的速度会加快!!!!

知识工具

为了让大家逐渐适应英文阅读,复习材料我们有中英两个版本,但是推荐大家读英文

数学工具

斯坦福资料:

  • 线性代数
  • 概率论
  • 凸函数优化
  • 随机梯度下降算法

中文资料:

  • 机器学习中的数学基本知识
  • 统计学习方法
    大学数学课本(从故纸堆里翻出来_

编程工具

斯坦福资料:

  • Python复习
  • TensorFlow教程

中文资料:

  • 廖雪峰python3教程
  • 莫烦TensorFlow教程

学习安排

每周具体时间划分为4个部分:

  • 1部分安排周一到周二
  • 2部分安排在周四到周五
  • 3部分安排在周日
  • 4部分作业是本周任何时候空余时间
  • 周日晚上提交作业运行截图
  • 周三、周六休息_

教程

week 1

知识点复习
学习组队
比赛观摩

  1. 了解计算机视觉综述,历史背景和课程大纲
  • slides: lecture01
  • 观看视频 p1, p2 和 p3
  1. 学习数据驱动的方法, 理解 KNN 算法,初步学习线性分类器
  • slides: lecture02
  • 观看视频 p4 p5 和 p6
  • 学习 图像分类笔记上
  • 学习 图像分类笔记下
  • 学习 线性分类笔记上
  1. 掌握本门课 python 编程的基本功
  • 阅读 python 和 numpy 教程和代码
  1. 作业
  • (热身)写一个矩阵的类,实现矩阵乘法,只能使用 python 的类(class)和列表(list)
  • 完成assignment1 中的 knn.ipynb
  • 作业详解:knn.md

作业 Week1::
制定自己的学习计划,开通自己的学习博客,注册自己的github

Week2

  1. 深入理解线性分类器的原理
  • slides: lecture03
  • 观看视频 p7
  • 学习线性分类笔记中
  • 学习线性分类笔记下
  1. 学习损失函数以及梯度下降的相关知识
  • slides: lecture03
  • 观看视频 p8
  • 学习最优化笔记
  1. 掌握矩阵求导的基本方法
  • 根据资料,学习矩阵求导的基本技巧,看多少内容取决于个人需要
  1. 作业
  • 简述 KNN 和线性分类器的优劣, 打卡上传知知识圈
  • 完成assignment1 中 svm.ipynb
  • 作业详解:svm.md

Week3

  1. 学习掌握深度学习的基石: 反向传播算法
  • slides: lecture04
  • 观看视频 p9
  • 学习反向传播算法的笔记
  1. 理解神经网络的结构和原理
  • slides: lecture04
  • 观看视频 p10
  1. 深入理解反向传播算法
  • 阅读反向传播算法的数学补充和例子
  1. 作业
  • 完成 assignment1 中的 softmax.ipynb
  • 完成 assignment1 中的 two_layer_net.ipynb
  • 作业详解1:Softmax.md
  • 作业详解2:two_layer_net.md

Week4

  1. 掌握 PyTorch 中的基本操作
  • 学习 pytorch 的入门基础
  1. 了解 kaggle 比赛的流程,并完成第一次的成绩提交
  • 了解比赛房价预测
  • 学习模板代码
  1. 学习深度学习的系统项目模板

  2. 作业

  • 完成 assignment1 中的 features.ipynb
  • 修改房价预测的代码,在知识圈上提交 kaggle 的成绩
  • 作业详解:features.md

Week5

  1. 理解 CNN 中的卷积
  • slides: lecture05
  • 观看视频 p11, p12
  1. 理解 CNN 中的 pooling
  • slides: lecture05
  • 观看视频 p13
  • 学习卷积神经网络笔记
  1. 完成 CNN 的第一个应用练习,人脸关键点检测
  • 阅读 facial keypoint 小项目
  • 参考代码
  1. 作业
  • 思考一下卷积神经网络对比传统神经网络的优势在哪里?为什么更适合处理图像问题,知识圈打卡上传
  • 完成 assignment2 中 FullyConnectedNets.ipynb
  • 作业详解:FullyConnectedNets1.md
  • 作业详解:FullyConnectedNets2.md

Week6

  1. 理解激活函数,权重初始化,batchnorm 对网络训练的影响
  • slides: lecture06
  • 观看视频 p14
  • 学习神经网络笔记1
  1. 深入理解 BatchNormalization
  • slides: lecture06
  • 观看视频 p15
  • 学习神经网络笔记2
  1. 总结回顾和理解深度学习中 normalize 的技巧
  • 阅读文章 深度学习中的 normalization 方法
  1. 作业
  • 完成 assignment2 中 BatchNormalization.ipynb
  • 完成 assignment2 中 Dropout.ipynb
  • 作业详解:BatchNormalization.md
  • 作业详解:Dropout.md

Week7

  1. 理解更 fancy 的优化方法,更多的 normalize 以及正则化和迁移学习对网络训练的影响
  • slides: lecture07
  • 观看视频 p16, p17 和 p18
  • 学习神经网络笔记3
  1. 了解第二次的 kaggle 比赛 cifar10 分类
  • 报名 cifar10 比赛
  • 学习模板代码
  1. 全面的理解深度学习中的优化算法
  • 阅读优化算法的笔记
  1. 作业
  • 完成 assignment2 中 ConvolutionNetworks.ipynb
  • 修改 cifar10 的网络结构,在知识圈上提交 kaggle 成绩
  • 作业详解:ConvolutionNetworks

Week8

  1. 了解主流深度学习框架之间的区别与联系
  • slides: lecture08
  • 观看视频 p19
  1. 了解经典的网络结构
  • slides: lecture09
  • 观看视频 p20
  1. 理解卷积神经网络的最新进展
  • 学习笔记变形卷积核、可分离卷积?卷积神经网络中十大拍案叫绝的操作
  1. 作业
  • 完成 assignment2 中的 PyTorch.ipynb
  • 学习模板代码, 尝试更大的网络结构完成 kaggle 比赛种子类型识别的比赛,在知识圈上提交 kaggle 成绩
  • 作业详解:Pytorch.md

Week9

  1. 掌握 RNN 和 LSTM 的基本知识
  • slides: lecture10
  • 观看视频 p21
  1. 了解语言模型和 image caption 的基本方法
  • slides: lecture10
  • 观看视频 p22 和 p23
  1. 更深入的理解循环神经网络的内部原理
  • 学习blog Understanding LSTM Networks, 中文版本
  1. 作业
  • 完成 assignment3 中的 RNN_Captioning.ipynb
  • 完成 assignment3 中的 LSTM_Captioning.ipynb
  • 完成 coco 数据集上的 image caption 小项目,参考代码
  • 作业详解:RNN_Captioning.md

Week10

  1. 学习计算机视觉中的语义分割问题
  • slides: lecture11
  • 观看视频 p24
  1. 学习计算机视觉中的目标检测问题
  • slides: lecture11
  • 观看视频 p25 和 p26
  1. 了解目标检测中的常见算法
  • 学习目标检测的笔记
  1. 作业
  • 阅读论文 Fully Convolutional Networks for Semantic Segmentation 和中文笔记
  • (可选) FCN 的复现代码理解

Week11

  1. 理解卷积背后的原理
  • slides: lecture13
  • 观看视频 p27
  1. 学习 deep dream 和 风格迁移等有趣应用
  • slides: lecture13
  • 观看视频 p28
  1. 了解无监督学习和生成模型
  • slides: lecture12
  • 观看视频 p29
  1. 作业
  • 完成 assignment3 中的 NetworkVisualization-PyTorch.ipynb
  • 阅读论文 SSD: Single Shot MultiBox Detector 和一个详细的讲解
  • (可选) SSD 的复现代码理解

Week12

  1. 掌握自动编码器和生成对抗网络的基本原理
  • slides: lecture12
  • 观看视频 p30 和 p31
  1. 了解强化学习的基本概念
  • slides: lecture14
  • 观看视频 p32
  1. 学习强化学习中的 q learning 和 actor-critic 算法
  • slides: lecture14
  • 观看视频 p33
  1. 作业
  • 完成 assignment3 中的 GANs-PyTorch.ipynb
  • 完成 assignment3 中的 StyleTransfer-PyTorch.ipynb

你可能感兴趣的:(cs231n,CV,计算机视觉)