/cs231n-camp

cs231n training camp

Primary LanguageJupyter Notebook

cs231n training camp

课程资料

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

🔥🔥一些重要的资源:

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

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

前言

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

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

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

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

学习安排

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 的游戏