查看原文
其他

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

王树义老师 玉树芝兰 2022-06-08

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

困惑

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

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

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

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

怎样算是学好?

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

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

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

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

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

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

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

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

不需要。

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

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

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

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

不信?

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

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

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

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

成本

Jeremy Howard 的答案,是 7 节课。

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

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

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

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

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

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

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

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

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

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

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

机器学习?不需要。

深度学习?更不需要。

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

对了,还有数学呢?

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

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

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

经济成本呢?

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

内容

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

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

课程主要包含以下模块:

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

    • 图片分类

    • 图片分割

    • 图片关键点

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

    • 语言模型

    • 文档分类

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

    • 类别数据

    • 连续数据

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

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

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

这是图片分割的效果。

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

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

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

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

效果

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

他立即回答:

No!

我才不写那玩意儿!

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

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

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

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

Jeremy 终于同意了。

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

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

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

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

资源

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

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

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

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

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

够贴心吧?

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

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

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

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

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

激励

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

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

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

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

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

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

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

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

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

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

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

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

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

给你半分钟,思考一下。

……

以下是答案公布时间。

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

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

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

再看看这段早年经历:

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

再看这段,更为传奇:

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

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


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

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

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

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

关于英语

没错,课程是英文的。

别抱怨了。

没用。

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

学吧。

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

祝深度学习愉快!


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

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

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

知识星球入口在这里:



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存