如何从零基础学最前沿的 Python 深度学习?

学深度学习,能“弯道超车”吗?

640?wx_fmt=png

困惑

深度学习的初学者,总会在学习路径上遇到困惑。

先是那群框架,就让你不知道该从哪儿着手。

640?wx_fmt=png

一堆书籍,也让你犹豫如何选择。

640?wx_fmt=jpeg

即便你去咨询专业人士,他们也总会轻飘飘地告诉你一句“先学好数学”。

怎样算是学好?

对方会给你罗列出一堆大学数学课程名称。直到你彻底放弃学习的想法。

640?wx_fmt=jpeg

真要是按照他们的要求,按部就班去学,没有个几年功夫,你连数学和编程基础都打不完。

可到那时候,许多“低垂的果实”还在吗?

其实,Sylvain Gugger (数学专业出身,自学深度学习,一年时间成为 fast.ai 的研究科学家)说了一段真话(链接在这里)。

640?wx_fmt=jpeg

把我常用的那个例子,再给你举一遍。

如果你想造汽车,恐怕要有多少年的理论功底,以及技术实践。

但如果你只是想开汽车,却是很快就能学会。

当个司机,你需要去了解汽油发动机原理吗?

不需要。

因为你开的车,甚至有可能根本就用不上汽油发动机(电动车)。

深度学习,底层实际结构很复杂。

640?wx_fmt=png

上图还只是模块示意图哦。

然而,作为应用者,你只需要一两行代码,就能实现上述神经网络。加上数据读取和模型训练,也不过十行左右的代码。

不信?

你可以参考我的《如何用 Python 和 fast.ai 做图像深度迁移学习?

感谢科技的进步,深度学习的用户接口,越来越像搭积木

640?wx_fmt=jpeg

只要你投入适当的学习成本,就总是能很快学会的。

这种成本,究竟要投入多少呢?

成本

Jeremy Howard 的答案,是 7 节课。

我在《如何用 Python 和深度迁移学习做文本分类?》一文中,给你介绍过他的研究论文“用于文本分类的通用语言模型微调(ULMFiT)”。

640?wx_fmt=jpeg

与其说他是研究人员,倒不如说他是个老师。

Jeremy 看到许多普通人,被深度学习的高门槛拦在外面,很不愉快。

于是他研发了基于 Pytorch 的 fast.ai 深度学习框架。

这个框架的特点是:几条语句,就能做出前沿水平(state of the art)的深度学习模型。

640?wx_fmt=jpeg

依据该框架,他还做了系列 MOOC ,现在在深度学习领域非常知名。

640?wx_fmt=jpeg

我给你写这一篇文章,是因为早上看见,Jeremy 发了一条消息,大家期待已久的2019版本 Practical Deep Learning for Coders 课程终于上线了。

640?wx_fmt=png

按照课程要求,每周上一节课,视频看下来,大约需要2个多小时。

外加每周10个小时左右的练习时间。

640?wx_fmt=jpeg

7周之后,你就算结课了。

学这课程,需要的基础是什么?

机器学习?不需要。

深度学习?更不需要。

编程经验?这个确实需要,大概一年左右。如果你用的编程语言,恰好是 Python ,那就最好了。学的是其他语言也不要紧。因为 Python 是可以很快掌握的,就如同我在《学 Python ,能提升你的竞争力吗?》一文中跟你说的那样。

对了,还有数学呢?

只需要高中数学(对应美国教学大纲,你懂的)知识,就够了。

教学过程中,对于高等数学,如果需要,视频里会即时补充。

以上是你需要花费的时间成本和前导条件。

经济成本呢?

课程的教学视频是免费的。

内容

这一版的 MOOC ,都包括哪些内容呢?

在这个页面, Jeremy 做了介绍。

640?wx_fmt=jpeg

课程主要包含以下模块:

  • 机器视觉(例如动物识别)

    • 图片分类

    • 图片分割

    • 图片关键点

  • 自然语言处理(例如影片评论情感分析)

    • 语言模型

    • 文档分类

  • 表格数据分析(例如销售预测)

    • 类别数据

    • 连续数据

  • 协同过滤(例如影片推荐)

下面,用几张截图,给你展示一下能学到什么。

这是对卷积神经网络工作原理的解释。

640?wx_fmt=png

这是图片分割的效果。

640?wx_fmt=png

你能学会如何对模糊图片进行增强。

640?wx_fmt=png

以及如何训练语言模型和下游分类任务。

640?wx_fmt=png

课程涵盖的知识点,包括但不限于以下内容:

640?wx_fmt=png

怎么样?足够有用,也足够前沿吧?

效果

你可能很关心,花了7周时间学完之后,效果会怎么样?

Jeremy 自己表示,课程里面有些前沿内容,还没有在学术期刊上发表。

如果你是学术圈人士,看了这句话,应该微微一笑——吹吧!怎么可能?傻吗?

但这个 Jeremy ,以前真这么干过。

前面提的他那篇 ULMfit 语言模型论文,你应该还有印象吧?

640?wx_fmt=jpeg

注意,Jeremy 不是像很多学者那样,先发表了论文,然后才把内容在课程中讲授的。

虽然是在旧金山大学教书,但是 Jeremy Howard 对于写论文的兴趣无限趋近于0.

他在上课的过程中,对于最新的机器学习研究旁征博引,带着一群初学者,游走在学科的边缘上。

直接在自己的课程中讲了 ULMfit 这种方法,鼓励学生去试。

640?wx_fmt=jpeg

他展示的语言模型迁移学习分类效果,许多已经超过目前最优水平。

他发现许多显而易见的东西,居然都没有人尝试过,更没有人发表过。

于是,授课之余,他经常跑到人家深度学习圈儿里面,扔一两个想法和实践效果进去,不过基本上没人搭理他。

原因很简单,学术界也是有路径依赖的。

让人家专家学者放着大路不走,试你这野路子?

好在,具有真有一位自然语言处理领域的活跃学者,来找他聊天儿。说对他提的这种新自然语言处理深度学习方法,很感兴趣。

他挺开心的,俩人就聊,越聊越投机。

然后,这个叫做 Sebastian Ruder 的人,就提出来“既然你这想法,学术圈别人没试过,咱们合写论文吧!”

640?wx_fmt=png

想起来了吧?我在知识星球里,曾经为你介绍过这家伙,以及他那份著名的 NLP 前沿进展汇总。

640?wx_fmt=jpeg

面对 Sebastian 伸过来的橄榄枝,Jeremy 如何表态呢?

他立即回答:

No!

我才不写那玩意儿!

Sebastian Ruder 于是使尽浑身解数,附加了以下条件:

  1. 你不需要给论文里面写一个字。只提供想法和代码就可以;

  2. 我帮你把它完整转换成为学术论文格式,用严谨的方式加以讨论;

  3. 咱们第一时间把论文放到预印本平台,并投稿自然语言处理领域的高水平会议,以便让更多人能免费阅读,并因此获得收益。

Jeremy 终于同意了。

这篇论文被 ACL 接收后,收获大量关注。

更有趣的是,当初无人问津的方法,人们真的严肃尝试后,获得的奖项一个接一个。

我在《如何用 Python 和深度迁移学习做文本分类?》一文中,给你讲到过,Czapla 等人,就利用这种方法,轻松赢得了波兰语信息检索比赛 PolEval'18 的第一名,他们的模型效果,领先第二名 35% 。

640?wx_fmt=jpeg

这时候,回过头来,再看 Jeremy 那句“课程里面有些前沿内容,还没有在学术期刊上发表”,你明白意味着什么了吧?

资源

笃定决心要学的话,我们来说说如何上这门免费 MOOC 吧。

如果你使用笔记本电脑,可以点击这个链接,直接访问课程的视频。

640?wx_fmt=jpeg

有意思的是,这一版课程,包含了新的视频播放器。最大的特点是,你可以用内置内容搜索的功能,直接定位到感兴趣的段落。这样,找起内容和知识点来,方便多了吧?

640?wx_fmt=jpeg

如果你用移动设备学习,这个播放器可能无法正常使用。没关系,你可以访问这个播放列表页面,直接看视频。

640?wx_fmt=jpeg

不仅如此,为了让你能够用上 GPU 来实践深度学习,课程还专门在配套网站上为你提供了详细的分步教程。

640?wx_fmt=jpeg

够贴心吧?

我个人比较推荐其中的 Google Colab 和 Google Cloud Platform。前者免费,后者虽然有开销(每小时需要 0.38 美元),但如果你是新用户,Google 会先送给你300美金 ,1年内有效。足够你学完这门课了。

640?wx_fmt=jpeg

我专门写了个步骤详细的教程,教你如何用 Google Cloud Platform 跑 fast.ai 课程的练习,你可以访问这个链接查看。

640?wx_fmt=jpeg

多嘱咐一句,课程的论坛,一定要经常查看。

640?wx_fmt=jpeg

上面各路高手经常就课程相关内容,有些甚至是非常前沿的技术进行切磋。你在一边观看,都可以获益良多。

如果你有问题,也不妨抛出来。论坛活跃度很高,“同学们”会很乐意帮助你的。

640?wx_fmt=jpeg

激励

不少人试图去了解 fast.ai 的商业模式,于是问 Jeremy 。

他直接告诉大家:我们的商业模式,是花自己的钱做事,帮人们学深度学习。连资助我们都不要。

640?wx_fmt=jpeg

顺便说一句,fast.ai 的 slogan 是这样的:

640?wx_fmt=jpeg

翻译过来就是,让神经网络变得不再酷。

在别人刻意制造信息与技术的鸿沟时,偏偏有人认为,人工智能应该能帮助更多人,而不是只让少数技术领先者和巨头获益。

说到这里,你可能会疑惑,这个 Jeremy Howard 怎么这么奇怪?

世人一直追逐的两件事,不就是名和利吗?

论文发表,就是,多少人每天想的,不就是论文、论文、论文吗?

人家都关心怎么知识变现,也就是,他为什么不拿资助,不赚钱,还搭上自己的钱来做这件事?

他这么兢兢业业,为了课程设计和 fast.ai 框架演进,真是做到了废寝忘食,殚精竭虑。

2018的 Cutting Edge Deep Learning for Coders 里,经常有这样的情况。晚上要上课, Jeremy 中午饭都没吃,一直在尝试最前沿的方法,以便能把最新的技能传授给学生。

看得出来,他很疲惫。但是课上他的笑容,是满足而真诚的。

为什么面对名利,Jeremy 如此拒绝呢?

给你半分钟,思考一下。

……

以下是答案公布时间。

不要名利,是因为他不缺那些东西。

在 Wikipedia 上面,有好几个 Jeremy Howard 。其中咱们提到的这位,页面是这样的:

640?wx_fmt=jpeg

他最为人知的身份,是企业家。

再看看这段早年经历:

640?wx_fmt=jpeg

19岁,别人才刚开始上大学的年纪,Jeremy 已经在麦肯锡年入20万美元了。

再看这段,更为传奇:

640?wx_fmt=jpeg

一个管理咨询界的人物,跑去 Kaggle 参赛,结果因为成绩太好,一年后就成了 Kaggle 的主席和首席科学家。

至于名声,你看看这段 2014年的 TED 演讲,就知道他到底有多知名。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

详细介绍在这里。感兴趣的话,你可以自己去看看,励志一下。

我们总以为,要用足够的激励,让人们做出最大的产出贡献。

但是,许多最有影响力的优质产出,恰恰是那些根本对外部激励无感的人做出的。

这是不是值得制度设计领域的研究者,以及大型组织机构的管理者们思考一下呢?

关于英语

没错,课程是英文的。

别抱怨了。

没用。

你在抱怨的时候,那些花时间学英语的人,已经悄悄跑到你前面去了。

学吧。

我给自己的研究生,写过一篇英语学习方法介绍文章,叫做《写给我即将入学的研究生(英语学习篇)》。你要是感兴趣的话,不妨读读。希望对你学英语有帮助。

祝深度学习愉快!


喜欢请点赞和打赏。还可以微信关注和置顶我的公众号“玉树芝兰”(nkwangshuyi)。

如果你对 Python 与数据科学感兴趣,不妨阅读我的系列教程索引贴《如何高效入门数据科学?》,里面还有更多的有趣问题及解法。

由于微信公众号外部链接的限制,文中的部分链接可能无法正确打开。如有需要,请点击文末的“阅读原文”按钮,访问可以正常显示外链的版本。

知识星球入口在这里:

640?wx_fmt=jpeg



发布了97 篇原创文章 · 获赞 272 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/nkwshuyi/article/details/86662891