跟着网络资料自学、刷MOOC是许多人学深度学习的方式,但深度学习相关资源众多,应该从哪儿开始学呢?

富有自学经验的GitHub用户Sanny Kim贡献出了一份深度学习自学指南。

进大厂全靠自学,微软&头条实习生现身说法:我这样自学深度学习

她自学成才,有Udacity、deeplearning.ai、Coursera的一大堆课程认证,甚至连大学都是上的以自学、MOOC著称的Minerva大学,自学卓有成效,曾经在微软做实习软件工程师,现在则是字节跳动(头条)AI实验室的机器学习实习生。

下面,就让我们来看看这份自学指南都包含什么内容吧。由于资料课程非常多,建议大家存下来慢慢看。

学好Python和数学

作为深度学习从业者,最重要的基础,一是代码,二是数学。

代码的选择毋庸置疑,一定要学Python,毕竟这是当今深度学习界最火的语言,没有之一。

而数学一样重要,虽然数学常常难倒英雄汉,不过如果你只是想把深度学习拿来在你的领域试用的话,暂时不需要搞明白太多数学基础,

但是,Sanny Kim建议,熟知数学理论基础,使用深度学习框架会更易懂,因此需要一定的微积分、线性代数和统计学基础,

学Python

Python可以选择下面的课程:

MIT 6.0001课程

https://www.youtube.com/watch...

CodeCademy

https://www.codecademy.com/le...

如何像计算机科学家一样思考

http://interactivepython.org/...

备用链接:https://runestone.academy

哈佛CS50

https://www.edx.org/course/cs...

哈佛CS50课程里Python讲得比较少,如果你喜欢阅读,可交互的在线书《如何像计算机科学家一样思考》会更适合你。

学微积分

微积分方面有几个必须搞懂的概念:微分链式法则偏导数

数学基础好、想要快速学习微积分的同学请戳:

MIT 18.01 单变量微积分

https://www.youtube.com/watch...

数学不太好的同学请戳:

伦纳德教授的微积分1

https://www.youtube.com/watch...

已经学过需要复习一下,或者几乎放弃治疗、只想简单了解一下的同学请戳:

可汗学院微积分1

https://www.khanacademy.org/m...

补充材料:

3Blue1Brown 微积分的本质

https://www.youtube.com/watch...

学线性代数

线代方面有几个必须搞懂的概念:向量矩阵矩阵运算,包括加减乘除逆运算。

还是一样,想认认真真搞懂线代的同学请戳:

MIT 18.06 线性代数

https://www.youtube.com/watch...

走马观花的同学请戳:

可汗学院线性代数

https://www.khanacademy.org/m...

戳这个来了解更多实际的写代码方法:

Rachel Thomas的计算线性代数

https://www.youtube.com/watch...

补充材料:

斯坦福CS229线性代数复习资料

http://cs229.stanford.edu/sec...

3Blue1Brown 线性代数的本质

https://www.youtube.com/watch...\_ab

概率与统计

概率统计方面有几个必须搞懂的概念:平均值标准差分布采样贝叶斯定理

哈佛统计110

https://www.youtube.com/watch...

可汗学院概率统计

https://www.khanacademy.org/m...

Brandon Foltz统计学101

https://www.youtube.com/user/...

补充材料:

斯坦福CS229概率统计复习资料

http://cs229.stanford.edu/sec...

列了这么多数学课,你要是觉得上面这三门课学起来太累,可以只看和深度学习、机器学习相关的部分,那么安利你学习下面这两份材料:

深度学习需要的矩阵微积分

作者:Terence Parr,Jeremy Howard

https://arxiv.org/abs/1802.01528

不想看pdf的手机用户可戳:https://explained.ai/matrix-c...

MIT 18.065 数据分析、信号处理和机器学习中的矩阵方法(2018)

作者:Gilbert Strang

https://www.youtube.com/playl...

当然,因为数学嘛,毕竟是门大杀器,要是实在学不下去,可以先开始学下面的深度学习部分,看到哪儿原理不懂了,再回来翻资料理解一下。

深度学习入门

现在,恭喜你学会了Python,还搞懂了一部分数学理论知识,终于可以开始学正儿八经的深度学习了。

深度学习入门非常重要的两套课程,分别是

吴恩达的deeplearning.ai

https://www.coursera.org/spec...

Jeremy Howard和Rachel Thomas的fast.ai

http://course.fast.ai/

这两份资料在深度学习MOOC领域几乎无人不知无人不晓了,吴恩达的课程重视理论解释,fast.ai更侧重编码,Sanny Kim是这样学这两套课程的:

1、先看deeplearning.ai的1、2、4、5;

2、在看fast.ai的第一部分;

3、看deeplearning.ai的3;

4、(可选)做deeplearning.ai的作业;

5、把上面的1~4复习一遍。

fast.ai从第二部分开始相对比较难,建议后面再学。另外,想充分利用fast.ai,最好有一块GPU,没有的话就去薅Google羊毛,学习使用Colab(反正将来一定会用到的)。

攻略:学fast.ai,用Colab

https://towardsdatascience.co...

最后,给读书党安利:

神经网络与深度学习

作者:Michael Nielsen

http://neuralnetworksanddeepl...

视频课程

不能光靠MOOC学深度学习,下面这些视频课程也要学习了解一下:

3Blue1Brown的神经网络

https://www.youtube.com/playl...\_67000Dx\_ZCJB-3pi

Computerphile的神经网络

https://www.youtube.com/playl...

Brandon Rohrer的神经网络

https://www.youtube.com/watch...

Python实用机器学习教程

https://www.youtube.com/watch...\_kaG2P55YRn5v

对新人友好的博客

刷博客也是自学的重要途径,这里一些经典博客可以作为学习资料:

在处理可视化和动量方面做得非常好的Distill.pub

https://distill.pub/

Andrej Karpathy的老博客

http://karpathy.github.io/

深度强化学习

https://simoninithomas.github...\_reinforcement\_learning\_Course/

Towards Data Science

https://towardsdatascience.com/

写代码的资料

Jupyter笔记本:

Jupyter入门

https://www.youtube.com/watch...

DataCamp Jupyter教程

https://www.datacamp.com/comm...

Jupyter的坑,请注意避开

https://docs.google.com/prese...\_0\_0

NumPy:

斯坦福CS231 Numpy教程

http://cs231n.github.io/pytho...

DataCamp Numpy教程

https://www.datacamp.com/comm...

Pandas:

Data School综合教程系列Pandas数据分析

https://www.youtube.com/watch...

Pandas的代码基础短教程

https://www.youtube.com/watch...

Scikit-learn:

Data School scikit-learn教程系列

https://www.youtube.com/watch...

Matplotlib:

Sentdex Matplotlib系列

https://www.youtube.com/watch...\_J8x\_dw&list=PLQVvvaa0QuDfefDfXb9Yf0la1fPDKluPF

Matplotlib视频教程

https://www.youtube.com/watch...

终于能用深度学习了

现在,基础、原理、代码你都学的差不多了,终于可以开始使用深度学习这项大杀器了。

那,拿来干点啥,从什么项目开始下手呢?可以看这些找找灵感:

超厉害的深度学习idea

https://github.com/NirantK/aw...

Kaggle比赛

https://www.kaggle.com/compet...

Kaggle数据集

https://www.kaggle.com/datasets

另外,还需要做处选择,在TensorFlow、PyTorch、Keras等一大堆框架里选边站,找一个你觉得好用的框架。

项目实践好了之后,就可以开始写技术博客啦!

开启新篇章

现在,你终于成为了一个掌握深度学习技能的人,可以考虑在计算机视觉、自然语言处理、机器学习、自动驾驶……等许多领域深入发展了。

不过,Sanny Kim还是建议大家先去学:

fast.ai的第二部分(2018版,2019版还没更新到第二部分)

http://course18.fast.ai/part2...

可以从这里了解一些前沿的东西,比如GAN、神经翻译、超分辨率之类的,之后就可以选择一个你喜欢的方向深入研究了。

计算机视觉

斯坦福CS231n(2017)

https://www.youtube.com/watch...

斯坦福CS231n(2016)

https://www.youtube.com/watch...

UCF计算机视觉(2012)

https://www.youtube.com/watch...\_ImKP68wfKZJVIPTd8Ie5u-9

斯坦福CS231n不同年份有不同年份的特点,比如2017年有一个关于生成模型的课程,2016年有Jeff Dean的演讲,如果想了解在深度学习爆发之前计算机视觉的发展,可以看最后一个课程。

自然语言处理

斯坦福CS224N NLP深度学习(2019)

https://www.youtube.com/playl...

Stanford CS224N NLP深度学习(2017)

https://www.youtube.com/watch...\_63UgQ&list=PL3FW7Lu3i5Jsnh1rnUwq\_TcylNr7EkRe6

CMU NLP神经网络(2019)

https://www.youtube.com/playl...

牛津&DeepMind深度学习NLP(2017)

https://www.youtube.com/watch...

GitHub:

https://github.com/oxford-cs-...

斯坦福CS224N的NLP、深度学习课程很棒,包含视频、PPT、作业、作业答案甚至还有课堂项目,相比之下2019版本包含了更多新内容。

牛津和DeepMind合作的项目也很不错,还附带了GitHub。

继续研究深度学习

Fullstack深度学习训练营(2019年)

https://fullstackdeeplearning...

伯克利CS294深度无监督学习(2019)

https://sites.google.com/view...

斯坦福CS230深度学习(2018)

https://www.youtube.com/playl...\_YQhOb

CMU深度学习课程(2017)

https://www.youtube.com/watch...\_\_Buy7\_UEVQkyfhHapa

牛津深度学习课程(2015)

https://www.youtube.com/watch...

Ian Goodfellow的《深度学习》(俗称花书)

https://www.deeplearningbook....

NIPS(2017)会议视频

https://nips.cc/Conferences/2...

ICML(2017)会议视频

https://icml.cc/Conferences/2...

ICLR(2018)会议视频

https://www.facebook.com/pg/i...

强化学习

如果想研究强化学习(RL),那很不幸你前面学的deeplearning.ai和fast.ai里都没有,所以Sanny Kim建议按照下面的顺序学习:

Arxiv Insight的强化学习视频介绍

https://www.youtube.com/watch...

Jacob Schrum的强化学习简介

https://www.youtube.com/watch...\_0u1eUjmF59XW2TGHWdkHjnS

Andrej Karpathy关于深度强化学习的博客文章

http://karpathy.github.io/201...

吴恩达关于马尔可夫决策过程的论文第1-2章

http://rll.berkeley.edu/deepr...

斯坦福CS234强化学习(2019)

https://www.youtube.com/playl...

OpenAI深度学习Spinning up(2018)

https://spinningup.openai.com...

DeepMind深度学习&强化学习进阶(2018)

https://www.youtube.com/watch...\_K2RZs

David Silver强化学习课程

https://www.youtube.com/watch...

伯克利CS294深层强化学习课程(2017)

http://rll.berkeley.edu/deepr...

伯克利CS294深度强化学习(2018)

http://rail.eecs.berkeley.edu...

强化学习:简介(2018年)

https://drive.google.com/file...\_kVa1uWOdOiveNiBFiEOHjkG/view

伯克利深度强化学习训练营(2017)

https://www.youtube.com/watch...

MILA强化学习暑期学校(2017)

https://mila.quebec/en/cours/...

Udacity深度强化学习GitHub Repo

https://github.com/udacity/de...

Thomas Simonini深度强化学习课程

https://simoninithomas.github...\_reinforcement\_learning\_Course/

机器学习

想要了解机器学习,吴恩达的课程是十分经典的教材。如果你想学习更多相关的数学理论,可以学加州理工的课程。

吴恩达的机器学习课程(2012)

https://www.coursera.org/lear...

加州理工CS156机器学习课程(2012)

http://work.caltech.edu/telec...

Christopher Bishop的《模式识别和机器学习书》(2006)

https://www.microsoft.com/en-...

吴恩达《Machine Learning Yearning》

https://www.mlyearning.org/

自动驾驶

如果你对自动驾驶感兴趣,可以去学MIT的课程,包含广泛的相关内容介绍,还有比如Aurora这种专业自动驾驶公司大佬的分享。

MIT自动驾驶课程(2018年)

https://www.youtube.com/watch...

自动驾驶的计算机视觉:问题,数据集和最新技术(2017)

https://arxiv.org/pdf/1704.05...

ICCV自动驾驶计算机视觉教程(2015)

https://sites.google.com/site...

Udacity自动驾驶idea

https://github.com/ndrplz/sel...

各类补充资料

你可能会发现,梯度下降、反向传播,这些问题都出现了

Sebastian Ruder梯度下降博客

http://ruder.io/optimizing-gr...

CS231n反向传播

http://cs231n.github.io/optim...

重点论文:

AlexNet(2012)

https://papers.nips.cc/paper/...

VGG(2014)

https://arxiv.org/abs/1409.1556

InceptionNet(2014)

https://arxiv.org/pdf/1409.48...

ResNet(2015)

https://arxiv.org/abs/1512.03385

生成对抗网络(2014年)

https://arxiv.org/abs/1406.2661

Yolo对象检测(2015)

https://arxiv.org/abs/1506.02640

用深度强化学习玩雅达利游戏(2013)

https://arxiv.org/pdf/1312.56...

备忘录:

深度学习

https://stanford.edu/~shervin...

PyTorch

Pytorch Cheat Sheet

Numpy

https://www.datacamp.com/comm...

Pandas

https://www.datacamp.com/comm...

Matplotlib

https://www.datacamp.com/comm...

Scikit-Learn

https://www.datacamp.com/comm...

Jupyter Notebook

https://www.datacamp.com/comm...

传送门

GitHub

https://github.com/sannykim/d...

推特

https://twitter.com/sannykimc...


量子位
61 声望20k 粉丝

一家专注于人工智能与前沿科技领域的产业服务平台。