/cs231n-camp

cs231n training camp

Primary LanguageJupyter Notebook

cs231n training camp

课程资料

  1. 课程主页
  2. 英文笔记
  3. 中文笔记
  4. 课程视频
  5. 环境配置
  6. 作业链接
  7. 作业参考
  8. AWS 云服务器配置
  9. 课程课件
    注: 云服务器并不是强制要求的,而且国外的服务器会比较卡,考虑到阿里云等国内的服务器比较贵,所以推荐大家使用本地的电脑

一些重要的资源:

  1. 廖雪峰python3教程
  2. github教程
  3. 深度学习的学习路线开源深度学习课程
  4. mxnet/gluon 教程
  5. 我的知乎专栏pytorch教程
  6. 官方pytorch教程和一个比较好的教程
  7. tensorflow教程

上面是本次训练营经常需要用到的网页,所以顶置便于大家查询

前言

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

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

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

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

知识工具

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

数学工具

cs224n资料:

中文资料:

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

编程工具

作业提交指南

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

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

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

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

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

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

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

教程

Week 1

  1. 计算机视觉综述
    slides: lecture01
  • 观看视频 p1 和 p2 热身,了解计算机视觉概述以及历史背景
  • 观看 p3 了解整门课程的大纲
  1. 学习数据驱动的方法和 KNN 算法和线性分类器[上]
    slides: lecture02

作业:

  1. 阅读 python 和 numpy 教程代码写一个矩阵的类,实现矩阵乘法,只能使用 python 的类(class)和列表(list)
  2. 完成assignment1 中的 knn.ipynb

Week2

  1. 学习线性分类器[中 下], 损失函数和优化器
    slides: lecture03

作业:

  1. 简述 KNN 和线性分类器的优劣
  2. (可选)学习矩阵求导的方法
  3. 完成assignment1 中 svm.ipynb

Week3

  1. 神经网络初步
    slides: lecture04

作业:

  1. 理解并推导反向传播算法
  2. 完成 assignment1 中的 softmax.ipynbtwo_layer_net.ipynb

Week4

  1. 学习 pytorch基础
  2. 了解 kaggle 比赛房价预测, 并学习模板代码

作业:

  1. 完成 assignment1 中 和 features.ipynb
  2. 修改房价预测的代码,并提交kaggle查看得分

Week5

  1. 卷积神经网络初步 slides: lecture05

作业:

  1. 完成 assignment2 中 FullyConnectedNets.ipynbBatchNormalization.ipynb
  2. 思考一下卷积神经网络对比传统神经网络的优势在哪里?为什么更适合处理图像问题
  3. 了解和学习深度学习中的normalization方法

Week6

  1. 如何更好的训练网络(上)
    slides: lecture06

作业:

  1. 完成 assignment2 中 Dropout.ipynb
  2. 打kaggle比赛 cifar10, 模板代码
  3. (可选) 完成 facial keypoint 小项目参考代码

Week7

  1. 如何更好的训练网络(下)
    slides: lecture07
  • 观看视频 p16, p17 和 p18, 了解训练神经网络中更多的标准化方法以及更多的学习率更新策略
  • 学习神经网络笔记3

作业:

  1. 完成 assignment2 中 ConvolutionNetworks.ipynbPyTorch.ipynb
  2. 学习深度学习中各种优化算法的总结

Week8

  1. 深度学习框架介绍
    slides: lecture08
  • 观看视频 p19,了解深度学习的主流框架
  1. 经典的网络结构结构
    slides: lecture09
  • 观看视频 p20,了解目前计算机视觉 state of the art 的网络结构

作业:

  1. 根据前面学的知识,尝试更大的网络结构完成 kaggle 比赛种子类型识别的比赛,并提交成绩,模板代码

Week9

  1. 循环神经网络与语言模型
    slides: lecture10
  • 观看视频 p21, p22 和 p23,了解循环神经网络,LSTM以及图片文字生成的方法

作业:

  1. 完成 assignment3 中的 RNN_Captioning.ipynbLSTM_Captioning.ipynb
  2. 根据blog更进一步了解RNN,写出 LSTM 和 GRU 的公式
  3. (可选) 在 coco 数据集上完成 image caption 小项目参考代码

Week10

  1. 检测与分割
    slides: lecture11
  • 观看视频 p24,p25 和 p26,了解检测和分割的任务介绍
  • 阅读 SSDFaster RCNN 的论文

作业:

  1. 学习 SSD 的模板代码,跑 voc 数据集
  2. 学习 FCN 的模板代码,跑 voc 数据集

Week11

  1. 生成对抗网络
    slides: lecture12
  • 观看视频 p29,p30 和 p31,了解变分自动编码器和生成对抗网络
  1. 卷积的可视化理解
    slides: lecture13
  • 观看视频 p27 和 p28,探索卷积网络背后的原理,学习 deep dream 和 style transfer 等有趣的应用

作业:

  1. 完成 assignment3 中的 GANs-PyTorch.ipynb
  2. 完成 assignment3 中的 NetworkVisualization-PyTorch.ipynbStyleTransfer-PyTorch.ipynb

Week12

  1. 深度强化学习 slides: lecture14
  • 观看视频 p32 和 p33,了解深度强化学习中的 q-learning 和 actor-critic 算法

作业:

  1. 学习使用 Deep Q-Network 玩 cartpole 的游戏