数学、代码、概念:深度学习的第三条道路

并非每个想进入深度学习的人都具有深厚的数学或编程背景。这篇文章详细阐述了一种概念驱动、基于抽象的方法来学习它的全部内容。

来源:RStudio AI博客

在他们出色的深度学习 MOOC 的上一版本中,我记得 fast.ai 的 Jeremy Howard 说过这样的话:

你要么是数学人,要么是代码人,并且 […]

你要么是数学人,要么是代码人,并且 […]

我可能对“要么”一词有误解,这不是关于“要么”与“两者”之间的区别。如果实际上你都不是上述任何一种人呢?

要么 要么 两者

如果你的背景既不是数学和统计学,也不是计算机科学:比如说人文学科,会怎么样?你可能没有那种凭天赋和/或多年训练或两者兼而有之而来的直观、快速、毫不费力的 LaTeX 公式理解能力 - 计算机代码也是如此。

理解总是要从某个地方开始,所以它必须从数学或代码(或两者)开始。此外,它总是迭代的,迭代通常会在数学和代码之间交替进行。但是,当你主要说自己是一个概念人时,你能做些什么呢?

概念人

当意义不能自动从公式中浮现时,寻找强调这些公式所涉及的概念的材料(博客文章、文章、书籍)会有所帮助。我所说的概念是指公式所代表的抽象、简洁、口头描述。

概念 口头

让我们尝试使概念更具体一些。至少有三个方面浮现在脑海中:有用的抽象、分块(将符号组合成有意义的块)和动作(该实体实际上做什么?)

概念 抽象 分块 动作

抽象

对学校里的许多人来说,数学毫无意义。微积分是关于制造罐头的:我们如何在节省罐头的同时将尽可能多的汤倒入罐头中。那么,不妨这样说:微积分是关于一件事物如何随着另一件事的变化而变化?突然间,你开始思考:在我的世界里,我可以将它应用于什么?

微积分的链式法则

作为一个更具体的例子,以优化器为例。以梯度下降为基线,简而言之,动量、RMSProp、Adam 有什么不同?