这门免费深度学习课,先跑模型再讲数学
Jeremy Howard 只要求一年编程经验:第一课在 Kaggle 上做鸟类分类器,九节课都不用自备 GPU。

要点速览
- Part 1 的 2022 版共九节课,每节约 90 分钟,完全免费。只需约一年编程经验,不要求大学水平的数学。
- 教学方法是自顶向下:先跑通一个完整网络,再逐步深入,每个概念都通过实例讲解。
- Part 2(超过 30 小时视频)教你从零实现 Stable Diffusion。等熟练掌握 Part 1 后再学。
Practical Deep Learning for Coders 的第一课不从导数或矩阵讲起,而是从一个 Kaggle notebook 开始,名为“Is it a bird? Creating a model from your own data”。你要用自己收集的数据,做出一个鸟类识别器。
这种顺序就是整门课的理念。对想成为前线部署工程师(FDE)的开发者来说,这也正是客户现场的工作方式:先让东西在真实数据上跑起来,再去解释和调优。
课程由谁开设,对学员有什么要求?
课程来自 fast.ai,由 Jeremy Howard 和 Rachel Thomas 联合创办。course.fast.ai 网站称课程免费,面向已有编程经验的人。目前列出的版本是 Practical Deep Learning for Coders 2022 的 part 1:共九节课,每节约 90 分钟,视频总长约 13.5 小时。
入门门槛低得出人意料。你需要会编程,课程网站称一年经验就够,不要求大学水平的数学。
也不用买 GPU。第 1 课的主 notebook 在 Kaggle 上运行,配套书籍的 notebook 可以直接在 Google Colab 中打开,无需配置环境。
为什么自顶向下的学法适合 FDE?
Jeremy Howard 写道,他先让学员使用一个完整、可运行、达到业界领先水平的深度学习网络,学员马上就能用上。之后他才逐步深入讲解网络的构造。课程网站同样直白地写明第二条原则:始终通过实例教学,而不是用代数符号。
设想一个场景。一家工厂想知道 AI 能否从照片中识别出次品。按自底向上方式训练出来的工程师,会先花几周复习理论,才敢碰数据。
学过 fast.ai 第 1 课的人则会认出熟悉的结构:两类图片,“次品”和“非次品”,替代了“鸟”和“不是鸟”。
因此第一个演示几天就能做出来,而不是几周。而且它跑在客户自己的照片上,不是示例数据集。
这就是为考试学 ML 和为部署学 ML 的区别。在原型阶段,一个在客户自己图片上运行的模型,通常比任何公式都更有说服力,而这门课训练的正是这种本能。
用实例教学,在展示结果时也有帮助。对运营经理来说,模型判对的五张图和判错的五张图,通常比任何损失曲线都更好理解。
按什么顺序学,才不会被压垮?
合理的路径分三步。第一步是 Part 1:按顺序学完九节课,并重跑每个 notebook。第二步是官方配套书《Deep Learning for Coders with Fastai and PyTorch: AI Applications Without a PhD》,作者是 Jeremy Howard 和 Sylvain Gugger,O’Reilly 于 2020 年出版。
书中的 notebook 是整门课的基础,作者在 GitHub 的 fastai/fastbook 仓库中免费公开。
这本书是一次大规模发布的一部分:2020 年 8 月 21 日,fast.ai 同时发布了 2020 版课程、fastai v2 库和一本 600 页的书。配合视频读书,你就有了一份可以随时查阅的文字版本,这是 90 分钟的视频难以提供的。
第三步,只有在真正扎实之后,才学 Part 2:“From Deep Learning Foundations to Stable Diffusion”。
它于 2023 年 4 月 4 日免费发布,视频超过 30 小时,教你从零实现 Stable Diffusion 算法。fast.ai 明确表示,要充分吃透 Part 2,你应当已经是一名相当自信的深度学习从业者。所以 Part 1 是不能跳过的台阶。
给上班族的建议安排:第一周只学第 1 课,在 notebook 里换上自己的数据。接下来三周学第 2 至 9 课,每周两到三节。再用两周在 Colab 上重读书中对应章节,最后两周做一个小项目。
如果目标是六个月内拿到 FDE 岗位,Part 1 加上这本书足以打好基础。Part 2 适合想深入理解生成模型的人,或者瞄准围绕图像模型做产品的公司的人。
让这门课白学的几个错误
最常见的错误是太早跳到 Part 2,因为 Stable Diffusion 听上去比鸟类分类更带劲。fast.ai 自己设定了前提:你应当对深度学习相当有把握。无视这一点,你只会照抄代码,却不明白它为什么能跑。
第二个错误是把 notebook 从头跑到尾就算学会了。第一个 notebook 的标题说得很清楚:用你自己的数据创建模型。如果你从没换上自己的数据,也没看过模型在哪里出错,那你只是看了一场演示,并没有做出原型。
客户数据很少像示例数据集那样干净。在学习阶段就练习如何收集、筛选和标注真实数据,是值得的投入。
第三个错误是只看视频、不读书。视频给你节奏;书中的 notebook 给你一个可以停下来、改一行代码、看看会发生什么的地方。
把课程变成简历上的证据
结业证书很难说明你在真实数据上做原型的能力。一个故事清楚的小项目则有说服力得多。当 FDE 的职位描述要求快速原型开发或处理客户数据时,这个项目就是直接的回答。
拿第 1 课的 notebook,把鸟换成一个贴近真实业务的问题,例如对发票照片分类,或者判断农产品照片是否符合分级标准。
在简历上写一行:数据由你自己收集,模型由你搭建,并分析了模型出错的案例。这一行说明你在真实数据上走完了一个完整的原型闭环,从原始图片到一个能运行、而且你清楚其失败原因的模型。
这门课的理论并不比大学教材更强。它的价值在于培养部署工作最需要的习惯:东西没跑起来之前,不谈理论。
这篇文章对你有帮助吗?
感谢你的反馈!