PDF 链接:https://pan.baidu.com/s/1gO9M2Q-WgQueXZ6yOtQiaQ
提取码:z5t5
书中代码github:https://github.com/L1aoXingyu/code-of-learn-deep-learning-with-pytorch
Pytorch学习资源与建议
随着近年深度学习的兴起,很多研究者都投入这个领域当中,由于各个大学都将自己的课程放到了网上,出现了很多学习资源和网络课程,而且很多大公司如Google.Facebook都将自己的开源框架放到了Github上,使得深度学习的人门越来越简单,很多麻烦的重复操作已经通过框架简化了,这也让我们每个人都能有机会接触深度学习。
网上有各种各样的学习经验分享,有的人注重理论知识的积累,看了很多书,但是动手实践的经验为0;也有一些人热衷于代码的实现,每天学习别人已经写好的代码。对于这两种情况,我认为都是不好的,深度学习是理论和工程相结合的领域,不仅仅需要写代码的能力强,也需要有理论知识能够看懂论文,实现论文提出来的新想法,所以我们的学习路线应该是理论与代码相结合,平衡两边的学习任务,不能出现只管一边而不学另外一边的情况,因为只有理论与代码兼顾才不至于一旦学习深入,就会发现自己会有很多知识的漏洞。
在学习本书之前,需要一定的Python语言基础和微积分、线性代数的基础,下面将给出开始阅读本书之前的学习建议,以及读完本书后继续深入了解深度学习领域的学习建议。
在开始本书之前,对于微积分和线性代数需要掌握的知识并不多,对于微积分只需要知道导数和偏导数,对于线性导数只需要知道矩阵乘法就可以了对于Python语言,给出三个学习资源,学完第一个学习资源之后就可以没有障碍地阅读完本书,后续的两个学习资源帮助你更深入地了解Python语言及其数值计算。
(1)《笨方法学Python)(Learn Python the Hard May)
本书面向零基础的学者,通过一系列简单的例子快速入门Python的基本操作。
(2)雪峰的Python人门
这个系列教程可用来更全面地学习Python,掌握前几章的Python基础即可,后面讲授的部分是更为专业的Web开发的内容,对于机器学习而言不需要掌握这些部分。
(3)Edx:Introduction to Computer Science and Programming Using Python这是MIT的公开课,以Python作为人门语言,简洁、全面地讲述了计算机科学的内容,适合更进一步的学习。
以上的Python人门课程只需要看完第一个学习资源便可开始本书的阅读。
下面给出读完本书,以及在本书的阅读过程中的一些参考学习资源。
(1)线性代数
线性代数相当于深度学习的基石,深度学习里面有着大量的矩阵运算,而且线性代数的一些矩阵分解的思想也被借鉴到了机器学习中,所以必须熟练掌握线性代数。可参考以下资源学习:
-
《线性代数应该这样学》(Linear Algebra done right)
-
MIT的线性代数公开课
-
Coding The Matrix
(2)机器学习基础
虽然深度学习现在很火,但是也需要掌握其根本,即机器学习,这才是本质与核心。
这里的学习资源从易到难排列:
-
Coursera上Andrew Ng的机器学习入门课程
-
林轩田的机器学习基石和机器学习技法
-
Udacity的机器学习纳米学位
-
周志华著的《机器学习》
-
李航著的《统计学习方法》
-
Pattern Recognition and Machine Learning
(3)深度学习
这是最近几年最为活跃的研究领域,爆发了很多革命性的突破,很多前沿的学习
资源,如:
-
Udacity的两个深度学习课程
-
Coursera的Neural Networks for Machine Learning
-
Stanford的cs231n
-
Stanford的cs224n
以上的学习资源很多,可以学习及参考,很多课程都是理论与实践相结合的,通过上面资源的学习,可以完成深度学习领域绝大部分的知识储备。