保罗·洛克哈特(Paul Lockhart),哥伦比亚大学数学博士,前布朗大学教授,K-12数学教师,在颇具影响力的文章一个数学家的悲歌(A Mathematician’s Lament)中描绘了一个噩梦般的世界:孩子们不允许听音乐或演奏音乐,直到他们花费十多年时间掌握乐谱和乐理,并且在课堂上将乐谱转调。在美术课上,学生学习颜色和工具,但在大学之前不被允许真正绘画。听起来荒谬吗?这就是数学的教学方式——我们要求学生花费数年进行死记硬背,学习枯燥、脱节的“基础知识”,声称这些将来会有用,而此时大多数学生早已放弃了这门学科。
不幸的是,一些关于深度学习的少数资源正是从这里开始的——要求学习者跟随着Hessian矩阵的定义和损失函数泰勒近似的定理进行学习,却从未给出实际工作代码的例子。我并不是在否定微积分。我热爱微积分,甚至在大学层面教过它,但我不认为它是深度学习的一个良好或有帮助的入门。
很多学生因为数学枯燥的教学方式、繁琐重复的练习,以及将许多有趣的部分(如图论、计数与排列、群论)留到很晚的课程设置而对数学失去兴趣,以至于除了数学专业的学生,其他人都放弃了这门学科。而深度学习的“守门人”也在做类似的事情,每当他们在教你如何使用神经网络处理你自己的项目之前,要求你能够推导出多元链式法则或解释KL散度的理论基础。
我们将利用现有关于教学方法的最佳研究成果,尝试解决这些技术教学中的问题,包括:
- 教授 “全局视角”(the whole game)——首先展示如何使用一个完整、可工作、非常实用、最先进的深度学习网络,通过使用简单、富有表现力的工具来解决现实世界的问题。然后逐渐深入挖掘,理解这些工具是如何构建的,以及构建这些工具的工具又是如何构建的,等等……
- 始终通过示例进行教学:确保有一个你可以直观理解的背景和目的,而不是从代数符号操作开始
- 尽可能简化:我们花费了数月时间 构建工具和教学方法,使以前复杂的课题变得非常简单
- 移除障碍:深度学习直到现在一直是一个非常排他的游戏。我们正在打破这种局面,确保每个人都能参与其中
- ……还有很多。我在下面更详细地讨论了一些我们的教学方法。
最终,我们所谈论的是 良好的教育。这是我们最关心的事情。以下是我们关于良好教育的更多想法:
良好的教育始于 “全局视角”(the whole game)
正如孩子们在开始击球练习之前就对棒球有一个概念一样,我们希望你在学习微积分和链式法则之前就对深度学习的宏观概念有一个了解。我们将从宏观开始深入到细节(这与大多数教育方法相反,大多数教育试图在将所有元素组合起来之前先教授它们)。关于这一点如何运作的一个很好的例子,可以观看 Jeremy 关于循环神经网络的讲座——他首先使用一个功能丰富的库,仅用3行代码实现RNN,然后移除库,使用GPU框架构建自己的架构,最后移除框架,仅使用基础 Python 从头开始构建所有细节。
在一本 启发了我们的书 中,大卫·珀金斯(David Perkins),一位哈佛大学教育学教授,拥有麻省理工学院人工智能博士学位,将那种在教授所有独立元素之前不进行任何复杂操作的方法称为一种疾病:“元素症”(elementitis)。这就像不知道棒球这项运动是什么就进行击球练习一样。当你不知道各个元素如何与整体概念契合时,它们可能看起来枯燥或毫无意义。当你无法研究你关心的问题,或者不清楚技术细节如何融入整体时,很难保持动力。这也许解释了为什么研究表明,学童的内在动力从三年级到八年级(这是唯一被研究的年龄段)呈稳步下降趋势。
良好的教育让你能研究你关心的问题
无论你对通过叶子图片识别植物是否生病、自动生成编织图案、通过X光片诊断肺结核,还是判断浣熊何时使用了你的猫门感到兴奋,我们将尽快让你(通过使用他人提供的预训练模型)在自己的问题上使用深度学习,然后逐步深入了解更多细节。在第一堂课的前30分钟内,你将学会如何使用深度学习以最先进的准确率解决自己的问题!流传着一个有害的误解,认为你需要拥有像谷歌那样庞大的计算资源和数据集才能进行深度学习,但这并不是真的。
良好的教育并不过于复杂。
你看过Jeremy在Excel中实现现代深度学习优化方法吗?如果没看过,请去看看(视频中从4:50开始)再回来。这通常被认为是一个复杂的话题,但经过几周的工作,Jeremy找出了方法使其变得如此简单,以至于看起来显而易见。如果你真正理解了某件事,你就可以用易于理解的方式解释它,甚至可能在Excel中实现它!复杂的术语和晦涩的技术定义源于懒惰,或者说话者不确定自己所说内容的实质,而躲在边缘知识的背后。
良好的教育具有包容性。
它不会设置任何不必要的障碍。如果你不是12岁就开始编程、如果你有非传统的背景、如果你买不起Mac电脑、如果你正在研究非传统的问题,或者如果你没有上过名校,它都不会让你感到难受。我们希望我们的课程尽可能地易于获取。我非常关心包容性,并花了几个月的时间研究和撰写了我的每篇广受欢迎的文章,其中包含了关于我们如何 提供实用建议 来 增加科技行业的多元化,并且花了一年半的时间全职教授 女性全栈软件开发。目前,深度学习领域比整个科技行业 更加同质化,这对于这样一个强大且影响深远的领域来说是令人担忧的。 我们将改变这一点。
良好的教育激发对底层技术概念的学习动力。
拥有一个宏观的理解为你提供了一个更好的框架来放置基础知识。看到深度学习能够做什么以及如何使用它,是对那些更枯燥或繁琐的部分最好的激励。
“打棒球比击球练习更有趣,演奏乐曲比练习音阶更有趣,进行某种初级历史或数学探究比记忆日期或做算术更有趣,”珀金斯写道。为一个你感兴趣的问题构建一个可工作的模型比写一个证明更有趣(对大多数人来说!)
良好的教育鼓励你犯错。
在有史以来 观看次数最多的TED演讲 中,教育专家肯·罗宾逊爵士(Sir Ken Robinson)认为,我们的学校系统通过对错误贴标签,破坏了孩子们天生的创造力。罗宾逊说:“如果你不准备犯错,你就永远不会得到任何原创的东西。”
在 交互式Jupyter Notebooks 中采用侧重代码的方法教授深度学习,是尝试各种事物、犯错以及轻松修改操作内容的好方式。
良好的教育利用现有资源
在已存在良好教学材料的地方,没有必要重复发明。如果你需要温习矩阵乘法,我们会推荐你去可汗学院(Khan Academy)。如果你对X着迷并想深入了解,我们会推荐你阅读Y。我们的目标是帮助你实现深度学习目标,而不是成为唯一的资源。
良好的教育鼓励创造力
洛克哈特认为,与其以一种扭曲的形式来教授数学,使大多数人远离数学之美,不如根本不教。他将数学描述为“一次丰富而迷人的想象冒险”,并将其定义为“解释的艺术”,尽管它很少以这种方式被教授。
深度学习最大的成功将来自于当你将其应用于你是专家的外部领域以及你充满热情的问题时。这要求你有创造力。
良好的教育教你提问,而不仅仅是回答问题
即使是那些看似在传统教育方法下表现出色的人,也并未得到很好的服务。我接受了大部分传统教育方法(尽管我在各个阶段,尤其是在斯沃斯莫尔学院,遇到了一些非常出色的老师)。我在学校表现优异,考试成绩突出,并且总体上享受学习。我热爱数学,后来在杜克大学获得了数学博士学位。虽然我擅长做习题和考试,但这种传统方法在为我的博士研究和职业生涯做准备方面给了我很大的劣势。我不再被老师给予精心设计、范围适当的问题。我无法再在开始任务之前学习每一个递增的构建块。正如珀金斯写到他在寻找一个好的论文题目时的困境一样,我也学会了如何解决别人给我的问题,但不知道如何自己发现和确定有趣的问题的范围。我现在将我之前的学术成功视为我在职业上必须克服的一个弱点。当我开始学习深度学习时,我喜欢阅读数学定理和证明,但这并没有真正帮助我构建深度学习模型。
良好的教育是基于证据的
我们热爱数据和科学方法,我们对那些得到研究支持的技术感兴趣。
分布式重复学习(Spaced repetition learning)就是一种有证据支持的技术,学习者周期性地回顾某个主题,恰好在他们即将忘记之前。Jeremy利用这种技术在 自学中文 方面取得了令人印象深刻的成果。“全局视角”(The whole game)的学习方法与分布式重复学习很好地契合,因为我们将反复回顾主题,每次都深入到越来越底层的细节,但始终回到宏观层面。