/cs231n-camp

cs231n training camp

Primary LanguageJupyter Notebook

cs231n training camp

课程资料

  1. 课程主页
  2. 英文笔记
  3. 中文笔记
  4. 课程视频
  5. 环境配置
  6. 作业链接
  7. 作业参考
  8. 课程课件

知识工具

数学工具

cs229资料:

中文资料:

大学数学课本(从故纸堆里翻出来^_^)

编程工具

作业详解

前言

对于算法工程师,不同的人的认知角度都是不同的,我们通过下面三个知乎的高票回答帮助大家了解算法工程师到底需要做什么样的事,工业界需要什么样的能力

从今年校招来看,机器学习等算法岗位应届生超多,竞争激烈,未来 3-5 年机器学习相关就业会达到饱和吗?

秋招的 AI 岗位竞争激烈吗?

论算法工程师首先是个工程师之深度学习在排序应用踩坑总结

作业提交指南

注意: 我们提供了免费的云环境配置文字教程和视频教程,如果大家不想自己配置本地环境,可以使用colab云平台!!!

Colab使用系列Colab基础教程Colab之GPUColab作业完整部署

作业提交的具体操作流程: CV作业提交详解

训练营的作业自检系统已经正式上线啦!只需将作业发送到训练营公共邮箱即可,知识圈以打卡为主,不用提交作业。以下为注意事项:
<0> 训练营代码公共邮箱:cs231n@163.com

<1> 查询自己成绩
CV一期训练营

CV二期训练营

CV三期训练营

CV四期训练营

CV五期训练营

<2> 先将完成的作业改名为“训练营期数-学号-作业编号”,例如:"一期-CV0001-assignment1",然后压缩成 zip 文件,zip 文件名也为"训练营期数-学号-作业编号.zip",例如: "一期-CV0001-assignment1.zip",务必确保学号填写正确

<3> 在提交作业之前需要删掉下载的数据,上传的 zip 文件大小不要超过 20M

<4> 注意不要改变作业中的《类名》和 《函数名》不然会检测失败!!

教程

学习安排

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

  • 1部分安排在周一到周二
  • 2部分安排在周四到周五
  • 3部分安排在周日
  • 4部分作业是任何有空的时间自行完成,可以落后于学习进度
  • 周三和周六休息 ^_^

Week 1

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

Week2

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

Week3

  1. 学习掌握深度学习的基石: 反向传播算法
  1. 理解神经网络的结构和原理
  1. 深入理解反向传播算法
  1. 作业
  • 完成 assignment1 中的 softmax.ipynb
  • 完成 assignment1 中的 two_layer_net.ipynb
  • 作业详解1:Softmax.md
  • 作业详解2:two_layer_net.md

Week4

  1. 掌握 PyTorch 中的基本操作
  1. 了解 kaggle 比赛的流程,并完成第一次的成绩提交
  1. 学习深度学习的系统项目模板

  2. 作业

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

Week5

  1. 理解 CNN 中的卷积
  1. 理解 CNN 中的 pooling
  1. 完成 CNN 的第一个应用练习,人脸关键点检测
  1. 作业
  • 思考一下卷积神经网络对比传统神经网络的优势在哪里?为什么更适合处理图像问题,知识圈打卡上传
  • 完成 assignment2 中 FullyConnectedNets.ipynb
  • 作业详解:FullyConnectedNets1.md
  • 作业详解:FullyConnectedNets2.md

Week6

  1. 理解激活函数,权重初始化,batchnorm 对网络训练的影响
  1. 深入理解 BatchNormalization
  1. 总结回顾和理解深度学习中 normalize 的技巧
  1. 作业

Week7

  1. 理解更 fancy 的优化方法,更多的 normalize 以及正则化和迁移学习对网络训练的影响
  1. 了解第二次的 kaggle 比赛 cifar10 分类
  1. 全面的理解深度学习中的优化算法
  1. 作业
  • 完成 assignment2 中 ConvolutionNetworks.ipynb
  • 修改 cifar10 的网络结构,在知识圈上提交 kaggle 成绩
  • 作业详解:ConvolutionNetworks

Week8

  1. 了解主流深度学习框架之间的区别与联系
  1. 了解经典的网络结构
  1. 理解卷积神经网络的最新进展
  1. 作业
  • 完成 assignment2 中的 PyTorch.ipynb
  • 学习模板代码, 尝试更大的网络结构完成 kaggle 比赛种子类型识别的比赛,在知识圈上提交 kaggle 成绩
  • 作业详解:Pytorch.md

Week9

  1. 掌握 RNN 和 LSTM 的基本知识
  1. 了解语言模型和 image caption 的基本方法
  1. 更深入的理解循环神经网络的内部原理
  1. 作业

Week10

  1. 学习计算机视觉中的语义分割问题
  1. 学习计算机视觉中的目标检测问题
  1. 了解目标检测中的常见算法
  1. 作业

Week11

  1. 理解卷积背后的原理
  1. 学习 deep dream 和 风格迁移等有趣应用
  1. 了解无监督学习和生成模型
  1. 作业

Week12

  1. 掌握自动编码器和生成对抗网络的基本原理
  1. 了解强化学习的基本概念
  1. 学习强化学习中的 q learning 和 actor-critic 算法
  1. 作业
  • 完成 assignment3 中的 GANs-PyTorch.ipynb
  • 完成 assignment3 中的 StyleTransfer-PyTorch.ipynb