Py学习  »  机器学习算法

超实用的深度学习自学资料包,还不赶紧收下!?

优达学城Udacity • 6 年前 • 688 次点击  

文/ 光头老师

编辑/ 小咪

来源/ zhihu.com/question/36675272/answer/362991532


入门一门知识的过程就像“条条道路通罗马”一样有很多方式可以选择,但是不同的方式、方法自然意味着在时间成本和精力的发费上也不尽相同,对于如何入门深度学习我有许多建议和意见可供大家分享,因此我从书籍和在线课程开始,整理了一份资料包送给大家,请大家结合自身情况使用,如果有更好的资料,也可以在评论区推荐。


深度学习入门书籍推荐



首先推荐几本优秀的入门书籍。第一本是由 Goodfellow 、Yoshua Bengio 和 Aaron Courville 共同撰写的《DEEP LEARNING》,这本书被誉为深度学习领域的圣经,此书在去年有了中文翻译版,完成这本书中文翻译也都是行业内的大牛,即便是中文版本书中内容也是字字珠玑,看完之后能够让自己的技艺精进不少。书中涵盖的内容非常丰富,从基础的数学知识讲起,逐层递进到一些深度学习的高级应用,比如像卷积神经、序列模型、循环神经网络等。



不过《DEEP LEARNING》这本书非常侧重理论,缺少实践的环节,就目前而言,深度学习最成功的三个实践领域分别是计算机视觉、自然语言处理和语音识别。在计算机视觉方向有本非常适合入门的书籍《DEEP LEARNING FOR COMPUTER VISION》,作者是Adrian Rosebrock,本书使用Python完成一些计算机视觉项目的实践暂时没有中文版本,适合有一定外语基础的人。




在线课程推荐



01

公开课


阅读书籍是入门深度学习的一种方式,除了这两优秀的书籍之外我还极力推荐两门非常适合深度学习入门的公开课,公开课有教学视频,课程还附带了完整讲义和课后练习。


1、CS231n

首先推荐的课程是斯坦福大学的CS231n

http://cs231n.stanford.edu/



这门课程的开发者是李飞飞,课程内容虽然是以深度学习计算机视觉为出发点,但是涉及都的内容却覆盖了深度学习相关的80%理论知识,现在这门课程也被推崇为入门深度学习的经典公开课




2、6.S191

其次是麻省理工大学的6.S191

Introduction to Deep Learning

http://introtodeeplearning.com/



这门课程主要讲的也是深度学习,内容覆盖同样很到位,涉及范围更加偏重于深度学习的知识。


接下来推荐的是另一种更好的深度学习入门方式,使用专业的课程,首先专业课程相比较公开课具有更加丰富的实践项目,其次是专业课程相比较书籍阅读来说是以项目为驱动促进学习的。



02

专业课程


每门知识的入门都是一个比较困难的过程,深度学习也是如此,但是我觉得最为有效的深度学习入门方法就是不断的实战,实战是一种自顶向下的学习方法,区别于传统理论派的自底向上的学习方法,深入的理论研究会消磨掉我们的意志和对深度学习的兴趣,而通过不断实战的方式却能不断培养我们的兴趣和积攒自己的成就感,这样就有了继续学习下去的动力,而且我们可以在实战过程中对遇到的不明白的理论再进行重点研究,查漏补缺,这样能够快速构架起我们的深度学习的知识体系。


说到深度学习的实践,就不得不提深度学习实践派中的三位泰斗级人物,分别是 Siraj Rival (红色拉杰)、Jeremy Howard和Andrew Ng(吴恩达),Siraj Rival是YouTube上网络红人一直致力于向众人普及深度学习和机器学习的相关知识,他的代表课程是优达学城Udacity的深度学习,Jeremy Howard是前kaggle首席科学家,致力于将深度学习融入到社会问题的解决中去,他的代表课程是fast.ai,Andrew Ng很多人都很熟悉了,他的机器学习课程是很多人的启蒙教程,2017年又开发了关于深度学习的deeplearning.ai课程。


在我看来,可供选择的优秀的入门书籍很多,但是深度学习方面专业课程并不多,选择使用优秀课程作为入门比啃教材更高效。我个人关注过Udacity、Coursera和fast.ai的课程,对比如下:


1、deeplearning.ai


首先来说下Coursera的deeplearning.ai,课程的讲解依旧符合吴恩达一贯的风格特征,将复杂的理论抽丝剥茧,层层递进,让初学者更加容易理解和掌握,而这门课程总共包含了五门子课,但是后面两门子课程暂时没有中文字幕。教学风格比较“学院风”,很像大学课程,通俗易懂,内容细致,难度相对也比较小,课程中的实践项目使用的深度学习框架是Tensorflow,在完成课程之后能够获得相应的证书。


课程连接:www.deeplearning.ai



2、Udacity-深度学习      


其次是优达学城Udacity的深度学习,这是和企业一起开发的,比较职业导向,授课的老师有多个而且都是各个领域的专家,包括了上面推荐的图书《DEEP LEARNING》的作者 Goodfellow。课程也会针对基础薄弱的学员提供先修课程。相比之下课程对中国本地化做的非常好,(忽略部分翻译拗口的情况)在课程中提供了全部视频配套的中文字幕和学习材料。


他们的课程里包含很多练习和实战项目,学起来还是挺过瘾的。项目提交后会有专业的reviewer对完成的代码进行审阅并提出改进意见,因此费用会相对偏高。但是对于一个意志薄弱的人而言这些服务更容易让他们坚持下来。课程实践项目使用的深度学习框架同样是Tensorflow,完成课程之后也能够获得相应的证书。


课程连接:http://cn.udacity.com/course/deep-learning-nanodegree-foundation--nd101-cn




3、fast.ai    


最后是fast.ai,这门课程分为两部分,Part1即前半部分是深度学习比较基础的知识,Part2即后半部分是难度较大的进阶知识,课程质量非常的好,和之前两门课程有个较大的区别就是课程中实践项目使用的深度学习框架从之前的Tensorflow改成了现在的PyTorch,其次因为这些课程的教学视频被放置在YouTube上所以需要科学上网才能看得到,而且课程全部没有中文字幕。


课程连接:www.fast.ai




还有人会问:学习深度学习之前到底要不要先学习机器学习


我想说:入门深度学习不一定非得掌握全部的机器学习知识。机器学习、深度学习、人工智能它们之间是如下的包含关系:




可以很清楚的看到其实深度学习只是机器学习的一个分支,所以机器学习中的很多知识对于我们掌握深度学习的内容其实并没有多大帮助,不过也是正是因为它们之间的这种包含关系,很多在机器学习中使用的概率和定义同样也适用于深度学习。


举例来说:什么是监督学习、什么是非监督学习;什么是过拟合、什么是欠拟合如何避免这两种情况的出现;数据集中的验证集和测试集的区别;什么是梯度下降如何避免梯度消失、如何实现模型的优化等等这些内容都频繁的出现在机器学习和深度学习的内容中。


深度学习的核心内容是神经网络相关的知识,所以它用到数学知识主要覆盖了线性代数、微积分和统计学,而在机器学习中对神经网络的数学公式一般做如下定义:




如果我们卯足了劲去学习机器学习很可能仅仅了解到的是神经网络知识的皮毛,因为在深度学习的内容中,它会告诉更多与神经网络相关的知识,比如什么是深度神经网络(DNN)、什么是卷积神经网络(CNN)、什么是循环神经网络(RNN)、什么是自动编码器(AutoEncoder)等等这些神经网络模型架构的知识,还有比如如何计算神经网络模型损失函数、如何对神经网络模型进行训练、如何完成神经网络模型中参数的优化。


这些内容不仅非常有意思而且还非常的实用,因为如果我们完全掌握了就能够利用这些知识在计算机视觉、语音识别、自然语言处理领域取得远远超过传统机器学习方法的成绩(完)。


 文末福利




扫码关注优达学城订阅号

回复关键词PY小抄」

获取超实用的“Python知识点小抄”

对数据分析、机器学习都非常实用



try-except 异常处理




— 完 —


喜欢这篇文章?别忘了分享到朋友圈哦!

快点扫我~

跟随 Google 无人车之父系统掌握深度学习,21周打造属于你的深度学习前沿应用。生成电视剧剧本、图像识别、生成人脸……点击阅读原文,体验硅谷仿真课堂!


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/QluOsspaBR
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/11156
 
688 次点击