跟着网络资料自学、刷MOOC是许多人学深度学习的方式,但深度学习相关资源众多,应该从哪儿开始学呢?
富有自学经验的GitHub用户SannyKim贡献出了一份深度学习自学指南。
下面,就让我们来看看这份自学指南都包含什么内容吧。由于资料课程非常多,建议大家存下来慢慢看。
学好Python和数学作为深度学习从业者,最重要的基础,一是代码,二是数学。
代码的选择毋庸置疑,一定要学Python,毕竟这是当今深度学习界最火的语言,没有之一。
而数学一样重要,虽然数学常常难倒英雄汉,不过如果你只是想把深度学习拿来在你的领域试用的话,暂时不需要搞明白太多数学基础,
但是,SannyKim建议,熟知数学理论基础,使用深度学习框架会更易懂,因此需要一定的微积分、线性代数和统计学基础,
学Python
Python可以选择下面的课程:
哈佛CS50课程里Python讲得比较少,如果你喜欢阅读,可交互的在线书《如何像计算机科学家一样思考》会更适合你。
学微积分
微积分方面有几个必须搞懂的概念:微分,链式法则和偏导数。
数学基础好、想要快速学习微积分的同学请戳:
数学不太好的同学请戳:
已经学过需要复习一下,或者几乎放弃治疗、只想简单了解一下的同学请戳:
补充材料:
学线性代数
线代方面有几个必须搞懂的概念:向量,矩阵,矩阵运算,包括加减乘除逆运算。
还是一样,想认认真真搞懂线代的同学请戳:
走马观花的同学请戳:
戳这个来了解更多实际的写代码方法:
补充材料:
概率与统计
概率统计方面有几个必须搞懂的概念:平均值,标准差,分布,采样,贝叶斯定理。
补充材料:
列了这么多数学课,你要是觉得上面这三门课学起来太累,可以只看和深度学习、机器学习相关的部分,那么安利你学习下面这两份材料:
当然,因为数学嘛,毕竟是门大杀器,要是实在学不下去,可以先开始学下面的深度学习部分,看到哪儿原理不懂了,再回来翻资料理解一下。
深度学习入门现在,恭喜你学会了Python,还搞懂了一部分数学理论知识,终于可以开始学正儿八经的深度学习了。
深度学习入门非常重要的两套课程,分别是
这两份资料在深度学习MOOC领域几乎无人不知无人不晓了,吴恩达的课程重视理论解释,更侧重编码,SannyKim是这样学这两套课程的:
1、先看的1、2、4、5;
2、在看的第一部分;
3、看的3;
4、(可选)做的作业;
5、把上面的1~4复习一遍。
从第二部分开始相对比较难,建议后面再学。另外,想充分利用,最好有一块GPU,没有的话就去薅Google羊毛,学习使用Colab(反正将来一定会用到的)。
最后,给读书党安利:
对新人友好的博客
刷博客也是自学的重要途径,这里一些经典博客可以作为学习资料:
写代码的资料
Jupyter笔记本:
NumPy:
Pandas:
Scikit-learn:
Matplotlib:
终于能用深度学习了现在,基础、原理、代码你都学的差不多了,终于可以开始使用深度学习这项大杀器了。
那,拿来干点啥,从什么项目开始下手呢?可以看这些找找灵感:
另外,还需要做处选择,在TensorFlow、PyTorch、Keras等一大堆框架里选边站,找一个你觉得好用的框架。
项目实践好了之后,就可以开始写技术博客啦!
开启新篇章现在,你终于成为了一个掌握深度学习技能的人,可以考虑在计算机视觉、自然语言处理、机器学习、自动驾驶……等许多领域深入发展了。
不过,SannyKim还是建议大家先去学:
可以从这里了解一些前沿的东西,比如GAN、神经翻译、超分辨率之类的,之后就可以选择一个你喜欢的方向深入研究了。
计算机视觉
斯坦福CS231n不同年份有不同年份的特点,比如2017年有一个关于生成模型的课程,2016年有JeffDean的演讲,如果想了解在深度学习爆发之前计算机视觉的发展,可以看最后一个课程。
自然语言处理
牛津和DeepMind合作的项目也很不错,还附带了GitHub。
继续研究深度学习
强化学习
如果想研究强化学习(RL),那很不幸你前面学的和里都没有,所以SannyKim建议按照下面的顺序学习:
机器学习
想要了解机器学习,吴恩达的课程是十分经典的教材。如果你想学习更多相关的数学理论,可以学加州理工的课程。
自动驾驶
如果你对自动驾驶感兴趣,可以去学MIT的课程,包含广泛的相关内容介绍,还有比如Aurora这种专业自动驾驶公司大佬的分享。
各类补充资料
你可能会发现,梯度下降、反向传播,这些问题都出现了
重点论文:
备忘录:
传送门
GitHub
推特
—完—
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
վ'ᴗ'ի追踪AI技术和产品新动态