进大厂全靠自学,微软&头条实习生现身说法:我是这样自学深度学习的丨课程传送门

栏目: 编程工具 · 发布时间: 6年前

内容简介:跟着网络资料自学、刷MOOC是许多人学深度学习的方式,但深度学习相关资源众多,应该从哪儿开始学呢?富有自学经验的GitHub用户Sanny Kim贡献出了一份深度学习自学指南。

作者 Sanny Kim

郭一璞 编译 

量子位 出品 | 公众号 QbitAI

跟着网络资料自学、刷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?v=ytpJdnlu9ug&list=PLUl4u3cNGP63WbdFxL8giv4yhgdMGaZNA

CodeCademy

https://www.codecademy.com/learn/learn-python

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

http://interactivepython.org/runestone/static/thinkcspy/index.html

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

哈佛CS50

https://www.edx.org/course/cs50s-introduction-to-computer-science

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

学微积分

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

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

MIT 18.01 单变量微积分

https://www.youtube.com/watch?v=jbIQW0gkgxo&t=1s

数学不太好的同学请戳:

伦纳德教授的微积分1

https://www.youtube.com/watch?v=fYyARMqiaag&list=PLF797E961509B4EB5

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

可汗学院微积分1

https://www.khanacademy.org/math/calculus-1

补充材料:

3Blue1Brown 微积分的本质

https://www.youtube.com/watch?v=WUvTyaaNkzM&list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr

学线性代数

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

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

MIT 18.06 线性代数

https://www.youtube.com/watch?v=ZK3O402wf1c&list=PLE7DDD91010BC51F8

走马观花的同学请戳:

可汗学院线性代数

https://www.khanacademy.org/math/linear-algebra

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

Rachel Thomas的计算线性代数

https://www.youtube.com/watch?v=8iGzBMboA0I&index=1&list=PLtmWHNX-gukIc92m1K0P6bIOnZb-mg0hY

补充材料:

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

http://cs229.stanford.edu/section/cs229-linalg.pdf

3Blue1Brown 线性代数的本质

https://www.youtube.com/watch?v=kjBOesZCoqc&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab

概率与统计

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

哈佛统计110

https://www.youtube.com/watch?v=KbB0FjPg0mw&list=PL2SOU6wwxB0uwwH80KTQ6ht66KWxbzTIo

可汗学院概率统计

https://www.khanacademy.org/math/statistics-probability

Brandon Foltz统计学101

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

补充材料:

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

http://cs229.stanford.edu/section/cs229-prob.pdf

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

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

作者:Terence Parr,Jeremy Howard

https://arxiv.org/abs/1802.01528

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

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

作者:Gilbert Strang

https://www.youtube.com/playlist?list=PLUl4u3cNGP63oMNUHXqIUcrkS2PivhN3k

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

深度学习入门

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

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

吴恩达的 deeplearning.ai

https://www.coursera.org/specializations/deep-learning

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.com/fast-ai-lesson-1-on-google-colab-free-gpu-d2af89f53604

最后,给读书党安利:

神经网络与深度学习

作者:Michael Nielsen

http://neuralnetworksanddeeplearning.com/

视频课程

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

3Blue1Brown的神经网络 https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi
Computerphile的神经网络 https://www.youtube.com/playlist?list=PLzH6n4zXuckoezZuZPnXXbvN-9jMFV0qh
Brandon Rohrer的神经网络 https://www.youtube.com/watch?v=ILsA4nyG7I0
Python实用机器学习教程 https://www.youtube.com/watch?v=OGxgnH8y2NM&list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v

对新人友好的博客

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

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

https://distill.pub/

Andrej Karpathy的老博客

http://karpathy.github.io/

深度强化学习

https://simoninithomas.github.io/Deep_reinforcement_learning_Course/

Towards Data Science

https://towardsdatascience.com/

写代码的资料

Jupyter笔记本:

Jupyter入门

https://www.youtube.com/watch?v=HW29067qVWk

DataCamp Jupyter教程

https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook?utm

Jupyter的坑,请注意避开

https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/preview?slide=id.g3b600ce1e2_0_0

NumPy:

斯坦福CS231 Numpy教程

http://cs231n.github.io/python-numpy-tutorial/

DataCamp Numpy教程

https://www.datacamp.com/community/tutorials/python-numpy-tutorial

Pandas:

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

https://www.youtube.com/watch?v=yzIMircGU5I&list=PL5-da3qGB5ICCsgW1MxlZ0Hq8LL5U3u9y

Pandas的代码基础短教程

https://www.youtube.com/watch?v=CmorAWRsCAw&list=PLeo1K3hjS3uuASpe-1LjfG5f14Bnozjwy

Scikit-learn:

Data School scikit-learn教程系列

https://www.youtube.com/watch?v=CmorAWRsCAw&list=PLeo1K3hjS3uuASpe-1LjfG5f14Bnozjwy

Matplotlib:

Sentdex Matplotlib系列

https://www.youtube.com/watch?v=q7Bo_J8x_dw&list=PLQVvvaa0QuDfefDfXb9Yf0la1fPDKluPF

Matplotlib视频教程

https://www.youtube.com/watch?v=b3lK639ymu4&list=PLNmACol6lYY5aGQtxghQTq0bHXYoIMORy

终于能用深度学习了

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

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

超厉害的深度学习idea

https://github.com/NirantK/awesome-project-ideas

Kaggle比赛

https://www.kaggle.com/competitions

Kaggle数据集

https://www.kaggle.com/datasets

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

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

开启新篇章

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

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

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

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

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

计算机视觉

斯坦福CS231n(2017)

https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk

斯坦福CS231n(2016)

https://www.youtube.com/watch?v=NfnWJUyUJYU&list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC

UCF计算机视觉(2012)

https://www.youtube.com/watch?v=715uLCHt4jE&list=PLd3hlSJsX_ImKP68wfKZJVIPTd8Ie5u-9

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

自然语言处理

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

https://www.youtube.com/playlist?list=PLoROMvodv4rOhcuXMZkNm7j3fVwBBY42z

Stanford CS224N NLP深度学习(2017)

https://www.youtube.com/watch?v=OQQ-W_63UgQ&list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6

CMU NLP神经网络(2019)

https://www.youtube.com/playlist?list=PL8PYTP1V4I8Ajj7sY6sdtmjgkt7eo2VMs

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

https://www.youtube.com/watch?v=RP3tZFcC2e8&list=PL613dYIGMXoZBtZhbyiBqb0QtgK6oJbpm

GitHub:

https://github.com/oxford-cs-deepnlp-2017/lectures

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

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

继续研究深度学习

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

https://fullstackdeeplearning.com/march2019

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

https://sites.google.com/view/berkeley-cs294-158-sp19/home

斯坦福CS230深度学习(2018)

https://www.youtube.com/playlist?list=PLoROMvodv4rOABXSygHTsbvUz4G_YQhOb

CMU深度学习课程(2017)

https://www.youtube.com/watch?v=fDlOQrLX8Hs&list=PLpIxOj-HnDsOSL__Buy7_UEVQkyfhHapa

牛津深度学习课程(2015)

https://www.youtube.com/watch?v=PlhFWT7vAEw&list=PLjK8ddCbDMphIMSXn-w1IjyYpHU3DaUYw

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

https://www.deeplearningbook.org/

NIPS(2017)会议视频

https://nips.cc/Conferences/2017/Videos

ICML(2017)会议视频

https://icml.cc/Conferences/2017/Videos

ICLR(2018)会议视频

https://www.facebook.com/pg/iclr.cc/videos/

强化学习

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

Arxiv Insight的强化学习视频介绍

https://www.youtube.com/watch?v=JgvyzIkgxF0

Jacob Schrum的强化学习简介

https://www.youtube.com/watch?v=3T5eCou2erg&list=PLWi7UcbOD_0u1eUjmF59XW2TGHWdkHjnS

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

http://karpathy.github.io/2016/05/31/rl/

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

http://rll.berkeley.edu/deeprlcoursesp17/docs/ng-thesis.pdf

斯坦福CS234强化学习(2019)

https://www.youtube.com/playlist?list=PLoROMvodv4rOSOPzutgyCTapiGlY2Nd8u

OpenAI深度学习Spinning up(2018)

https://spinningup.openai.com/en/latest/

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

https://www.youtube.com/watch?v=iOh7QUZGyiU&list=PLqYmG7hTraZDNJre23vqCGIVpfZ_K2RZs

David Silver强化学习课程

https://www.youtube.com/watch?v=2pWv7GOvuf0&list=PLzuuYNsE1EZAXYR4FJ75jcJseBmo4KQ9-

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

http://rll.berkeley.edu/deeprlcoursesp17/

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

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

强化学习:简介(2018年)

https://drive.google.com/file/d/1opPSz5AZ_kVa1uWOdOiveNiBFiEOHjkG/view

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

https://www.youtube.com/watch?v=qaMdN6LS9rA&list=PLAdk-EyP1ND8MqJEJnSvaoUShrAWYe51U

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

https://mila.quebec/en/cours/deep-learning-summer-school-2017/

Udacity深度强化学习GitHub Repo

https://github.com/udacity/deep-reinforcement-learning

Thomas Simonini深度强化学习课程

https://simoninithomas.github.io/Deep_reinforcement_learning_Course/

机器学习

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

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

https://www.coursera.org/learn/machine-learning

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

http://work.caltech.edu/telecourse.html

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

https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf

吴恩达《Machine Learning Yearning》

https://www.mlyearning.org/

自动驾驶

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

MIT自动驾驶课程(2018年)

https://www.youtube.com/watch?v=-6INDaLcuJY&list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf

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

https://arxiv.org/pdf/1704.05519.pdf

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

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

Udacity自动驾驶idea

https://github.com/ndrplz/self-driving-car

各类补充资料

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

Sebastian Ruder梯度下降博客

http://ruder.io/optimizing-gradient-descent/

CS231n反向传播

http://cs231n.github.io/optimization-2/

重点论文:

AlexNet(2012)

https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

VGG(2014)

https://arxiv.org/abs/1409.1556

InceptionNet(2014)

https://arxiv.org/pdf/1409.4842.pdf

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.5602.pdf

备忘录:

深度学习

https://stanford.edu/~shervine/teaching/cs-229/cheatsheet-deep-learning

PyTorch

https://www.sznajdman.com/pytorch-cheat-sheet/

Numpy

https://www.datacamp.com/community/blog/python-numpy-cheat-sheet

Pandas

https://www.datacamp.com/community/blog/python-pandas-cheat-sheet

Matplotlib

https://www.datacamp.com/community/blog/python-matplotlib-cheat-sheet

Scikit-Learn

https://www.datacamp.com/community/blog/scikit-learn-cheat-sheet

Jupyter Notebook

https://www.datacamp.com/community/blog/jupyter-notebook-cheat-sheet

传送门

GitHub

https://github.com/sannykim/deep-learning-guide

推特

https://twitter.com/sannykimchi/status/1138103256792494085?s=21

小程序|全类别AI学习教程

进大厂全靠自学,微软&头条实习生现身说法:我是这样自学深度学习的丨课程传送门

AI社群|与优秀的人交流

进大厂全靠自学,微软&头条实习生现身说法:我是这样自学深度学习的丨课程传送门

进大厂全靠自学,微软&头条实习生现身说法:我是这样自学深度学习的丨课程传送门

量子位  QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 ! 


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Learning jQuery

Learning jQuery

Jonathan Chaffer、Karl Swedberg / Packt Publishing / 2007-7-7 / GBP 24.99

jQuery is a powerful JavaScript library that can enhance your websites regardless of your background. In this book, creators of the popular jQuery learning resource, learningquery.com, share the......一起来看看 《Learning jQuery》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具