【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程

8 月 8 日,——基于 Coursera 的系列深度学习课程,希望将人工智能时代的基础知识传播到更多人身边。一周过去后,许多人已经学完了目前开放的前三门课程。这些新课适合哪些人,它是否能和经典的《机器学习》课程相比呢?让我们先看看这篇先行体验。

在全职工作与家庭琐事之间,很多人都希望利用自己的剩余时间学习认知科学和人工智能的知识,如果突然出现了一套优秀的课程,那么一切就会变得简单起来。

吴恩达最近推出的 deeplearning.ai 课程就是这样的存在。

该课程一在 coursera 上发布,我立即注册并花了四个晚上观看其中的讲座、参加考试、完成编程作业并通过了课程。

深度学习从业者和机器学习工程师通常会把大量时间花费在 Keras 与 TensorFlow 这样的抽象工作中。但如果花上一点时间深入了解学习算法的本质,手动编写反向传播会是一种非常有意义的过程。这不仅有趣,而且能够让你学到很多!

Deeplearning.ai 包含的内容

作为深度学习先驱吴恩达的全新尝试,Deeplearning.ai 是一个自下而上教你神经网络原理的课程体系,同时浅显易懂,处于初级-中级难度。

这是经典的吴恩达风格,知识通过精挑细选的课程、长短合适的视频与精准设置的信息块共同呈现。吴恩达从他著名的《机器学习》课程遗漏的信息说起,由单一神经元(逻辑回归)的角度入手介绍神经网络,随后慢慢增加复杂性——加入更多的神经元和更多层。在四周课程结束时(第一门课程),学生就会学到构建复杂神经网络的所有核心知识,如损失函数、梯度下降和向量化并行 python(numpy)实现。

对于深度学习背后的数学和编程概念,吴恩达也会进行循序渐进的耐心讲解,保证学生可以对数学与代码保持兴趣。

课程资料与工具

【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程_第1张图片

视频讲解

演讲使用幻灯片演示,附以吴恩达本人的笔记。这看起来是一种能让人时刻集中精力的方法。我觉得将视频速度调至 1.25 倍或 1.5 倍速度是最好的。

【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程_第2张图片

测试工具

测试被安排在每个讲课视频之后,以选择题的形式出现。如果你完整地观看了视频,这些问题应该很容易回答。你也可以多做几遍题,系统会保留测试成绩最高分。

【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程_第3张图片

Jupyter notebook 编程作业

编程作业需要使用 Jupyter notebook 来做,这是一种强大的网页版应用。

作业具有非常好的引导顺序结构,你在每个空格中只需写两到三行代码。如果你了解向量化等概念,你也可以用一行的长度完成大多数编程题!

【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程_第4张图片

在作业做完后,你需要点击按钮提交自己的代码,自动打分系统会在几分钟后返回你的分数。一些作业会有时间限制——比如 8 小时只能提交三次。

Jupyter notebook 设计精良,没有任何 bug,它们就像抛光打磨好的完美工业产品。

课程适合人群

任何有兴趣了解神经网络是什么及其工作原理;以及想要构建神经网络工具,对将想法转变为现实的工具感兴趣的人都适合参与本课程。

【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程_第5张图片

数学不够好?不必担心,吴恩达解释了所有必要的微积分问题,并在每种情况下都会解释其中的衍生,这样你就可以专注于构建神经网络,把自己的想法通过代码实现了。

如果你编程不够好,课程中也有教你使用 numpy 的作业题。但我还是推荐你事先在 codecademy 中学习 python 的基础知识:https://www.codecademy.com/learn/learn-python。

该课程与 Jeremy Howard 的 Fast.ai 课程有何区别

让我用一个类比来解释:假设你在学开车。

Jeremy 的 FAST.AI 课程是从你坐在驾驶位开始教学。他教你转动方向盘、踩刹车和油门等等。然后他详细地解释汽车的工作原理:为什么转动方向盘可以使车子转向、为什么踩刹车可以减速和停车等。他让你不断深入了解汽车的内部工作原理,课程结束时,你了解了内燃机引擎的工作原理、油箱的设计原理等。该课程旨在教你学会开车。你可以选择在学会开车后在任意时间点停止学习,如果你觉得没必要学会如何造车或修车的话。

吴恩达的深度学习课程也讲授以上所有内容,但是顺序完全相反。他先教你内燃机引擎!然后不断增加抽象层,课程结束时,你的开车技术就像 F1 赛车手!

Fast AI 课程主要教你开车,而吴恩达的课程主要教你车背后的工程原理。

如何学习这门课程

如果你之前对机器学习没有了解,那么先别学这门课。最好先学习吴恩达之前发布在 coursera 上的机器学习课程(https://www.coursera.org/learn/machine-learning)。

完成那门课程后,再完成 Jeremy Howard 精彩的深度学习课程(http://course.fast.ai)的第一部分。Jeremy 从上而下地讲授深度学习,这对初学者是必要的。

如果你可以顺利构建深度神经网络,那么你就可以学习这门新的 deeplearning.ai 课程(https://www.deeplearning.ai )了。如果你对底层细节和概念有不理解的地方,这门课将解答你的疑惑。

我喜欢这门课的地方

  1. 事实明明白白摆出来——周期性地消除任何不确定和歧义。

  2. Andrew 强调深度学习的工程方面,提供大量节省时间和金钱的实用技巧。我作为工程团队中的主要工程师,学习该课程的第三门课使我受益匪浅。

  3. 专门术语处理的很好。Andrew 认为经验性过程就是试错的过程。他极其诚实地陈述设计和训练深度网络的现实。在某些时刻,我觉得他可能认为深度学习是美化过的曲线拟合(curve-fitting)。

  4. 摒弃一切对深度学习和人工智能的炒作。Andrew 对主流媒体大量关于 AI 的炒作给出了克制、认真的评论,课程结束时,你可以明确一点:深度学习不是终结者。

  5. 好的样板代码(boilerplate code)能够开箱即用!

  6. 卓越的课程结构。

  7. 一致、有用的符号。Andrew 试图构建一套神经网络新的命名法,我认为他做到了。

  8. Andrew 独有的讲课风格,延续了之前机器学习课程的风格。我可以感受到和 2013 年学习深度学习课程时一样的兴奋。

  9. 深度学习杰出人物专访令人耳目一新。听到这些前辈的个人故事非常鼓舞人心,也很有趣。

我认为这门课缺少什么

我希望 Andrew 更频繁地说「concretely」(具体来说)!

我从这门课中额外学到的内容

1. 深度学习并不简单。你需要花费大量时间、大量艰苦的工作才能「学会」概念,并使模型正常运转。Andrew 不久前写过一个 quora 答案(https://www.quora.com/How-should-you-start-a-career-in-Machine-Learning/answer/Andrew-Ng?srid=TS2A),使我产生了很强的共鸣。

2. 好的工具非常重要,将帮助你提高学习速度。看到 Andrew 讲课的时候使用了一支数码笔,我也买了一支,它帮助我更高效地工作。

【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程_第6张图片

黑色墨水是 Andrew 的笔迹,其他颜色是我的笔迹

3. 我推荐大家在学习这门课程之前先学习 Fast.ai 课程还有一个心理原因。那就是一旦你找到了激情,你就可以随心所欲地学习。

4. 你每次得满分时就会获得多巴胺的刺激。

5. 不要被深度学习术语(hyperparameters = settings, architecture/topology=style 等)或数学符号吓到。如果大胆尝试,认真听课,Andrew 会展示这些符号和记号为什么如此有用。它们将很快成为你的得意工具!

【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程_第7张图片

一些看起来很可怕的符号。当你开始看课程视频时,这些符号就会变的好理解了。

结语

1. 每个人都是作为初学者开始这一领域的学习或工作。如果你是深度学习领域的初学者,被这些术语和概念吓到是很自然的事。但是请不要放弃。你可能被这个领域吸引,找到自己的使命。相信自己的直觉,保持专注,你可以获得成功!即使吴恩达也得学习线性代数不是吗?他也不是生来就具备这些知识的。

2. 尽管这是非常好的资源,但它不是世界上唯一的深度学习课程。许多慷慨的教师,如 Salman Khan 、Jeremy Howard、Sebastian Thrun、Geoff Hinton,和吴恩达一样在网上免费分享他们的知识。我不是很幸运,为了找到工作养家糊口,我没有读博士学位,但这并不意味着我要停止学习。多亏了知识的民主化进程,我才有机会制定自己的学习计划,还能学习我最崇拜的人们的课程:编程(Gerald Sussman)、线性代数(Gilbert Strang)、AI(Marvin Minsky)、哲学(Daniel Dennett)、心理学(Jean Piaget)、物理学(Hans Bethe)。

3. 大部分应用深度学习真的是严谨的工程问题。吴恩达教授在第 3 门课程(目前 3 门课程中我最喜欢的一门)中提供了非常有趣的解释。利用深度学习解决问题所需的思想和解决任何复杂的工程问题所需的思想一样。你需要了解的一切早在几十年前 Claude Shannon 就已经清晰地写好了(https://medium.com/the-mission/a-genius-explains-how-to-be-creative-claude-shannons-long-lost-1952-speech-fbbcb2ebe07f)。

你可能感兴趣的:(deep,learning)