送你一份机器/深度学习自学指南(附视频&速成方案)

简介:

回答这个问题,最先要考虑的问题是:你有多少时间?

准备用三个月入门,和想要一个月速成,肯定是截然不同的路径。当然我建议大家稳扎稳打,至少可以拿出五个月的时间来学好机器学习的基础知识。

基础很重要,知其所以然很重要。毕竟工具总在进步,每个月都会出现更好的深度学习技术,但基础知识是不变的。

如何用五个月时间入门?下面分三个部分,详细指南。(以及,如果你确实时间有限,最后还有一个速成指南)

五个月入门

Part 1:从机器学习开始(两个月)

最好的入门教程,就是吴恩达讲授的机器学习。吴恩达这套课程发布很久了,虽然有些地方稍微过时,但相信我,现在没有任何公开的课程,能比吴恩达讲得更好。真的,课程结束时我几乎哭了出来。

这个课程可以说适合任何水平的学生,当然,你最好还是得知道两个矩阵如何相乘,以及对编程有一些基本的了解。

9d544d58d4641c35a76c16ec84c8edc76f04f870

这套课程可以前往Coursera学习,传送门:

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

也可以上网易公开课收看,传送门:

http://open.163.com/special/opencourse/machinelearning.html

如果你有时间,一定要听完全部的课程。如果时间紧张,至少要听完前五节课程,后面的可以暂时跳过。

吴恩达的机器学习课程深入讲解了经典的机器学习模型,如线性回归、逻辑回归、神经网络、支持向量机、PCA、无监督学习等等。大部分重要概念,都以简单易懂的方式进行了介绍。

课程延伸

当你学习到第五节课,也就是开始讲述神经网络时,建议开始查看与课程平行的外部资料。比方3bule1brown推出的神经网络讲解视频。推荐必看。

YouTube传送门:

https://youtu.be/aircAruvnKk?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi

或者可以前往B站查看:

http://space.bilibili.com/88461692/#/

这里给个示例:

3d1f0f1c19b3544265ccd1d2bf471fc651a710be

视频约为20分钟,建议WIFI情况下观看

以及,我觉得吴恩达在讲神经网络时有点快,所以建议补充阅读一些资料。比如有关神经网络和深度学习的在线书籍,免费的就很好了。

传送门:

http://neuralnetworksanddeeplearning.com/

5e87cfd6d0b6edd8f1796301b8eb0086c2099d1f

作者Michael A. Nielsen以一种简单直观的方式,深入探究了神经网络的每个细节。建议阅读这本书的前两章,与吴恩达的课程并行。当你熟悉更多概念后,开始搞深度学习时,可以再看书中的其余部分。

如果你英文不好,这本《神经网络与深度学习》也有中文翻译版本,可以免费在线查看。

感谢译者,传送门在此:

https://tigerneil.gitbooks.io/neural-networks-and-deep-learning-zh/content/

af60b9c0fc52aba5d0ffe7252be2049eeedd9c41

这个部分的学习结束之后,你就能明白机器/深度学习的许多概念。最后推荐阅读Christopher Olah的博客,很有意思。

传送门:http://colah.github.io/

1d1ad33a113942a7b746a08dd98f1f71db2afcce

Part 2:涉足深度学习(1个月)

开始研究深度学习之前,最好重温一下大学数学。Ian Goodfellow传奇般的“花书”《深度学习》,简明扼要的概括了大部分重要主题。

建议大家尽可能深入地阅读线性代数、概率、信息理论的章节。每当读论文遇到深度学习概念时,都可以在书中找到参考。

ab57f6724fc46c6f067a47e95b8a65e02a0b4a91

以及,这本书有在线的版本。

例如英文版在此:

https://github.com/janishar/mit-deep-learning-book-pdf/blob/master/complete-book-bookmarked-pdf/deeplearningbook.pdf 。

而中文翻译版本在此:

https://github.com/exacity/deeplearningbook-chinese

b05f6f58686ca1b9a52f1bf5aab16763ebf15be3

关于深度学习的在线资料有很多,你可能会挑花了眼。

再一次,我觉得最好的选择,还是听吴恩达的《深度学习专项系列课程(Deep Learning Specialization)》。

Coursera传送门:

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

网易云课堂的传送门:

https://mooc.study.163.com/smartSpec/detail/1001319001.htm/

这门课程包括五大章节。其实不是免费的,你可以按照50美元/月购买。当然,如果你负担不起,还能申请“助学金”。申请时请详细阐明理由,处理的时间大概需要15天左右。

当然不付费,大部分内容都是可以看的。以及视频的部分,在很多地方也能免费收看。

这五门课程主要讲的是:

d47e62d2b349aca45e42305ed6714efbe5ed61d9 神经网络和深度学习(4周)
d47e62d2b349aca45e42305ed6714efbe5ed61d9 改善深度神经网络(3周)
d47e62d2b349aca45e42305ed6714efbe5ed61d9 结构化机器学习项目(2周)
d47e62d2b349aca45e42305ed6714efbe5ed61d9 卷积神经网络(4周)

d47e62d2b349aca45e42305ed6714efbe5ed61d9序列模型(3周)

d0fa6af07d8303931ccebb6e1a8fbd3c822a774f

前三门课程涉及一般的神经网络和深度学习,第四、第五门课程涉及特定主题。如果你打算搞视觉,第四课必听;如果你搞NLP、音频等,第五课必听。但如果你需要听第五课,那么建议也把第四课好好听一下。

这里鼓励大家一下,课程里每周的内容,实际上一两天就能学完,所以不要被课程表吓倒。劳逸集合、提升效率。

学到这个地步,其实就可以再去http://neuralnetworksanddeeplearning.com/ ,查看第三到第六章的内容,来强化你的概念。如果你有什么还没搞懂的,请前往Olah的博客。

以及,这时候你要开始看深度学习的论文了,从中学习知识。深度学习有个强烈的特点,那就是内容都非常新,阅读论文是跟上时代唯一的方法。不想被抛下,那么还是养成阅读论文的好习惯吧。

Part 3:深度学习上手练(两个月)

学到这里,你应该对机器学习和深度学习中的大多数概念有了正确的理解,现在是时候投入沸腾的实际生活中了。

练手深度学习,最好的资源在fast.ai。

76edc462ce45590b45bf93360acda591c938f241

传送门在此:http://course.fast.ai/

他们在流行的深度学习工具PyTorch上构建了一个库,只需要几行代码,就能实现世界级的性能。

fast.ai的理念有点不同。吴恩达等老师的教授方法是自上而下,先讲再做。而fast.ai倡导自下而上,先做再讲。

所以在他们的课程中,第一节就带你建立一个强大的图像分类器。自己训练模型的快感,刺激着你去完成其余的课程。

fe83df30444f8d9e51a3a277390f032022686546

除此以外,还要推荐两门课。

斯坦福大学的CS231n和CS224n。CS231n专注于计算机视觉的深度学习,而CS224n专注于序列建模。

CS231n,李飞飞等主讲。

官网传送门:http://cs231n.stanford.edu/

CS224n,目前是Richard Socher主讲。

官网传送门:http://web.stanford.edu/class/cs224n/

此前的课程,网上也有中文字幕版本,大家可自行搜索。

到这里,为期五个月的机器/深度学习入门就结束了。

希望大家都能稳扎稳打,夯实基础。

以及最后,兑现一个开头的承诺。如果你确实时间很紧张,必须尽快入门机器/深度学习,那么请看——

速成指南

我最多只有俩月

d47e62d2b349aca45e42305ed6714efbe5ed61d9 完成吴恩达机器学习课程的前五周,要做编程练习。
d47e62d2b349aca45e42305ed6714efbe5ed61d9 看完3Blue1Brown的视频。
d47e62d2b349aca45e42305ed6714efbe5ed61d9 完成吴恩达的深度学习专项系列课程,做练习。
d47e62d2b349aca45e42305ed6714efbe5ed61d9 如果你想搞图像,看专项课程第四讲,搞NLP或序列数据,看第五讲。
d47e62d2b349aca45e42305ed6714efbe5ed61d9 搜索你感兴趣的开源实现。如果你还没想好用什么语言,推荐Keras。然后根据需要,再迁到TensorFlow或者PyTorch框架。

我,只有一个月

想要在30天完成入门超级困难。除非,你只是想了解机器学习的工作原理,然后应用到自己的项目中。

如果是这样的话,速成建议如下:

d47e62d2b349aca45e42305ed6714efbe5ed61d9 略读吴恩达机器学习课程第1-5周的课程,只看视频,掌握概念即可。第三周可以跳过MATLAB/Octave课程。
d47e62d2b349aca45e42305ed6714efbe5ed61d9 看完3Blue1Brow的视频。
d47e62d2b349aca45e42305ed6714efbe5ed61d9 略读吴恩达深度学习专项系列课程的第一课,也就是神经网络和深度学习。
d47e62d2b349aca45e42305ed6714efbe5ed61d9 如果你想做图像处理项目,看一下Nielsen书中的第六章:
d47e62d2b349aca45e42305ed6714efbe5ed61d9 http://neuralnetworksanddeeplearning.com/chap6.html
d47e62d2b349aca45e42305ed6714efbe5ed61d9 如果你需要序列建模的一些想法,可以看看Olah的博客:
d47e62d2b349aca45e42305ed6714efbe5ed61d9 http://colah.github.io/posts/2015-08-Understanding-LSTMs/
d47e62d2b349aca45e42305ed6714efbe5ed61d9 Siraj Raval拍了很多有趣的视频,涉及大多数机器/深度学习的主题。传送门在此:
d47e62d2b349aca45e42305ed6714efbe5ed61d9 https://www.youtube.com/channel/UCWN3xxRkmTPmbKwht9FuE5A
d47e62d2b349aca45e42305ed6714efbe5ed61d9 搜索跟你感兴趣的开源实现,随时调整以满足你的需求。如前所述,我推荐你先用带有TensorFlow后端的Keras语言。

其他资源

YouTube上有一个两分钟读论文的系列视频,可以帮你快速了解全球深度学习的最热门进展。

如果你关注进机器学习领域的进展,Twitter是个绝佳的工具。

遇到困境的时候,记得reddit和Facebook上有很多志同道合的人,不要犹豫,在社区里寻求帮助,大家会伸出援手。

结论

机器学习和深度学习是当今世界最具魅力的技术之一。而且这个领域的深度学习专家总是处于稀缺的状态。从职业前景来看,深度学习非常吸引人。

需要提醒的是,与计算机学科的其他领域不同,深度学习的资源还不够丰富。很多时候你会遇到失败挫折,千万不要灰心丧气,你可以向更多人寻求帮助,很多人都愿意伸出援手,大家都在学习。

关于机器/深度学习,有一个误解是需要计算机科学的背景才能学习。这不是真的,你确实需要一些编程的思维才好入手,但也仅限于此。现在机器学习领域的很多专家,都来自其他研究领域。

如果你有计算机科学的背景,这是一个非常好的开始。但如果你出身其他学科,想要迎头赶上并不难。

感谢看到这里。


原文发布时间为:2018-06-8

本文来自云栖社区合作伙伴“数据派THU”,了解相关信息可以关注“数据派THU”。

相关文章
|
5月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
5月前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
|
23天前
|
机器学习/深度学习 自然语言处理 监控
深度学习之视频摘要生成
基于深度学习的视频摘要生成是一种通过自动化方式从长视频中提取关键片段,生成简洁且有代表性的视频摘要的技术。其目的是在保留视频主要内容的基础上,大幅缩短视频的播放时长,方便用户快速理解视频的核心信息。
51 7
|
11天前
|
机器学习/深度学习 数据处理 数据库
基于Django的深度学习视频分类Web系统
基于Django的深度学习视频分类Web系统
36 4
基于Django的深度学习视频分类Web系统
|
23天前
|
机器学习/深度学习 运维 监控
深度学习之视频内容理解
基于深度学习的视频内容理解(Video Content Understanding, VCU)是一项关键技术,旨在通过神经网络模型自动分析、解读和提取视频中的语义信息。
53 10
|
20天前
|
机器学习/深度学习 监控 人机交互
深度学习之视频中的姿态跟踪
基于深度学习的视频姿态跟踪是一项用于从视频序列中持续检测和跟踪人体姿态的技术。它能够识别人体的2D或3D关键点,并在时间维度上进行跟踪,主要应用于人机交互、体育分析、动作识别和虚拟现实等领域。
37 3
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的奥秘:机器如何理解世界
【9月更文挑战第10天】在人工智能领域,深度学习如同璀璨星辰,引领技术潮流。作为机器学习的重要分支,它通过构建深层神经网络模拟人脑学习过程,自动提取特征并优化性能,从而实现对复杂问题的理解和处理。本文将探讨其基本原理、工作机制及如何应用于图像识别、自然语言处理和智能推荐等领域,并展望其未来发展与挑战。
|
1月前
|
机器学习/深度学习
深度学习的魔法:如何让机器像人一样思考
在这篇文章中,我们将探索深度学习的奥秘,这是一种让机器能够模仿人类思维方式的先进技术。我们将通过一个简单的例子——教机器识别猫的图片——来揭示深度学习的工作原理。你将看到,即使是这样一个简单的任务,也需要复杂的数学模型和大量的数据。但别担心,我们会用简单的语言来解释这一切。最后,我们将讨论深度学习如何改变我们的生活,以及它面临的挑战。让我们一起踏上这段神奇的旅程吧!
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【深度学习】python之人工智能应用篇——视频生成技术
视频生成技术是一种基于深度学习和机器学习的先进技术,它使得计算机能够根据给定的文本、图像、视频等单模态或多模态数据,自动生成符合描述的、高保真的视频内容。这种技术主要依赖于深度学习模型,如生成对抗网络(GAN)、自回归模型(Auto-regressive Model)、扩散模型(Diffusion Model)等。其中,GAN由两个神经网络组成:一个生成器用于生成逼真的图像或视频,另一个判别器用于判断生成的图像或视频是否真实。通过不断的对抗学习,生成器和判别器共同优化,以产生更高质量的视频。
68 2
|
2月前
|
机器学习/深度学习 监控 算法
基于深度学习网络的人员行为视频检测系统matlab仿真,带GUI界面
本仿真展示了基于GoogLeNet的人员行为检测系统在Matlab 2022a上的实现效果,无水印。GoogLeNet采用创新的Inception模块,高效地提取视频中人员行为特征并进行分类。核心程序循环读取视频帧,每十帧执行一次分类,最终输出最频繁的行为类别如“乐队”、“乒乓球”等。此技术适用于智能监控等多个领域。
61 4